GC26 3717 10_1130_Disk_Monitor_System_Version_2_Programmers_and_Operators_Guide_Jun74 10 1130 Disk Monitor System Version 2 Programmers And Operators Guide Jun74
GC26-3717-10_1130_Disk_Monitor_System_Version_2_Programmers_and_Operators_Guide_Jun74 GC26-3717-10_1130_Disk_Monitor_System_Version_2_Programmers_and_Operators_Guide_Jun74
User Manual: GC26-3717-10_1130_Disk_Monitor_System_Version_2_Programmers_and_Operators_Guide_Jun74
Open the PDF directly: View PDF .
Page Count: 518
Download | |
Open PDF In Browser | View PDF |
File No. 1130-36 Order No. GC26-3717-10 Systems Reference Library IBM 1130 Disk Monitor System, Version 2, Programmer's and Operator's Guide Program Numbers: 1130-0S-005 1130-0S-006 Eleventh Edition (June 1974) This is a reprint of GC26-3717-9 incorporating changes released in Technical Newsletter GN34-0183 dated February 1974. This edition applies to version 2, modification 12, of the IBM 1130 Disk Monitor Programming System; to version 1, modification 5, of the IBM 1130 Remote Job Entry Work Station Program, and to all subsequent versions and modifications until otherwise indicated in new editions or Technical Newsletters. Changes are periodically made to the information herein. Before using this publication in connection with the operation of IBM systems, consult the latest SRL Newsletter, GN20-1130, for the editions that are applicable and current. Text for this manual has been prepared with the IBM Selectric ® Composer. Some illustrations in this manual have a code number in the lower corner. This is a publishing control number and is not related to the subject matter. Requests for copies of IBM public'ations 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, send your comments to IBM Corporation, Systems Publications, Department 27T, P. O. Box 1328, Boca Raton, Florida 33432. ©Copyright International Business Machines Corporation 1966, 1968,1969,1970,1971,1972 ii Preface This publication contains reference information for controlling and operating the 1130 Disk Monitor System, Version 2. The publication assumes you are familiar with the programming language needed to do your jobs. Chapter 1 of this publication describes how you use this book. The rest of the chapters: • Describe the disk monitor system (DM2) programs and disk areas • Describe the control records for controlling the functions of the disk monitor system • Provide tips and techniques for more efficient use of DM2 • Provide sample operating procedures for loading, reloading, and using DM2 • Describe the 1130 RJE Work Station Program The minimum system configuration required to operate the IBM 1130 Disk Monitor System, Version 2, Program Number 1130-0S-00S (card input/output) is: • An IBM 1131 Central Processing Unit, Model 2A or 4A (with an internal single disk storage drive and 4096 words of core storage) • An IBM 1442 Card Read Punch, Model 6 or 7, or an IBM 2S01 Card Reader, in combination with an IBM 1442 Card Punch, Model S or • An IBM 1131 Central Processing Unit, Modell B (with 8192 words of core storage) • An IBM 1133 Multiplex Control Enclosure • An IBM 2311 Disk Storage Drive, Model 12 • An IBM 1442 Card Read Punch, Model 6 or 7, or an IBM 2S01 Card Reader, in combination with an IBM 1442 Card Punch, Model S The minimum system configuration required to operate the IBM 1130 Disk Monitor System, Version 2, Program Number 1130-0S-006 (paper tape input/output) is: • An IBM 1131 Central Processing Unit, Model 2A (with an internal single disk storage drive and 4096 words of core storage) • An IBM 1134 Paper Tape Reader • An IBM lOSS Paper Tape Punch The following publications provide further information about the 1130 computing system: IBM 1130 Functional Characteristics, GA26-S881 IBM 1130 Operating Procedures, GA26-S717 IBM 1130/1800Assembler Language, GC26-3778 IBM 1130/1800 Basic FORTRAN IV Language, GC26-371S IBM 1130 RPG Language, GC21-S002 IBM 1130 Subroutine Library, GC26-S929 IBM 1130 MTCA IOCS Subroutines, GC33-3002 IBM 1130 Synchronous Communications Adapter Subroutines, GC26-3706 IBM 1130/1800 Plotter Subroutines, GC26-37SS IBM System/360 Operating System and 1130 Disk Monitor System: System/360 1130 Data Transmission for FORTRAN, GC27-6937 IBM System/360 Operating System and 1130 Disk Monitor System: User's Guide for Job Control from anlBM 2250 Display Unit Attached to an IBM 1130 System, GC27-6938 IBM System/360 Operating System: Remote Job Entry, GC30-2006 Publications that provide information about IBM 1130 COBOL, a program product, are: IBM 1130 COBOL General Information Manual, GH20-0799 IBM 1130 COBOL Language Specifications Manual, SH20-0816 Preface iii Summary of Amendments . vii Chapter 1. How to Use This Publication 1-1 Chapter 2. Disk Organization . System Cartridge . . Cylinder 0 on a System Cartridge IBM System Area on a System Cartridge Fixed Area . User Area and Working Storage " Nonsystem Cartridge ... Cylinder 0 on a Nonsystem Cartridge . IBM System Area on a Nonsystem Cartridge Summary of the Contents of Disk Cartridges 2-1 2-4 2-4 2-6 2-9 2-9 2-12 2-12 2-13 2-14 Chapter 3. Monitor System Programs 3-1 Supervisor Resident Monitor. . . Disk-resident Supervisor Programs Disk Utility Program General Functions of DUP Assembler . . . . FORTRAN Compiler . RPG Compiler . Core Load Builder . . Construction of a Core Load Core Image Loader . 3-2 3-2 3-3 3-4 3-4 3-5 3-6 3-6 3-7 3-7 3-13 Chapter 4. Monitor System Library 4-1 System Library ISS Subroutines . System Library Utility Subroutines System Library Mainline Programs IDENT DISC. DSLET ID COpy ADRWS DLCIB MODIF MODSF DFCNV PTUTL 4-2 4-4 4-5 4-5 4-6 4-7 4-7 4-7 4-8 4-8 4-8 4-14.1 4-20 4-25 Chapter 5. Control Records Monitor Control Records II JOB II ASM . II FOR . II RPG II COBOL II DUP II XEQ . II * (Comments) II PAUS . II TYP II TEND. II EJECT II CPRNT II CEND . 5-1 5-1 5-2 5-5 5-6 5-6 5-6 5-6 5-7 5-9 5-10 5-10 5-10 5-11 5-11 5-11 Supervisor Control Records *LOCAL. *NOCAL *FILES *G2250 . *EQUAT DUP Control Records Altering LET and FLET ·Information Transfer and Format Conversion Restrictions Caused by Temporary Mode "'DUMP. "'DUMPDATA "'DUMPDATAE "'DUMPLET. "'DUMPFLET "'STORE. "'STOREDATA . "'STOREDATAE "'STOREDATACI "'STORECI "'STOREMOD "'DELETE "'DEFINE "'DWADR "'DFILE . "'MACRO UPDATE Assembler Control Records "'TWO PASS MODE "'LIST "'XREF "'LIST DECK "'LIST DECK E . "'PRINT SYMBOL TABLE "'PUNCH SYMBOL TABLE "'SAVE SYMBOL TABLE. "'SYSTEM SYMBOL TABLE "'LEVEL. "'OVERFLOW SECTORS . "'COMMON. "'MACLIB FORTRAN Control Records "'IOCS "'LIST SOURCE PROGRAM "'LIST SUBPROGRAM NAMES . "'LIST SYMBOL TABLE "'LIST ALL. "'EXTENDED PRECISION "'ONE WORD INTEGERS "'NAME. ** (Header Information) '" ARITHMETIC TRACE "'TRANSFER TRACE . "'ORIGIN RPG Control Card . End-of-File Control Card . 5-12 5-13 5-14 5-15 5-16 5-17 5-18 5-20 5-20 5-22 5-22 5-24 5-26 5-28 5-29 5-30 5-33 5-34 5-37 5-38 5-42 5-44 5-45 5-47 5-48 5-49 5-50 5-52 5-53 5-56 5-57 5-59 5-59 5-59 5-60 5-60 5-6.1 5-61 5-63 5-63 5-64 5-65 5-66 5-66 5-67 5-67 5-68 5-68 5-69 5-69 5-70 5-70 5-71 5-74 5-74 iv Chapter 6. Programming Tips and Techniques 6-1 Tips on Monitor Control and Usage , Stacked 10b Input Arrangement , How to Use Temporary Job Mode Using the Disk I/O. Subroutines Restoring Destroyed Cartridges , , , . . How to Avoid o.verprinting When Using // CPRNT How to Avoid o.verprinting When Linking Between Programs , Usage of the EJECT Monitor Control Record , Duplicate' Program and Data File Names , . Disadvantages of Storing a Program in DCI Format Size Discrepancies in Stored Programs Dumping and Restoring Data Files Use of Defined Files Mainline Programs that Use All of Core The Use of Lo.CALs Lo.CAL-CalIs-a-LOCAL Lo.CAL and No.CAL Control Record Usage The Use of NOCALs The Use of So.CALs Reading a Core Map and a File Map Locating Fo.RTRAN Allocation Addresses Reading the Transfer Vector SYSUP Data File Processing Fo.RTRAN Disk File o.rganization and Processing. Assembler and RPG Disk File o.rganization and Processing , Calculating Sequentially o.rganized and ISAM File Sizes Contents of an ISAM File . Deleting Duplicate Records Caused by a Disk Error During an ISAM Add o.peration Tips for Assembler Language Programmers . Grouping of Assembler Mnemonics , Assembler Program Use of Index Register 3 Double Buffering in Assembler Programs Assembler Program Use of 1403 Conversion Subroutines Writing ISSs and ILSs . Assembler INT REQ Service Subroutine Tips for Fo.R TRAN Programmers Tips for Use of the EQUAT Control Record Invalid Characters in Fo.RTRAN Source Cards . Fo.RTRAN o.bject Program Paper Tape Data Record Format, Keyboard Input of Data Records During Fo.RTRAN Program Execution Fo.RTRAN Program Control of the Console Printer Length of Fo.RTRAN DATA Statement / / Records Read During Fo.RTRAN Program Execution . Fo.RTRAN I/O. Errors, Dumping Fo.RTRAN DSF Programs to Cards RPG o.bject Program Considerations . 6-1 6-1 6-4 6-4 6-5 6-5 Chapter 7. Operating the 1130 Disk Monitor System Readying the Readying the Readying the Readying the Readying the Readying the Readying the Readying the Readying'the Readying the Readying the 1131 Central Processing Unit 2310 Disk Storage Drive 2311 Disk Storage Drive 1132 Printer. 1403 Printer, 1442 Model 6 and 7 Card Read Punch 1442.Mode15 Card Punch, 2501 Card Reader , 1134 Paper Tape Reader 1055 Paper Tape Punch 1627 Plotter. 6-5 6-5 6-6 6-7 6-7 6-8 6-9 6-9 6-9 6-10 6-10 6-11 6-13 6-13 6-18 6-19 6-20 6-23 6-23 6-27 6-29 6-31 Readying the 1231 o.ptical Mark Page Reader Cold Start Procedure Card System Cold Start Procedure Paper Tape System Cold Start Procedure Using the 1130 with the Monitor System Entering Jobs from the Card Reader. Entering Jobs from the Paper Tape Reader Entering Jobs from the Console Keyboard Functions of Console o.perator Keys During Monitor System Control Displaying or Altering the Contents of a Selected Core -Location Manual Dump of Core Storage 7-8 7-9 7-10 7-10 7~11 7-11 7-11 7-11 7-12 7-13 7-13 Chapter 8. Monitor System Initial Load and System Reload 8-1 IBM-Supplied System Loader Control Records SCo.N and TERM Control Records Phase Identification (PHID) Control Records Type 81 Control Record System Loader Control Records that you Punch Load Mode Control Record System Configuration Control Records Co.RE Control Record. Preparation of Load Mode and System Configuration Control Tapes . Card System Initial Load o.perating Procedure Card System Reload o.perating Procedure Card System Preload o.perating Procedure Paper Tape System Initial Load o.perating Procedure Paper Tape System Reload o.perating Procedure 8-2 8-2 8-3 8-7 8-7 8-8 8-9 8-10 8-10 8-15 8-19 8-25 8-28 8-33 9-1 Chapter 9. Stand-alone Utility Programs 6-34 6-35 6-35 6-35 6-35 6-37 6-37 6-45 6-48 6-48 6-49 6-49 6-50 6-50 6-51 6-51 6-51 6-52 6-52 7-1 7-2 7-3 7-3 7-4 7-4 7-4 7-5 7-5 7-5 7-6 7-7 Console Printer Core Dump Printer Core Dump Program Disk Cartridge Initialization Program (DCIP) Disk Initialization Subroutine Disk Copy Subroutine . Disk Dump Subroutine Disk Patch Subroutine . Disk Analysis Subroutine Disk Compare Subroutine ;. DCIP o.perating Procedures Paper Tape Reproducing Program. Stand-alone Paper Tape Utility Program (PTUTL) 9-1 9-4 9-8 9-8 9-8 9-9 9-9 9-9 9-9 9-9 9-42 9-46 Chapter 10. Remote Job Entry Program 10-1 Machine and Device Requirements Communication Considerations Communication Considerations for Switched Lines Input at the Work Station . Generation of the 1130 RJE Work Station Program JECL for the 1130 Work Station End-of-File Indicators . o.utput to the Work Station Discontinuing and Continuing o.utput User-Exit Subroutine o.perating Procedures Work Station Startup The Null Command Console Keyboard Procedures Error Recovery Procedures Restart Procedures . Messages Sent to Work Stations RJE Program Console Entry Switches Error Statistics 10-1 10-1 10-2 10-2 10-3 10-5 10-6 10-6 10-7 10-8 10-9 10-9 10-10 10-10 10-11 10-11 10-12 10-12 10-12 Contents v Appendix A. Monitor Syst9m Operational and Error Messages; Assembler Error Codes and Messages. FORTRAN Messages and Error Codes DUP and MUP Messages and Error Messages. System Loader Messages and Error Messages Satellite Graphic Job Processor Error Messages RJE Messages and Error Messages . Supervisor Messages and Error Messages . RPG Compiler Messages and Error Notes Core Load Builder Messages Auxiliary Supervisor Error Messages . Monitor System Library Mainline Programs Messages and Error Me:ssages . IDENT Messages DISC Messages and Error Messages ID Messages and Error Messages . COPY Messages and Error Messages DLCIB Messages and Error Messages MODIF Messages and Error Messages MODSF Messages and Error Messages DFCNV Messages and Error Messages Appendix F. Core Dump . F-I Appendix G. Resident Monitor (Including Table of Equivalences) . G-I A-2<1 Appendix H. Monitor System Sample Programs II-I A-26 A-27 A-35 A-3H 1. FORTRAN Sample Program FOR fRAN Sample Program Run on 4K FORTRAN Sample Program Run on 8K 2. Assembler Sample Program 3. RPG Sampie Program . 4. Using FORTRAN Unformatted I/O 5. Processing on One Disk Drive a File that Extends over Two Cartridges. 6. Processing on Two Disk Drives a File that Ex tends over Two Cartridges. 7. Calculating ISAM File Parameters. B-1 B-2 A-L A-l A-7 A-I j A-5'~ A-Sa A-59 A-59 A-59 A-60 A-60 A-6L A-6t A-6S A-67 Appendix B. Monitor System Error Wait Codes B-l Cold Start Program Error Waits ISS Subroutine Preoperative Error Waits. I/O Device Subreutine Errors . 1442 Card Subroutine Errors . 2501 Card Subroutine Errors. Console Printer Subroutine Errors Paper Tape Subroutine Errors Card Core Image Loader Wait Code . . Paper Tape Utility Program (PTUTL) Error Wait Codes FORTRAN I/O Wait Codes RPG Object Program Wait Codes . B-L B-'" B-5 B-S B-B B-B B-9 B-9 B-9 B-I0 B-12 Appendix I. Formats Disk Formats Card Formats Paper Tape Formats Print Formats Data Formats 11-5 11-7 H-9 H-12 B-13 H-16 I1-17 I-I 1-2 1-6 1-11 1-13 I-IS Appendix J. Field Type Examples for DFCNV . J-l I-Field Type . J-Field Type . R-Field Type B-Field Type C-Field Type D-Field Type E-Field Type F -Field Type X-Field Type 1-1 1-2 1-2 1-4 J-4 Appendix K. Decimal and Hexadecimal Disk Addresses K-l J-5 J-6 J-6 J-7 Appendix C. Monitor System Library Listing C- Appendix D. LET/FLET D-t Appendix L. Disk Storage Unit Conversion Factors L-J LET/FLET Disk Format LET/FLET Dump Format D-l D_'l Appendix M. Character Code Set M-I Appendix E. System Location Equivalence Table ISLET) . E-J. Glossary-Index X-I vi . Summary of Amendments GC26-3717-9 UPDATED BY VERSION 2 MODIFICATION 11 2311 Disk Storage Drive New Hardware Feature. The 2311 Disk Storage Drive is a new feature that adds a larger online storage capacity and quicker online storage retrieval. DCIP Function New Programming Feature. The' DCIP initialize and copy functions now have a wait for verifying that the console entry switches you turn on for the physical drive number and cartridge ID are correct before initialization and copying begins. FORTRAN Messages New Programming Feature. Messages describing errors in FORTRAN statements now indicate which statement is in error. Summary of Amendments vii viii Chapter 1. How to Use This Publication Chapters 2, 3, and 4 include information for the systems planner who is interested in the contents and organization of disks, core storage, and the functions of the programs and storage areas that comprise the IBM 1130 Disk Monitor System, Version 2. The information in these chapters assists you in planning the contents of your disks, as well as maintaining them. The disk maintenance programs are described in Chapter 4. Chapters 5 and 6 contain information that is frequently referenced by programmers. Chapter 5 contains descriptions of all control records that control the functions of the disk monitor system (DM2). Use the programming tips and techniques in Chapter 6 for more efficient use of DM2. Chapters 7, 8, and 9 include operating information for using the disk monitor system. Chapter 7 contains procedures for readying the devices that are a part of your computing system, for performing a cold start of the monitor system, for entering jobs and for displaying, altering, and dumping core storage. Sample procedures for loading and reloading the system are shown in Chapter 8. You may use these operating procedures as they are presented, or modify them to meet the needs of your computing system. Chapter 9 describes stand-alone utility programs. These programs provide for dumping core storage to a print device, for initializing, copying, patching, analyzing, dumping and comparing disks, and for punching paper tapes. Operating procedures for using the utility programs are listed. The functions of the flowchart blocks that are used in the sample procedures in Chapters 7,8, and 9 are: The steps of the procedure that you perform. Each block contains a heading that describes the purpose of the block. ,..---------, A system action that occurs I I I during a procedure. I I _____.___ JI L· References procedures that are described elsewhere in this publication. How to Use 'This Publication 1-1 Chapter 10 describes the 1130 RJE Work Station Program. When errors occur during monitor system processing, refer to Appendix A for error messages and codes, and to Appendix B for wait codes displayed on the console display panel. The remaining appendixes contain information that you will need to reference at various times, such as, the names of the programs and subroutines in the system library and listings of LET, FLET, SLET, the resident monitor, and sample programs. The terms disk, disk cartridge, and cartridge are used in this publication to refer to the single disk in an IBM 2315 Disk Cartridge or to anyone of the 3 or 5 usable disks in an IBM 1316 Disk Pack, Model 12 or 11, respectively. Each usable disk in a 1316 Disk Pack is treated by DM2 as one 2315 disk, thus: A disk in an IBM 1316 Disk Pack is the same as one IBM 2315 Disk Cartridge. Each disk in the 1131 CPU and 2310 Disk Storage or 2311 Disk Storage Drive is assigned a physical drive number when the devices of an 1130 computing system are installed. Physical drive numbers are assigned in this order: i Disk locations r-----.r------1131 CPU Physical drive num,be jlflW!F"4ml"*'_WM*~r ~I!m ~ ~li~%:@;7:I_.i.1.t * o 5 First 2310, first disk 10 _______ .. '~.~. :; .' ~ ~ First 2311, first disk First 2311, second disk First 2311, third disk* First 2311, fourth disk· First 2311, fifth disk Second 2311, first disk Second 2311, second clisk Second 2311, third disk * Second 2311, fourth disk* Second 2311, fifth disl< First 2310, second disk Second 2310, first disk Second 2310, second disk I I ~ul= 9* ",'. I nternal disk 1! 2 I'. 3* 4* 2310 Disk Storage or 2311 Disk Storage Drivl~ "' /-~'_.~ '¥"'w.< ,q.r@I[ff"~Tl:MI.I.W',~mW?.....:: *Fourth disk ---lIi-liiIo.....:' Fifth disk - - -......~ *The third and fourth disks are not used if the 2311 Disk Storage Drive is a Model 12. Disk Organization 2-1 The storage area of all disks used by DM2 is arranged into circular patterns called tracks. Two tracks one above the other constitute a cylinder. A disk contains 203 concentric cylinders; 200 of these are available to the monitor system. The 3 remaining are reserved for use if defective cylinders are detected. The following illustrates the innermost and the outermost cylinders on a disk. Innermost cvlinder Upper surfClce track 203 two-track Lower surf,ilce track ( Outermost cylinder / ' Upper surface track I Lower surface track' ( Note. The thickness of the disk has been greatly exaggerated in order to sholN the relative positions of the upper and lower surface tracks. To complete the picture, the 201 intermediate cylinders, or pairs of tracks, should be visualized; they are omitted for the sake of clarity of the diagram. For convenience in transferring data between core storage and disk storage, each track is divided into 4 equal segments. These segments are called sectors. Thus, each cylinder consists of eight sectors. Sectors 0 through 3 divide the upper surface track and 4 through 7 dfvide the lower. The following illustrates how sectors are numbered. Sectors 0 through 3 (upper surface tracks) Sectors 4 through 7 (lower surface tracks)- 2-2 A sector contains 321 data words. The first data word is used for the sector address. This address is the number of that sector, r0unted in sequence from sector 0 on cylinder o. Another unit of storage within a sector is the disk block. Each sector is divided into 16 disk blocks, each 20 words long. A disk storage word contains 16 data bits. The organizational components of disk storage are shown by the following chart. 8~ Bits Data words Disk blocks Sectors Tracks Word Disk block Sector 16 320 5,112 20 320 16 1 Track Cylinder Disk 20,480 40,960 8,192,000 1,280 2,560 512,000 64 128 25,600 4 8 1,600 2 400 '- -200 Cv Ii nders 1 These follow the first actual word of each sector, which is used for the address. Before continuing with the descriptions of the contents of disk cartridges used by the monitor system, several terms must be defined. • System cartridge. An initialized cartridge that contains the IBM 1130 Disk Monitor System. If your 1130 has only one disk (the internal disk in the 1131 CPU), all cartridges must be system cartridges. • Nonsystem cartridge. An initialized cartridge that does not contain the monitor system. • Master cartridge. A system cartridge that is designated as logical drive 0 by the cold start program, or by a monitor / / JOB control record. This cartridge continues in use until another cold start, another / / JOB control record, or a CALL instruction to SYSUP switches control to a different system cartridge. The disk on an 1130 with only one disk drive (the internal disk in the 1131 CPU) is both a system and a master cartridge. • Note: If your system has only one disk drive (the internal disk in the 1131 CPU, or one 23 U), you should cold start after changing cartridges, or packs, to avoid possible errors in the location of disk areas on system cartridges. • Satellite cartridge. On an 1130 with more than one disk drive, this is any cartridge that is not the master cartridge. This cartridge can be either a system or a nonsystem cartridge. The organization of programs and areas on system and nonsystem cartridges is described and illustrated in the following text. Disk Organization 2-3 SYSTEM CARTRIDGE A system cartridge is divided into 5 logical areas as illustrated by the following: Fixed area Cyl 0 ", C FB4 LJ.. .L.LL!.... .!.mM:.:.:.,. .!.w.!... .,Ll. .L.L·:· I ~ User Working area storage r'x"·:r. :· . ·w.~ system area Each area is described in the following text. The last section of this chapter, "Summary of the Contents of Disk Cartridges," contains a chart that indicates when these areas are present, or can be removed, on system cartridges. Cylinder 0 on a System Cartridge The contents of cylinder 0 on a system cartridge are defined during disk initialization and system load. The contents of cylinder 0 are as follows: CylO CJ I I I I Sector 2-4 10 and cold start prog. o Sector -- --- --- -- 0 2 3,4,5 DCOr,,,1 Resident image 2 SLET Reload table Page heading 3,4,5 6 7 6 7 Label @IDAD @DCOM @RIAD @SLET @RTBL @HDNG The following is a discussion of each sector. sector @I DAD Sector @IDAD on a system cartridge consists of: • The defective cylinder table • The cartridge ID • The cartridge copy code • The disk type • A reserved area • The DISKZ system device subroutine • The cold start program The contents of sector @IDAD on a system cartridge are shown in the following illustration. ( DC YL defective cylinder table r- (cartridge I D) CION COpy (copy code) Reserved (disk'type) DTYP Reserved Words: 0 1 2 3 4 5 6 7 DISKZ (this copy of DISKZ is used only during the cold start procedure.) 29 30 Cold start program 269 270 319 The defective cylinder table (DCYL) contains the addresses of the first sector of any cylinders that are not capable of accurately storing data. This table is defined during disk initialization. If no defective cylinders are found, each of the 3 words of DCYL contains /0658 (hexadecimal). A cartridge with a maximum of 3 defective cylinders can be used by the monitor system. The cartridge ID (CIDN) is a hexadecimal number in the range /0001 through /7FFF that uniquely identifies the cartridge. The ID is placed on a cartridge when the cartridge is initialized. The cartridge copy code (COPY) identifies the copy number of a cartridge that has been copied from another cartridge. When a disk is initialized, this word is zero. Each time the disk is copied, word 5 of the cartridge being copied to is incremented by one; that is, the copy code of the receiving disk is one greater than the copy code of the source cartridge. The reserved areas of sector @IDAD are for possible future expansion. The disk type (DTYP) is a code that indicates whether or not the disk is a system cartridge. The appropriate code is placed in DTYP when the cartridge is initialized by DCIP or DISC and when the monitor system is loaded onto the disk. The DISKZ subroutine is stored in sector @IDAD and in the system'device subroutine area in the IBM system area (see "IBM System Area on a System Cartridge" in this chapter) when the monitor system is loaded on the disk. The cold start program uses DISKZ stored in sector @IDAD. All other times that DISKZ is called, the copy stored in the system device subroutine area is used. The cold start program is placed in sector @IDAD when the monitor system is loaded onto the disk. Disk Organization 2-5 sector @DCOM Sector 1 contains the disk communications area (@DCOM). This area contains parameters that are passed from one monitor program to another. These parameters contain infonnation such as: • The number of LOCALs associated with the program in working storage • The temporary job indicator switch • The cartridge IDs for cartridges on the system • The format of programs in working storage for all cartridges on the system • The block count of the programs in working storage for all cartridges on the systc,m These parameters are list'ed in Appendix G. They are set and reset during the proces!:ing of JOB monitor control records or during the DCOM update operation called SYSUP. The parameters obtained from nonsystem disks are merged into DCOM on the master cartridge during one of the previous operations. The parameter table entries for the nonsystem disks are cleared to zero. sector @RIAD Sector 2 contains the resident image (@RIAD). The resident image is a copy of the skeleton'supervisor and the COMMA portion of the resident monitor. (A description of the resident monitor is in Chapter 3, "Monitor System Programs.") The resident image bused to initialize the resident monitor during a cold start. SLET Sectors 3, 4, and 5 are the system location equivalence table (@SLET). SLET is composed of an identification number, core loading address, word count, and sector address for every phase of every monitor program. Chapter 4 contains infonnation about obtaining a listing of SLET, and a sample of a SLET printout is in Appendix E. sector @RTBL Sector 6 is the reload table (@RTBL). This table is established during an initial system load. @RTBL contains a 3-word entry for each monitor system program phase that requests SLET infonnation during a load or reload operation. Each entry consists of the ID number of the requesting phase, the location in the requesting phase where the SLET information is to be placed., and the number of SLET entries to be inserted. The reload table is updated during a system reload when phases that request SLET infonnation are added or modified. The last entry in the reload table is followed by the hexadecimal word /FFFF. sector @HDNG Sector 7 (@HDNG) is us(~d to store the heading that appears at the top of each page printed by monitor programs other than RPG. IBM System Area on a Svstem Cartridge Monitor programs and disk areas are loaded onto a disk during a system load. Thlsentire area is called the IBM system area, and is illustrated by the following: System de'l'ice subroutineli, DISK1, DUP SUP CLB DISKN, DISKZ CI L RPG part 2 AS o e Program product FLET II contained on a disk only if a fixed area is defined on the disk. See "Fixed Area" in this chapter. The monitor programs in. this area are described in Chapter 3. These programs are: • Disk utility program (DUP) • FORTRAN compiler (FOR) • COBOL compiler (COB) program product • Supervisor (SUP) • Core load builder (CLB) • Core image loader (CIL) • RPG compiler (RPG) • Assembler (ASM) The disk areas of the IBM system area are described in the following text. system device subroutine area The system device subroutine area consists of the following: • The subroutines used by the monitor programs to operate these print devices 1403 Printer 1132 Printer Console Printer • The subroutines used by the monitor programs to operate these I/O devices 2501 Card Reader/1442 Card Punch, Model 5,6, or 7 1442 Card Read/Punch, Model 6 or 7 1134 Paper Tape Reader/1055 Paper Tape Punch Console Keyboard/Printer • The I/O character code conversion subroutines used in conjunction with the I/O subroutines for these devices 2501 Card Reader/1442 Card Punch 1134 Paper Tape Reader/1055 Paper Tape Punch Console Keyboard/Printer • The disk I/O subroutines DISKZ DISK1 DISKN All of the subroutines in the system device subroutine area, except the disk I/O subroutines, are naturally relocatable and are intended for use only by monitor programs. The disk I/O subrou tines are located in this area rather than in the monitor system library because they are processed by the core load builder differently from subroutines stored in the monitor system library. DISKZ is stored twice on a system cartridge; once in sector @IDAD with the cold start program, and once in the system device subroutine area with DISK! and DISKN. Cold start uses DISKZ in sector @IDAD; all other times that DISKZ is called, the copy that is stored in the system device subroutine area is used. cushion area The cushion area immediately follows the system programs and provides for the possible expansion of the monitor system programs in a reload operation. This area occupies the remaining sectors of the last cylinder occupied by the system programs, plus the next complete cylinder. seRA The supervisor control record area (SCRA) is the area in which supervisor control records (LOCAL, NOCAL, FILES, G2250, and EQUAT) are saved. These records, except the EQUAT record, are read from the input stream (following an XEQ or STORECI control record) and are stored in the SGRA for osubsequent processing by the core load builder. The processing of the EQUAT record is similar to that of the other supervisor control records, but it is read from the input stream following a JOB control record. Disk Organization 2-7 FLET The fixed location equivalence table (FLET) is a directory to the contents of the fixed area for the cartridge on which it appears. There is one FLET entry for: • Each program stored in disk core image (DCI) format • Each data file storeel. in disk data format (DDF) • The padding required to permit a DCI program or data file to be stored beginning on a sector boundary Each FLET entry includes: • The name of the DCI program or the data file • The format of the program or data file • The size, in disk bloeks, of the program or data file • The disk block address of the program or data file Each cartridge on which you define a fixed area has a FLET (see "Fixed Area" in this chapter). Regardless of the fixed area sizes FLET occupies the cylinder preceding the be~ ginning of the fixed area. The sector address of the first sector of FLET on a given cartridge is obtained from the location equivalence table (LET). The last item (#FLET) in the first header line of a LET dump contains this sector address. A listing of a LET/FLET dump is in Appendix D. CIS The core image buffer (CIB) is the disk area in which the portion of a core load that is to reside in core storage below decimal location 4096 in a 4K system (decimal location 5056 in larger systems) is built by the core load builder. The CIB is also used by the core image loader during the transfer of control from one link to the next to save any COMMON defined below decimal location 4096 or 5056. LET The location equivalence table (LET) is a Guectory to the contents of the user area on the cartridge. On a system cartridge, LET occupies the cylinder preceding the user area. There is one LET entry for: • Each program stored in disk system format (DSF) • Each program stored in disk core image (DCI) format • Each data file stored in disk data format (DDF) • The padding required to permit a DCI program or data file to be stored beginning on a sector boundary Each LET entry include$: • The name of the program or data file • The format of the program (DSF or DCI) or data file • The size in disk blocks of the program or data file • The disk block addre:ss of the program or data file A listing of a LET/FLET dump is contained in Appendix D. The starting location of the beginning of LET on each disk on the system is included in the resident monitor. 24 Fixed Area The fixed area (FX) is the area in which you store programs and data files when you want them to occupy the same sectors at all times. Programs stored in this area must be in disk core image (DCI) format. This is an optional area and is defined on any 1130 cartridge by the use of the DEFINE FIXED AREA operation of the Disk Utility Program (DUP). This DUP operation is also used to increase or decrease the size of the fixed area. (See Chapter 3, "Monitor System Programs" for a description of DUP operations.) The contents of the fixed area are illustrated by the following: Fixed area .:.:.:.:.:.:.:.:.:.:.:.:............................ Your programs and data files A program or data me stored in the fixed area starts at the beginning of a sector. When a program or a data me is deleted from this area, the fIXed area is not packed. Programs and data mes stored in this area reside at fixed sector addresses and can be referred to by sector address. User Area and Working Storage UA The user area (UA) on a system cartridge contains the monitor system library and programs and data rues that you write and store there. Programs are stored in this area in disk system format (DSF) or in disk core image (DCI) format. Data files are stored in disk data format (DDF). The following illustrates the user area and working storage. User area Working storage Monitor system library Your programs and data files • Disk Organization 2-9 The user area is defined on any 1130 cartridge during disk initialization. The monitor system library is placed in this area during an initial system load. This area occupies as many sectors as are required to contain the system library plus any user programs and/or data files that are stored there. When a program or a data file is entered, it is placed at the beginning of working storage; that is, immediately following the end of the user area. The area occupied by the m!w program or data file is then incorporated into the user area during a store operation. Working storage is decreased by the size of the program or data file. The following illustrates, the contents of the user area and working storage before and after a store operation. Floating boundary User area r -A Bmoma[[[ store operation " I I I I I store operation Programs and data previously stored ----" I I I II III II ---y g I Program I lor data to be I I stored I I User area A II'-v-'I I [[[ '- ,if II III II --y I I I r Aft~. Working storage '\ I I I I I I I I Working storage : Floating boundary ,~ g J Programs and data now stored DSF programs are stored in the user area starting at the beginnning of a disk block; DCI programs and data files are stored starting at the beginning of a sector. 2-10 The user area is packed when a program or data fIle is deleted from this area; that is, the programs and data files are moved so as to occupy the area formerly occupied by the deleted program or data file. During packing, DSF programs are moved to the first disk block boundary in the vacancy; DCI programs and data files are moved to the first sector boundary. All remaining programs and data files are similarly packed. The area gained by packing the user area is returned to working storage as illustrated by: Floating boundary I User area ~______________~Jl~______________~~ t - Working storage \1 A,____, , ::::1111 II III II • 1'---------Y"...-------1----',I II I I. I I I o2~:n(111 I II I I Floating boundary I I I I Stored programs and data I User area If III I II I I Working I storage I I 1'_ \.'"------,.-----~,~ ..' - ' y, .'T'yPrograms and . data now stored I t Area made available by delete operation ws On all cartridges, working storage (WS) is the area that is not defined as cylinder 0, the IBM system area, the fixed area, or the user area. Working storage is available to monitor programs and user programs alike as temporary disk storage. This area extends from the sector boundary immediately following the user area td the end of the cartridge. Disk Organization 2-11 NONSVSTEM CARTRIDGE A nonsystem cartridge on an 1130 that has more than one disk drive can be used exclusively for the storage of data and/or programs, and is called a satellite cartridge. The 5 logical areas of a nonsystem cartridge are: Cyl 0 Fixed area User area Working storage -':':':'-:::::::~-::::::::"'h::~_:·:·:·:·:_·:·:·:·:,·:·:·:·:·:·:·~~%@**@rx<:w.-'·~:l ::::::::::~:::::: IBM system area The contents of cylinder 0 and the IBM system area are described in the following sections. The contents of the fixed area, the user area, and working storage are the same as described for system cartridges, except that the user area does not contain the monitor system library. The last section of this chapter, "Summary of the Contents of Disk Cartridges," contains a chart that indicates when these areas are present or can be removed. Cylinder 0 on a Nonsystem Cartridge The contents of cylinder 0 on a nonsystem cartridge are established when the cartridge is initialized, and are illustrated by: n CylO I . . . . . . . . . . . ---... I I I 10 and error message program Sector 2-12 o DeOM LET 2-7 l sector @I DAD The first 8 words of sector @IDAD on a nonsystem cartridge are the same as described for a system cartridge. The remaining words of this sector are a reserved area, an error message program, and an error message. The error message is printed if an attempt is made to cold start a nonsystem cartridge. This message and the program that prints it plus part of the reserved area are overlaid by the cold start program and the DISKZ subroutine when the monitor system is loaded onto a cartridge. Sector @IDAD on a nonsystem cartridge consists of: OCYL CION COpy defective cylinder table) (cartridge 10) (copy code) Reserved r-- OTYP (disk type) , Error message and error message program Reserved Words: 0 1 2 3 4 5 6 7 269 270 319 sector @DCOM The information in sector @DCOM of cylinder 0 on a nonsystem cartridge is similar to a system cartridge. The difference is that the information on a nonsystem cartridge applies only to that cartridge. LET The remaining sectors of cylinder 0 are the location equivalence table (LET) for the cartridge. The contents of LET are described under the description of the IBM system area on a system cartridge. IBM System Area on a Nonsystem Cartridge The IBM system area of a nonsystem cartridge can contain the fixed location equivalence table (FLET) and the core image buffer (CIB). This area is illustrated by: FLET CIS system area FLET FLET is described under the description of the IBM system area on a system cartridge. This table is on a nonsystem cartridge only if you define a fixed area on the cartridge. CIB The CIB is described under the description of the IBM system area on a system cartridge. This area is optional on a nonsystem cartridge, and can be deleted with the disk maintenance program called DLCIB (see Chapter 4). Disk Organization 2-13 SUMMARY OF THE CONTENTS OF DISK CARTRIDGE:S Figure 2-1 is a chart of the contents of the 5 logical areas of system and nonsystem cartridges. This chart indicates when these areas are present on system and nonsystem cartridges, and when it can be removed if the areais optional. Logical area Subareas Cylinder 0 IBM system area Present On system and nonsystem cartridges DUP SUP ClB System device subroutines Cil Cushion area Only on s',stem cartridges SCR,~ CIB On system and nonsystem cartridges; can be removed from nonsystem cartridges Assembler Only on system cartridges; can be removed FORTRAN complier Only on system cartridges; can be removed RPG compiler Only on system cartridges; can be removed COBOL compiler (pro"ram product) Only on system cart:ridges; can be removed lET On system and nonsystem cartridges FlE'r Only if a fixed area is defined by user Fixed area (FX) User programs User data files Only if defined by user User area (UA) Monitor system library (only on system cartridges) User programs User data files On system and nonsystem cartridges. As the result of a system load, the UA contains the monitor system library. Working storage (WS) Figure 2-1. The 5 logical arc:~as of disk cartridges 2-14 On system and nonsystem cartlriages Chapter 3. Monitor System Programs The IBM 1130 Disk Monitor System provides continuous operation of the 1130 computing system with minimal setup time and operator intervention. The monitor system consists of a system library and 7 interdependent system programs. The monitor system programs perform monitor control functions and include: • The supervisor (SUP), which performs the control functions of the monitor system and provides the linkage between user programs and monitor programs. • The Disk Utility Program (DUP), which performs operations that involve the disk, such as storing, moving, deleting, and dumping programs or data files or both. • The assembler (ASM), which translates source programs written in 1130 Assembler language into object programs. • The FORTRAN compiler (FOR), which translates source programs written in 1130 basic FORTRAN IV language into object programs. • The RPG compiler, which translates programs written in 1130 RPG language into objec t programs. • The core load builder (CLB), which constructs an executable core load from programs in disk system format (DSF). The DSF program and all associated subprograms are converted into disk core image (DCI) format, and the resultant core load is ready for immediate execution or for storing as a core image program. • The core image loader (CIL), which transfers core loads into core storage for execution and serves as an interface between some monitor programs. Although the COBOL compiler (COB) resides in the IBM system area when the monitor system is loaded onto a cartridge, the COBOL compiler is not a monitor program. It is an IBM program product. A tlowchart of the general logic flow of the monitor system programs is included under "Logic Flow of the Monitor System" at the end of this chapter. The monitor system library is a group of disk resident programs that performs I/O functions, data conversion, arithmetic functions, disk initialization, and maintenance functions. This library is discussed in Chapter 4, and the monitor system programs are discussed in the following text. The disk placement of these programs is shown by the following. Monitor system programs DUP FOR COB o SUP CLB Program product System device subroutines, DISK1, DISKN,DISKZ CI L RPG DUP art 2 ASM Cushion area CIB LET IBM system area Monitor System Programs 3-1 SUPERVISOR The supervisor is 2 groups of programs that control the monitor system and link the user and monitor programs. One portion of the supervisor, the skeleton supervisor, is stored in sector @RIAD of cylinder o. The other portion of the supervisor is storeel in the IBM system area. The skeleton supervisor initially gains control of the monitor system through the cold start program. During a cold start, the skeleton supervisor is loaded from sector @RIAD into the resident monitor section of core storage. Resident Monitor The resident monitor reSIdes at the beginning of core storage and contains (1) the core communications area (COMMA), (2) the skeleton supervisor, and (3) a disk I/O sub· routine (DISKZ, DISKl, or DISKN). Appendix G is a listing of the resident monitor. COMMA The core communications area (COMMA) consists of parameters required by the core image loader to link from one core image program to another. These parameters are interspersed with parts of the skeleton supervisor in the resident monitor. skeleton supervisor The skeleton supervisor is interspersed with COMMA in the resident monitor and is composed of: • Entry points for linking from one core load to another ($LINK), for linking from a core load to monitor system programs ($EXIT), and for dumping core storage ($DUMP). • lnterrupt level subrou tines (ILS02 and ILS04) for handling interrupts on levels 2 and 4. Disk devices interrupt on level 2, and since disks are used in all operations of the monitor system, ILS02 is included. Since the console keyboard INT REQ key interrupts on level 4 and can be pressed at any time, the ILS04 subroutine for handling level 4 interrupts is induded. • A preoperative error trap that is entered by all interrupt service subroutines (ISS) when an error is detected before an operation is performed. The trap consists of a WAIT instruction and a branch instruction. (The address of $PRET+ 1 is displayed in the INSTRUCTION ADDRESS indicator on the console display panel during the wait.) Pressing PROGRAM START causes the branch to be taken, and execution resumes. (Under certain conditions, such as a FORTRAN PAUSE statement, this trap is entered when an error has not occurred.) • Postoperative error traps (one for each interrupt level) that are entered by all ISS subroutines when an error is detected after an I/O operation has been started. Each trap consists of a WAIT instruction and a branch instruc tion. (The address of $PST 1, $PST2, $PST3, or $PST4 plus one is displayed in the INSTRUCTION ADDRESS indicator on the console display panel during the wait.) Pressing PROGRAM START returns control to the ISS subroutine, which may retry the operation in error. • The PROGRAM STOlP key error trap that is entered when the PROGRAM STOP key is pressed (unless a user-written subroutine associated with interrupt level 5 is in core). If a higher level interrupt level is being serviced when PROGRAM STOP is pressed, the PROGRAM STOP interrupt is masked until the current operation is complete. This trap consists of a WAIT instruction and a branch instruction. (The address of $STOP+ 1 is displayed in the INSTRUCTION ADDRESS indicator on the console display panel during the wait.) Pressing PROGRAM START continues execution of the monitor system. 3-2 disk I/O subroutine The disk I/O subroutine (DISKZ, DISK1, or DISKN) required by the program in control resides in core storage immediately following the skeleton supervisor. DISKZ is the subroutine used by all system programs. DISKZ is initially loaded into core storage with the residen t image during a cold start. Prior to the execution of a core load that requires DISK1 or DISKN, the core image loader overlays DISKZ with the required disk I/O subroutine. When control is returned to the supervisor, the core image loader overlays the disk I/O subroutine currently in core (if DISK1 or DISKN) with DISKZ. Source programs written in assembler, FORTRAN, RPG, or COBOL can call any of the 3 I/O subroutines; however, only one disk I/O subrou tine can be referenced in a given core load. The entry in column 19 of an XEQ monitor control record specifies the version of the subroutine to be used during execution of the core load. (Monitor control records are described in Chapter 5.) Disk-resident Supervisor Programs The portion of the supervisor that resides in the IBM system area includes programs that analyze monitor and supervisor control records and perform the functions specified, the auxiliary supervisor, and the System Core Dump Program. monitor control record analyzer The monitor control record analyzer (1) reads a monitor control record from the input stream, (2) prints the control record on the principal print device, and (3) calls the required monitor system program and transfers control to it. supervisor control record analyzer The supervisor control record analyzer reads a supervisor control record from the input stream, and stores the information in the control record in the supervisor control record area (SCRA) on disk. auxiliary supervisor The auxiliary supervisor is used by the Cold Start Program, ILS04 subroutine, core image loader, and system loader as a pre-entry to the monitor control record analyzer. The auxiliary supervisor i~ entered via the $DUMP entry point in the skeleton supervisor. This program sets appropriate parameters in COMMA, writes dummy monitor control records (such as the JOB monitor control record printed during a cold start), and prints error messages for errors detected by the core image loader. Control is then transferred to the monitor control record analyzer through the $EXIT entry point in the skeleton supervisor. Su pervisor Core Dump Program The Supervisor Core Dump Program provides a hexadecimal printout and an EBCDIC translation of the contents of core storage. (A portion of a core dump is shown in Appendix F.) This program is entered through the $DUMP entry point in the skeleton supervisor in 2 ways . • A special calling sequence during execution of an Assembler or FORTRAN program (see the publications IBM 1130 Assembler Language, GC26-3778, and IBM 1130/1800 Basic FORTRAN IV Language, GC26-3715). The portion of core storage specified in the assembler or FORTRAN statements, or all of core storage if limits are not specified, is dumped. Execution of the core load in process then continues with the statement following the one that called the dump. • A manual dump of core storage through $DUMP+ 1 (see "Manual Dump of Core Storage" in Chapter 7). The contents of core storage are dumped, and the dump program executes a CALL EXIT, which terminates the execution of the core load in progress. Monitor System Programs 3-3 DISK UTI LlTY PROGRAM The Disk Utility Program (OUP) allows you to perform the following operations through the use of OUP control records: • Store programs and da ta files on disks • Make programs and data files on a disk available as printed, punched card, or punc:hed paper tape output • Delete programs and data files from a disk • Determine the status of disk storage areas through a printed copy of LET and FLET • Define a fixed area on a disk, and delete monitor system programs from a disk • Maintain disk macro libraries • Reassign sector addresses on a disk • Reserve space for a data file or macro library DUP control records are described in Chapter 6. OUP error messages are listed in Appendix A. General Functions of DUIP DUP is called into operation when a OUP monitor control record (/ / DUP) is recognized by the supervisor. The control portion of DUP is brought into core to read the next DUP control record from the input stream. The OUP control record is printed and analyzed. The DUP program required to perform the operation specified in the control record i.s read into core storage from the disk and assumes control. The DUP program performs the functions specified in the control record, and when complete, a message is printed on the principal printer, and control is returned to the control portion of DUP. The next con trol record is read from the inpu t stream. If the next record is a monitor control record, other than a comments control record (/ / *), system control is returned to the supervisor to process the record. Comments monitor control records are priinted; blank records are passed. If the record is a DUP control record, DUP maintains control and reads the next record. 3-4 ASSEMBLER The source language and macro capabilities for the assembler are described in the publication IBM 1130/1800 Assembler Language, GC26-3778. This section of this chapter contains only a general description of the Monitor System Assembler Program. Assembler control records are described in Chapter 6. Assembler error detection codes and error messages are listed in Appendix A. The assembler can be deleted from the monitor system if desired (see "*DEFINE" under "DUP Control Records" in Chapter 5). The assembler cannot, however, be operated independently of the monitor system. A monitor control record, / / ASM, is used to call the assembler into operation. The assembler reads assembler control records and the source deck from the principal input device. The assembler interprets and performs the functions specified in the control records and translates the source program into an object program. Control records cause the assembler to: • Pass the source deck through the assembler twice • List the source deck and cross-reference symbol table on the principal printer • Punch object decks into cards • Print the symbol table on the principal printer, or punch the symbol table into cards • Save and add to the symboi table on disk • Specify the interrupt level for assembly of ISS subroutines • Specify additional sectors for overflow of the symbol table • Specify the length of COMMON used when linking between FORTRAN and assembler programs • Specify the use of the macro library during assembly After assembly is complete, the object program resides in working storage. The program can now be (1) called for execution, (2) stored in either the user area or the ~xed area, or (3) punched as a binary deck or tape. Monitor System Programs- 3-5 FORTRAN COM PI LE R The source language for the FORTRAN compiler is described in the publication IBM 1130/1800 Basic FORTRAN IV Language, GC26-3715. This section of this chapter contains only a general description of the monitor system FORTRAN compiler. FORTRAN compiler control records are described in Chapter 6. FORTRAN error codes and error messages are listed in Appendix A. The FORTRAN compiler can be deleted from the monitor system if desired (see "*DEFINE" under "DUPControl Records" in Chapter 5). The FORTRAN compiler, however, cannot be operated independently of the monitor system. A monitor control record" / / FOR, is used to call the FORTRAN compiler into operation. The compiler reads FORTRAN compiler control records and the source program from the principal input device. The compiler interprets and performs the functions specified in the control records and translates the source program into an object program. Control records cause the compiler to: • Specify the I/O device~, to be used during program. execution • List the source program, the names of all subprograms associated with the source program, and symbol table information on the principal print device • Specify that all variables and real constants are stored in 3 words instead of 2 • Specify that all integer variables are stored in one word instead of the standard 2 words • Print header infomlation at the top of each printed page, and print the program name at the end of a listing • Trace the values of variables, IF expressions, and computed GO TO statements during program execu tion • Specify the origin of an absolute program After compilation is complete, the program resides in working storage in disk system format (DSF). The program can now be (1) called for execution, (2) stored in the user area or fixed area. or (3) punched in binary form into cards or paper tape. RPG COMPILER The source language speCifications for the RPG compiler are described in the publication IBM 1130 RPG Language, GC21-5002. This section of this chapter contains a general description of the monitor system RPG compiler. RPG compiler control cards are described in Chapter 6. RPG error messages and error notes are described in Appendix A. The RPG compiler can be: deleted from the monitor system if desired (see "*DEFINE" under "DUP Control Records" in Chapter 5). The compiler, however, cannot be operated independently of the monitor system. A monitor control record, / / RPG, is used to call the compiler into operation. The compiler reads the RPG compiler control card and the source program from the principal input device. The compiler interprets and performs the functions specified in the control card and translates the source program into an object program. After compilation is complete, the object program, in disk system format (DSF), resides in working storage. The program can now be (1) called for execution, (2) stored in the user area or the fixed area, or (3) punched in binary form into cards. 3-6 CORE LOAD BUILDER The core load builder constructs an executable core load from a program in disk system format (DSF). The DSF program and all required subroutines (including any LOCALs, SOCALs, and NOCALs) are converted from disk system format into disk core image (DCI) format. The resultant core load is ready for immediate execution or for storing. The core load builder is called by any of the following programs. • Supervisor. When an XEQ monitor control record is read by the supervisor, the information specified in any supervisor control records that follow is written in the supervisor control record area (SeRA). Then, the core load builder is called to begin construction of the core load. When the core load is complete, the core image loader transfers the core load into core for execution. • Disk Utility Program. When a STORECI control record is read by the Disk Utility Program (DUP), information specified in any supervisor control records that follow are written in the supervisor control record area (SCRA). Then, if the specified program is not in working storage, the program is loaded into working storage, and the core load builder is called to begin construction of the core load. When the core load is complete, DUP stores it as a core image pfOgram in the user area or fixed area as specified in the STORECI control record. • Core Image Loader. When a core load calls for a link to another, the core image loader determines the format of the program from its LET or FLET entry. If the format is DSF, the core load builder is called to begin construction of the core image program. When the core load is complete, the core image loader transfers the core load for execution. Construction of a Core Load When the core load builder (CLB) is called by one of the previous monitor programs, the core load is constructed by the functions described in this section. The core load builder uses 3 storage areas while constructing a core load. These areas are the core image buffer (CIB), working storage (WS), and core storage. CLB use of the CI B The core load builder places in the core image buffer the parts of a core load that are to reside below core location 4096 (decimal) for a 4K system, or 5056 for larger systems, during execution. These parts can be the core image header, the main-line program, and subroutines. The contents of the CIB during core load construction are illustrated by: That part of core load below 4096 (or 5056) Not used COMMON saved from last core load Core image buffer Monitor System Progiams 3-7 Cl.B use of WS The core load builder reserves enough space in working storage for any data mes that are specified for use by the core load, as well as any LOCAL and/or SOCAL subroutines that are referenced by the core load (see "Processing Data Files" and "Incorporating Subroutines" in this section). The contents of working storage during core load construction are shown by: Data files defined by core load lOCAL subroutines SOCAl subprograms Not used Working storage Cl.B use of core storage In systems larger than 4K, the core load builder places in core storage the parts of a core load that are to reside} above core location 5055 during execution. These parts of a core load can be subroutines and the transfer vector. The contents of core storage during construction of a core load are illustrated by: Core location o End of DISKZ Resident monitor Core location 5O!56 Core load builder End of core That part of core above 6066 Core stonge When construction of a core load is finished and is executed immediately, the core image loader is called to transfer it into core storage. The layout of a core load in core that is ready for execution is illustrated by: IC Resident Location Q(M)O LOCALI n .. 1 ~_I?_pC_~_l_.._l_O_C_A_l_a_'_ea......._S_O_c_A_l_a'_ea....._u_nu_sed_.......T_'_an_s_fe_'_v_ect_o'......._C_O..,;;:J m,.o_n_it_o_,........M_•..,inli,.n_e..........._Su_b_pr..,o;,.a_ms_..... End of core 3-8 When a core load is stored immediately following construction, it is placed in the user area or the fixed area as follows: Mainline ~~~~ NOCALs ~~ Subprograms LOCALI SOCAL flipper LOCAL area SOCAL area Transfer vector LOCALs SOCALs ______~__~~ \ __~______L-____-L______~____~______-L______~ ( Core image header When the core load builder is called, the core load is built by the following functions, but not necessarily in the order described. Construction of the Core Image Header The core image header is established at the beginning of the construction of a core load. Throughout the building of a core load, information is placed in this header. The information placed in the header is used by the core image loader to transfer the core load into core storage and start program execu tion. The core image header is a part of the core load and resides in core storage during execution. Note. The area of core storage occupied by the core image header should not be considered as a work area, because FORTRAN subroutines access information in the header during execution. Assignment of the Origin of a Core Load The core location where the core image loader begins loading a relocatable core image program is assigned by the core load builder. This loading address is placed in the core image header, and is called the origin. The origin is determined by adding decimal 30 to the next higher-addressed word above the end of the disk I/O subrou tine used by the core load. The following chart lists the origin locations (in decimal and hexadecimal) used by the core load builder. Disk 1/0 subroutine in core Decimal Hexadecimal OISKZ OlSK1 OISKN 510 690 960 101 FE 10282 103CO Cor. load origin Monitor System Programs 3-9 The origin of absolute programs' is assigned by the assembler or FORTRAN programmer, not by the core load buil~r. The assembler programmer assigns the origin of a program with the ORG statement in his program. The FORTRAN programmer defines the origin of his program with an *ORIGIN control record. The origin that you define must not be less than those in the preceding chart, depenping on the disk I/O subrou tine used by the core load. When the programmer assigns an origin, the addresses printed in a program listing are absolute; thus, he can see exactly where his statements and constants are in core during executiqn. ·,Note. When DISKZ is in core, the assembler programmer must specify an even address in an ORG statement. Also, an ORG statement specifying an even address must not be followed 6y a BSS or BES statement of an odd number of locations. Processing the Contents of the SCRA • The core load builder analyzes the LOCAL, NOCAL, FILES, G2250, and IiQUAT eontrol records stored in the SCRA on disk, and builds tables for the respective control t, record types from the information specified. The information placed in these tables is used in later phase~ of the construction of the core load. Processing Data Files The core load builder us,es the information in the FILES control records stored in the supervisor control record area (SCRA) to equate data files defined in the mainline program to data files stored on disk. The mainline program statements that define these files are the FORTRAN DEFINE FILE statement and the assembler FILE statement. During compilation or assembly, a define file table is built from the DEFINE FILE statements or FILE statements. ' The core load builder compares a file number from a define me table entry with th{~ file numbers specified in the FILES supervisor control records stored in the SCRA. If a match occurs, the name of the disk area associated with the file number on the FILES c01,grol record is found in LET or FLET, and the sector address of that disk area (including the logical drive code) is placed in the corresponding define file table en try. If the number in the define file table entry does not match any of the file numbers for FILE,S control records or if a name is n,?t specified on the FILES controt record; the core load builder assigns an area in working storage for the data file. The sector address of the data file, relative to the start of working storage, is placed in the define file table entry. This procedure is repeated for ~ach.define file table entry in the mainline program. Conversion of the Mainline Program The mainline program is converted from disk system format into disk core image fOlmat. The mainline is always converted before any of the other portions of the core load. Incorporating Subrou tines Subroutines in general 3-10 All the subroutines called by other subroutines, by the mainline program and all subroutines specified as NOCALs are included in the core load, except for (1) the disk I/O subroutine, (2) any LOCAL subroutines specified, and (3) SOCAL subroutines employed. EQUAT subroutines or symbolic names Subroutines called by the core load that is being built can be replaced if indicated in EQUAT monitor control records stored in the SCRA. Symbolic names in assembler DSA statements are replaced by other symbolic names if so indicated in EQUAT control records. FLIPR The LOCAL/SOCAL flipper, FLIPR, is included in each core load in which LOCAL subroutines are specified or in which SOCAL subroutines are employed. FLIPR is entered by special LOCAL/SOCAL linkage through the transfer vector. FLIPR checks to determine if the required LOCAL or SOCAL is already in core. If not, FLIPR reads the required LOCAL or SOCAL into the LOCAL or SOCAL area in core. If the subrou tine or subprogram is already in the LOCAL or SOCAL area of core, FLIPR transfers execu tion control to them. When execution immediately follows the building of a core load, FLIPR reads a LOCAL or SOCAL, as it is called, from working storage into the LOCAL or SOCAL area of core. If the core image program was stored following the building of a core load, FLIPR reads a LOCAL or SO CAL, as it is called, from the user area or the fixed area (where it was stored following construction of the core load) into the LOCAL or SOCAL area of core. CLB provision for LOCALs LOCALs (load-on-call) are subroutines that you specify as overlays with LOCAL supervisor control records when error messages indicate that a core load is too large to fit into core. If LOCALs are specified for use by a core load, the core load builder reserves an area in the core load as large as the largest LOCAL subroutine specified. LOCAL subroutines will be read by FLIPR into this area as required during execution. LOCAL subroutines are stored in working storage following any data flles stored there. If the core load is executed immediately, each LOCAL subroutine is read as it is called from working storage into the LOCAL area by FLIPR. If the core load is stored in disk core image format before it is executed, LOCAL subroutines are stored following the core load, and will be read from the storage area (user area or fixed area) during execution. CLB provision for SOCALs SOCALs (system-overlays-to-be-Ioaded-on-call) are groups of subroutines (by class, type, and subtype) that are made into overlays by the core load builder. SOCALs make it possible for FORTRAN core loads that are too large to fit into core to be loaded and executed. (SOCALs are not built for mainline programs written in assembler or RPG language.) If, in constructing a core image program from a FORTRAN mainline program, the core load builder determines that the core load will not fit into core, SOCALs are created. An area as large as the largest SOCAL overlay (usually SOCAL 2) is reserved in the core load. SOCAL overlays will be read by flipper into this area as required during execution. The SOCAL overlays are placed in working storage following any data files and LOCALs stored there. If the core load is executed immediately, each SOCAL overlay is read, as it is called, from working storage into the SOCAL area by flipper. If the core load is stored in disk core image format before it is executed, SOCALs are stored following the core load and any LOCALs. SOCALs are then read from the storage are (user area or fixed area) during execution. Monitor System Programs 3-11 The core load builder creates SOCAL overlays by subrou tine cla!iS, type, and subtype (program types and subtypes are described under "Disk System Format" in Appendix I.) SOCAL overlays are numbered 1, 2, and 3. The classes of subroutines, their types and subtypes, that can be incloded in each SOCAL overlay are: SOCAL overlay ~ 1 2 3 Type Sub· type Arithmetic 3 2 Function 4 8 Nondisk FORTRAN I/O and liZ" conver· sion subroutines 3 3 liZ" device subrolltines 5 3 Disk FORTRAN I/O 3 1 Subroutine class linCIU~ Each SOCAL overlay does not contain all the subroutines of the specified classes, tYPI~S, and subtypes that are available in the monitor system library; only those subroutines required by the core load are included in the SOCAL. The names of the subroutines included in the SOCALs associated with a program are listed in a core map. A printout of the core map is obtained by placing an L in column 14 of an XEQ monitor control record (see "Reading a Cme Map and File Map" in Chapter 6). Two options are used by the core load builder in creating SOCAL overlays . • SOCAL Option 1. An attempt is made to make the core load fit into core' by using SOCAL overlays 1 and 2. This option reserves enough space in the core load for the largest of the 2 SOCALs (usually SOCAL 2) and approximately 115 additional words that are required for the special SOCAL linkage. SOCALs 1 and 2 are placedl in working storage. When this option has been tried and the core load still does not fit into core, the second option is used. • SOCAL Option 2. An attempt is made to make the core load fit into core by using SOCAL overlays 1, 2, and 3. This option reserves enough space in the core load foJ' the largest of the 3 SOCALs (usually SOCAL 2) and approximately 120 additional wo:rds that are required for th,~ special SOCAL linkage. If, after both SOCAL options have been tried, the core load still does not fit into core, an error message is printed. If you specify as a LOCAL subroutine a subroutine that would usually be included in a SOCAL, the core load builder makes that subroutine a LOCAL and does not include it in the SOCAL in which it would ordinarily be placed. Further information is contained in "The Use of SOCALs" in Chapter 6. 3-12 Transfer Vector The transfer vector (TV) is a table included in each core load that provides linkage to subroutines. This table is composed of: • CALL TV-the transfer vector for subroutines referenced by CALL statements • LIBF TV-the transfer vector for subroutines referenced by LIBF statements Each CALL TV entry is a single word containing the absolute address of an entry point in a subroutine included in the core load that is referenced by a CALL statement. In the case of a subroutine referenced by a CALL statement but specified as a LOCAL, the CALL TV entry contains the address of the special LOCAL linkage instead of the subroutine entry point address. If SOCALs are required, the CALL TV entries for function subroutines contain the address of the special SOCAL linkage instead of the subroutine entry point address. Each LIBF TV entry consists of 3 words. Word 1 is the link word in which the return address is stored; words 2 and 3 contain a branch to the subroutine entry point. In the case of a subroutine referenced by a LIBF statement but specified as a LOCAL, the LIBF TV entry contains a branch to the special LOCAL linkage instead of to the subroutine entry point address. The core load builder inserts the address in word 1 of the transfer vector entry (link word) into the entry point+2 of the associated LIBF subroutine. If SOCALs are required, the LIBF TV entry for a SOCAL subroutine contains a branch to a special entry in the LIBF TV for the SOCAL of which the subroutine is a part. This special entry provides the linkage to the desired SOCAL. The core load builder can build a core load that references up to approximately 375 different LIBF and CALL entry points; 80 LIBFs plus 295 CALLs (the maximum number of LIBFs allowable is 83 due to the size of the LIBF TV). If the core load is built on an 1130 system with core size of 4K, the maximum number of different LIBF and CALL entry points is approximately 110. See "Reading the Transfer Vector" in Chapter 6 for more information. CORE IMAGE LOADER The core image loader (CIL) has 2 functions: • Transfer control between some monitor programs • Transfer core loads into core for execution On an entry to the skeleton supervisor at $EXIT, $DUMP, or $LINK, the core image loader is called and control transferred to it. The core image loader determines where the skeleton supervisor was entered and calls the appropriate monitor or mainline program. $EXIT entry When the skeleton supervisor is entered at the $EXIT entry point, the core image loader calls the DISKZ I/O subroutine if DISKZ is not already in core. Then, the CIL calls and transfers control to the monitor control record analyzer to read monitor control records from the input stream. $DUMP entry When the skeleton supervisor is entered at the $DUMP entry point, the core image loader saves words 6 through 4095 (decimal) in the core image buffer. Then the CIL calls and transfers control to the Supervisor Core Dump Program. When the dump is complete, the dump program either restores core from the CIB and transfers control back to the core load in process or terminates execution with a CALL EXIT (see "Disk Resident Supervisor Programs" in this chapter). Monitor System Programs 3-13 When an entry is made to the skeleton supervisor at the $LINK entry point, the core image loader saves the sector of core referred to as low COMMON. The sector saved depends on the disk I/O subroutine that is in core; locations (in decimal) 896 through 1215 if DISKZ, 1216 through 1535 ifDISK1, or 1536 through 1855 ifDISKN. Then the CIL determines from COMMA the lowest·addressed word of COMMON if any was defined by the core load just executed. Any COMMON in core below location 4096 (4K system) or 5056 in larger systems is saved in the CIB. The following illustrates the saving of COMMON. $LlNK entry Core address Core storage Sector Core image buffer 0000 2 3 4 Core load 5 6 If DISKZ 896 If DISK1 1216 If DISKN 1536 1856 7 8 9 10 11 12 13 14 15 16 2176 2496 2816 3136 3456 3776 4096 Next, the CIL determines from the LET or FLET entry for the program being calleel whether the program is in disk system format or in disk core image format. If the called program is in disk system format, the core load builder is called to construct a core load from the mainline program. After the core load is built, the core image loader is called to transfer the core load into core for execution. If the called mainline program is stored in disk core image format, the disk I/O subroutine required by the core load is called, if it is not already in core. Any COMMON defined by the core load just executed and saved in the CIB is restored, and the called core load is transferred into core for execution. The following illustration is the layout of a core load in core ready for execution. IC Res;den' LOCALI Location I End of core 0000 Core i mage header 3-14 iliON M_a-iinl,.in_e.....,,......_Su_b_p..,ro~,.ra_m_s_ _~_I?_p~_A_rL_,,_L_O_C_A_L_ar_e_a-.,S_O_C_A_L_ar_e_a_u_n_u_se_d......_T_ra_n_sf_e_rv_e_c_to_r-.,c_o-/;';:J m,.o_n_it_o_r___..... LOGIC FLOW OF THE MONITOR SYSTEM Cold start record • Cold start program (sets negative parameter for DUMP entry) t LINK entry EXIT entry Skeleton supervisor Core image loader determines where skeleton supervisor was entered I I EXIT entry LINK entry, ~SF program I Auxiliary supervisor s:: a 'i::l '""t 0 Ot/ '""t ~ ~ '-f VI RPG record ASM record I DUMP Program XEa record Terminal dump ~ Subroutine library DSF program , 2. 0'""t (t FOR record DCI program 0 en ~ DUP record LINK entry, DCI program t Monitor control record JOB record I I DUMP entry, positive parameter DUMP entry, negative parameter Supervisor ~ EXIT Disk Utility Program(DUP ~ EXIT FORTRAN compiler ~ EXIT RPG compilel- ~ EXIT Assembler Program Core load builder , EXIT LINK LINK DCI program EXIT EXIT LINK t DUMP EXIT positive parameter 3-16 Chapter 4. Monitor System Library The monitor system library is a group of mainline programs and subroutines that performs the following functions for the monitor system: • Input/output • Data conversion • Arithmetic functions • Disk initialization • Disk maintenance • Paper tape utility Appendix C is a listing of the names, types and subtypes, required subroutines, and ID fields for the programs and subroutines in the monitor system library. Monitor system subroutines can be added to or deleted from the monitor system library. You add or delete them with Disk Utility Program (DUP) store and delete functions (see "*STORE" and "*DELETE" under "DUP Control Records" in Chapter 5). Each program in the IBM-supplied system deck used in an initial load is preceded by a DUP *STORE control record. This chapter contains general information about: • System library ISS subroutines • System library utility subroutines • System library mainline programs Additional and more detailed information about the system library is contained in the publication IBM 1130 Subroutine Library, GC26-S929. Monitor Syst~m Library 4-1 ISS Subroutines SYSTEM LIBRARY ISS SUBROUTINES The interrupt service subroutines (ISS), in the monitor system library, manipulate the I/O devices that are part of the computer configuration. Each subroutine has a symbolic name that must be used when the subroutine is available; although only one for each I/O device can be selected for use in anyone program (including subroutines). The following is a list of the devices available on the 1130 and the names of the ISS subroutines that are available for each device. I/O device I/O device subroutine 1442 Card Read Punch CARDZ, CARDO, or CARD1 2501.Card Reader READZ, READO, or READ1 1442 Card Punch PNCHZ, PNCHO, or PNCH1 Disk DISKZ, DISK1,or DISKN 1132 Printer PRNTZ, PRNT1, PRNT2 1403 Printer PRNZ, or PRNT3 Console keyboard/printer TYPEZ, or TYPEO Console printer WRTYZ, or WRTYO 1134/1055 Paper Tape Reader Punch PA~TZ,PAPT1,PAPTN,orPAPTX 1627 Plotter PLOT1, or PLOTX 1231 Optical Mark Page Reader OMPR1 Synchronous Communications Adapter SCAT1, SCAT2, or SCAT3 The last character or digit (Z, 0, l, or N) of an ISS name indicates the general characteristics of the subroutine: nameZ The nameZ versions are designed for use in an error-free environment; preoperative error checking is not provided. FORTRAN and RPG use the nameZ versions of the ISS subroutines. \ nameO The nameO versions are shorter and less complicated than the name 1 or nameN versions. The nameO versions handle error conditions automatically. name1 Use the namel versions rather than the nameO versions when you write an error exit. The nameO versions handle error conditions au tomatically. ISS Subroutines nameN The nameN versions are available to operate the 1134/1055 Paper Tape Reader/Punch simultaneously and to minimize extra disk revolutions when transferring more than 320 words to or from the disk. DISKN offers more options than DISK 1. Depending on your computer configuration, it also offers simultaneous operation of anyone of the following disk combinations. • Up to five 2315 Disk Cartridges • One 2315 Disk Cartridge (the 1131 CPU internal disk) and one disk in each of one or two 1316 Disk Packs • One disk in each of two 1316 Disk Packs Preoperative and postoperative errors that occur during the operations of the I/O device subroutines are included in Appendix B. Extra space on a system cartridge can be gained by deleting the I/O device subroutines that are in the system library for devices that are not a part of your computer configuration. The following is a list of the subroutines that can be deleted for each device: Disk blocks gained (hexadecimal) Device not in configu ration I/O device subroutines that can be deleted 1442 Card Read Punch (input/output) CARDO, CARD1, CARDZ /4E 2501 Card Reader READO, .BEAD1, READZ /62 1442 Card Punch PNCHO, PNCH1, PNCHZ /22 1134/1055 Paper Tape Reader/Punch PAPT1, PAPTN, PAPTX, PAPTZ, PAPEB,PAPPR,PAPHL /75 1132 Printer PRNT1, PRNT2, PRTZ2, PRNTZ, DMPD1 /69 1403 Printer PRNT3, PRNZ, EBPT3, CPPT3, HLPT3,PT3EB,PT3CP,PTHOL /40 1627 Plotter PLOT1, PLOTI, PLOTX, FCHRX, ECHRX, SCALF, SCALE, FGRID, EGRID, FCHAR, ECHAR, FPLOT, EPLOT, FRULE, ERULE, POINT, XYPLT /BO Synchronous Commu n ications Adapter SCAT1, SCAT2, SCAT3, PRNT2, PRTZ2, IOLOG, EBC48, HOL48, HXCV,STRTB,HOLCA /FA 1231 Optical Mark Page Reader OMPR1 /15 MTCA MTCAO, MTCAZ, TSM41, TSTTY, FEB41 /9A Monitor System Library 4-3 Utility Subroutines You should not delete subroutines that are called by subroutines left in the monitor system library (see Appendix C for lists of the subroutines called by each subroutine in the monitor system library). The mainline programs required for devices not on the system that can be deleted from the system library are: Disk blocks gained (hexadecimal) Device not in configuration Mainline programs that can be deleted 1134/1055 Paper Tape PTUTL lOA DLCIB, 10, COPY, DISC, IDENT 190 Reader IPu nch 2310 Disk Storage or 2311 Disk Storage Drive SYSTEM LIBRARY UTILITY SUBROUTINES A group of subroutines thalt perform utility functions for the monitor system are included in the monitor system library. These subroutines are: • SYSUP, disk communications area (DCOM) update subroutine, that you call in an assembler or FORTRAN program when you need to change disk cartridges or pack:) during execution of a core load. This subroutine updates ])COM on the master cart· ridge with the IDs and DCOM information from all satellite cartridges that are mounted on the system and that are specified in the special SYSUP calling sequence. Uses and calling sequences of SYSUP are discussed in Chapter 6. • CALPR, call system print subroutine, that calls the print subroutines into core stof;llge for printing information on the principal printer. • FLIPR, LOCAL/SOCAL flipper overlay subroutine, that calls LOCAL (1oad.on~can) and SOCAL (system-Ioad-on-call) subroutines into core storage during execution ofacore load: LOCALs, SOCALs, and FLIPR are discussed under "Incorporating Subroutim!s" in Chapter 3 and in Chapter 6, "Programming Tips and Techniques". • FSLEN, fetch phase IDs and fetch system subroutines, that performs 2 functions. The first function obtains system program phase ID headers from SLET as requested by monitor system programs. The second function calls system subroutines into core storage as needed. • RDREC, Read *ID Record, that is called by the disk maintenance programs, discussed in this chapter, to read *ID control records. Note. SYSUP is the only one of these utility subroutines that can be called by FORTRAN programs. The other subrou tines are called as needed by monitor system programs or by assembler language programs. 4·4 Disk Maintenance Programs 'DENT SYSTEM LIBRARY MAINLINE PROGRAMS The 1130 system library mainline programs provide for disk maintenance and paper tape utility functions. These programs (except the disk maintenance program, ADRWS) are called for execution with a monitor XEQ control record, and are described in the following sections of this chapter. These programs can be executed in a stacked job stream. disk maintenance programs The disk maintenance programs reinitialize cartridges, modify the contents of cartridges, and print information from cartridges. The disk maintenance programs are: • IDENT that prints cartridge IDs • DISC that reinitializes satellite cartridges • DSLET that prints the contents of the system location equivalence table • ID that changes cartridge IDs • COpy that copies the contents of one cartridge onto another • ADRWS that writes sector address in working storage • DLCIB that deletes the core image buffer from a nonsystem cartridge • MODIF that modifies the monitor system programs • MODSF that modifies programs and subroutines in the system library • DFCNV that converts 1130 FORTRAN and/or commercial subroutine package (113()" SE-25X) disk data ftles to disk files acceptable to 1130 RPG programs. For execution, some disk maintenance programs require in addition to the monitor XEQ control record, special control records. The fields and uses of these special control records are described when required in the descriptions of these programs in this chapter. PTUTL program The Paper Tape Utility (PTUTL) Program accepts input from the paper tape reader or console keyboard and provides output to the console printer and/or the paper tape punch. messages and halt codes Messages printed by the disk maintenance programs are described in Appendix A. Halt codes displayed in the console ACCUMULATOR are described in Appendix B. The following sections of this chapter describe the functions and calling sequences of the system library mainline programs. IDENT The Print Cartridge ID (IDENT}mainline program prints the cartridge ID and physical drive number of each disk cartridge that is mounted on the system and is ready, not just the cartridges that are specified in the current JOB monitor control record (see "Monitor Control Records" in Chapter 5). Invalid cartridge IDs, including negative numbers, are printed. The IDENT program is called for execution with a monitor XEQ control record: r '1'1 5 \0 \5 20 25 30 35 40 45 50 ~EM 1'ltt11llllllllllllllllllllllllllmimimm Monitor System Library 4-5 Disk Maintenance Programs DISC DISC 'The Satellite Disk Initialization (DISC) mainline program requires at least 8K of core stor)se to run. DISC reinitializes from one to four satellite cartridges; all but the master cartridge. (All new cartridges must be initialized with the stand-alone DCIP utility program, see Chapter 9). On each cartridge being reinitialized, the DISC program: • Tests disk sectors to determine which, if any, are defective, and fills in the defective cylinder table accord:i.ngly • Writes a sector address on every sector, including defective sectors • Establishes a file-protected area for the cartridge • Places an ID on the cartridge • Establishes a disk communications flrea, sector @DCOM, a location equivalence fable (LET), and a core image buffer (CIB) If an error occurs during testing, the cylinder on which the error occurred is retested. If the error occurs again, the address of the first sector on that cylinder is written in the defective cylinder table. The monitor system I/O subroutines operate with up to 3 defective cylinders on a cartridge. That is, 3 cylinders that contain one or more def,ective sectors. A cartridge cannot be initialized if cylinder 0 is defective, or if a sector address cannot be written on every sector. A message and the program that prints it are written in sector @RIAD. The messag(~ is: NONSYST. CART. ERROR This message is printed when an attempt is made to cold start a nonsystem cartridg,e that is initialized with DISC. The DISC program is caliled for execution with a monitor XEQ control record followed by an *ID control record: '--" 1 5 10 /1 1~lf ~ Ir., 16 C I-M I Inlf I'D J 11/ II) 1 J *ID fields FIDl Through FJ.Dn. Replace FIDI through FIDn with the current IDs on the satellite cartridges that are being reinitialized. This program overrides the cartridges that are specified in the current JOB monitor control record. TIDl Through TIDn. Replace TID! through TIDn with the new IDs to be placed on the satellite cartridges during initialization, A valid cartridge ID is a hexadecimal number from /0001 to /7FFF. 4-6 Disk Maintenance Programs DSLET ID COPY OSLET The Dump System Location Equivalence Table (DSLET) mainline program prints the contents of SLET on the principal printer. Each SLET entry printed includes a symbolic name; phase ID, core address, word count, and disk sector address. Appendix E is a printout of a SLET dump. The DSLET program is called for execution with a monitor XEQ control record: ffi ff ----_._-. . . . _-5 10 15 20 25 30 35 40 - 45 '" 111111"111111111111 till rmmffltffitfmtHllt+ 10 The Change Cartridge ID (ID) mainline program changes the ID on from one to four satellite cartridges. The ID program is called for execution with a monitor XEQ control record followed by an *ID control record: - 1 5 10 15 20 25 II XEIQ If) DA Ii) JJ 7/ ])1 .F ID2 TID2. 30 ----- *1 ~L ---e EL 'DB .1.1 Lf) - *10 fields 35 - - - c___ -----, !- ---_._--40 ----,-- >J_i --- ----- 45 50 rnmmr FIDl Through FIDn. Replace FIDl through FIDn with the IDs currently on the satellite cartridges that are to be changed. These IDs must be coded in the same logical order as those coded in the current JOB monitor control record. TIDl Through TIDn. Replace TIDl through TIDn with new IDs that you want placed on the satellite cartridges. A valid cartridge ID is a hexadecimal number between /0001 and /7FFF. COpy The Disk Copy (COPY) mainline program requires at least 8K of core storage to run. COpy copies the contents from one cartridge (source) onto another (object cartridge). The defective cylinder data and cartridge ID are not copied. The copy code (word 5 of sector @IDAD) on the object cartridge is incremented to one greater than the copy code on the source cartridge. (The stand-alone DCIP program described in Cha.pter 9 provides a similar disk copy function.) If a copy is made of a system cartridge from a system with a different confIguration, the object cartridge must be reconfigured before a cold start can be performed (see Chapter 8 for information about reconfiguration). The COpy program is called for execution with a monitor XEQ control record followed by an *ID control record: ------. _.. I 5 10 15 20 25 /1 XE.G CO py, lJF ID 1 , 11 DJ .f / DI 2 ~ 7/ D2 , .. *1 30 35 ---- . , PI 'JJ71 ,7 r! ~ ~- ~---- - -- -~-- ---- - ------- 1--- - 50 45 40 - -- --- - "- "- -~ ---- mr Monitor System Library 4-7 Disk Maintenance Programs AORWS OLelB MOOIF *10 fields FIDl Through FIDn. Replace FID! through FIDn with the IDs of the cartridges that are being copied. When multiple copies are being made from a single cartridge, replace FID! through FIDn with the same cartridge ID. This program overrides the cartridges that are specified on the current JOB monitor control record. TIDl Through TIDn. Replace TID! through TIDn with the IDs of the object cartridges. AORWS The Write Sector Addresses in Working Storage (ADRWS) mainline program writes a sector address on every sector of working storage of a cartridge. This program is not executed with an XEQ monitor control record as the other disk maintenance mainline programs are. ADRWS is Hnked to from the Disk Utility Program (DUP) when a DWADR DUP control record is read from the job stream. (The DW ADR control record is described under "DUP Control Records" in Chapter 5.) OLCIB The Delete Core Image Buffer (DLCIB) mainline program deletes the CIB from a nonsystem cartridge. The areas on the cartridge that followed the CIB before it was deleted are moved back 2 cylinders closer to cylinder O. The new addresses of the areas moved are placed in DCOM on the master cartridge and in COMMA on the cartridge from which the CIB was deleted. The DLCIB program is called for execution with a monitor XEQ control record followed by an *ID control record: '---' 1 5 II XE Q *1 IDe AT<7 *I[) field 10 DIL ell! CART. Replace CART with the cartridge ID of the nonsystem cartridge from which the CIB is being deleted. MOOIF The System Maintenance (MODIF) mainline program allows you to make updates to the monitor system programs and/or the system library. This program changes the word of the disk communications area (DCOM) that contains the version and modification level of the monitor system. (lnfonnation stored in the user area in disk system fonnat can also be changed with the MODSF disk maintenance program described later in this ch.apter.) A card deck or paper tape containing corrections to update the monitor system to th(~ latest version and modification level is supplied by IBM. All modifications included must be run, even if an affected program has been deleted from the system, to update the version and modification l.;!vel. 4-8 Disk Maintenance Programs MODI F control records The MODIF program is called for execution with a monitor XEQ control record: I' 5 10 15 20 25 30 35 '" 45 1111111 Mti'1111111111 milllllllllllllll!III!!!1 rim 50 Note. A system program phase that contains reload table entries (references to other entries in SLET generated by the system loader during an initial load or reload operation) cannot be replaced with MODIF; a system reload must be used (see Chapter 8 for reload information). MODIF cannot be used if temporary mode is indicated in the current monitor JOB control record. A cold start procedure is recommended prior to a system reload if the reload precedes the execution of MODIF, as in a system modification update. MODIF Patch Control and Data Records The MODIF patch control records that can follow the monitor XEQ control record are: • *MON that identifies a monitor program phase that is being modified • *SUB that identifies a change to the system library • II DEND that specifies the end of MODIF execu tion The *MON patch control record, patch data records, and a II DEND control record modify monitor program phases. A typical input card deck for system program maintenance is: *MON patch control record /I ... ......-- Next monitor control record AMODIF job JoIII.....- II~""__ I:~""--Data MODI F define end record Following system program maintenance control records and data records (if any) records .....- - System program mai ntenance control record '-_ _ _ _ _ _ _ _ _.....t....- - System maintenance program call Each program phase that is changed requires a *MON control record and patch data records that specify the changes. If MODIF determines from SLET that the FORTRAN compiler or the assembler has been deleted from the disk, any modifications that are included for these programs cannot be made; however, the version and modification levels for these programs are updated in DCOM. Monitor System Library 4-9 Disk Maintenance Programs MODI F control records *MON patch control record format Card column Contents Explanation 1 through 4 *MON These characters identify a patch to any of the monitor system programs and/or the system device subroutines. 5 Blank 6 through 8 vmm A hexadecimal number; v is the monitor version, and mm is the monitor modification level. 9 Oor G or R o indicates system modification update. G indicates general temporary fix. R indicates restricted temporary fix. 10 BI;lJnk 11 through 14 l()C:XX 15 BlilJnk 16 through 19 nnnn The SLET 10 (in hexadecimal) of the monitor program phase to which the patch is being made. 0000 indicates an absolute patch (see columns 28 through 31 and 33 through 36). The numbers (in hexadecimal) of patch data records that follow this control record. 20 Bh:mk 21 B or H Th is character identifies the format of the patch data records that follow. S indicates binary system format. H indicates hexadecimal patch format. 22 Blank 23 through 26 pppp 27 Blunk 28 through 31 dsu A hexadecimal number that specifies the total number of patch control records to be processed. This field is required only on the fjrst patch control record. A hexadecimal number; d is the disk drive code, and sss is the sector address of the program being patched. Use this field only when columns 11 through 14 contain 0000. 4-10 Disk Maintenance Programs MODI F data records additional field information Card column Contents 32 Blank 33 through 36 cccc 37 through 80 Not used Explanation A hexadecimal number that specifies the core address of the sector specified in columns 28 through 31. Use this field only when columns 11 through 14 contain 0000. *MON. The programs that can be patched are: the FORTRAN compiler, RPG compiler, ~COBOL compiler (program product), assembler, Disk Utility Program, supervisor, core load builder, core image loader, and the system device subroutines. Modifications to the system device subroutines must be made with a *MON patch, not a *SUB, *DELETE, and *STORE patch. o or G or R. A system modification update (0) can be made only on a system of one level lower than the level indicated in columns 6 through 8. A general temporary fix (G) can be made only on a system of the same or one higher level than the level indicated in columns 6 through 8. A general temporary fix does not change the level of the system. A restricted fix (R) can be made only on a system of the same level as the level indicated in columns 6 through 8. pppp. A MODIF job can modify more than one system program and can modify both system programs and the system library. In the latter case, the specified count in columns 23 through 26 must include the *SUB patch control record. The / / DEND control record is not included in this count. ecce. Core addresses can be obtained from the microfiche listings. patch data records Patch data records are in either hexadecimal patch format or binary system format. These data records specify the beginning address of the patch, and the new data for the patch. Patch data records cannot contain CALLs or LIBFs, and the relocation indicators will not be used. hexadecimal patch data record format Card column Contents Explanation 1 through 4 aaaa The beginning core address (in hexadecimal) of the patch. Each patch data record must contain the core address. 5 Blank Each 4-column field is one word of patch data (in hexadecimat). Up to 13 words of patch data can be included in one data record. A blank must separate each word of data. 6 through 9, 11 through 14, 16 through 19, 66 through 69 70 through 72 Blank 73 through 80 Not used Monitor System Library 4-11 Disk Maintenance Programs MODI F control records Hexadecimal patch records. can contain ID/sequence numbers in columns 73 through :BO. Zeros must be punched; leading blanks are not assumed. binary system patch data record format Word Contents Loeation 2 ChlJcksum 3 Type code (first 8 bits) 00001010 4 through 9 Rel:ocation indicators 10 through 54 Data words 1 through 45 55 through GO I D and sequence number or blanks Note: C,",ecksum verification is not made if word 2 is blank. *SLJB patch control record The *SUB patch control record, DUP *DELETE and *STORE functions t new versions of system library programs and subroutines, and a / / DEND control record are used to modify the system library. A typical input card deck for system library maintenance is: /I ... ~---- Next monitor control record ....- - - - MODI F define end record A MODIF job I~"""'_ _ _ Next DELETE and STORE and new version of system library program, ••• I:""..,.---New version of system library program XX;(XX 1·..,.---- System library maintenance control record L __________.........· · - - - System maintenance program call 4-12 Disk Maintenance Programs MODI F control records Only one *SUB control record is used in a MODIF job; however, any number of deletes and stores can be included after a *SUB control record. When a MODIF job is used to modify system programs and the system library, the *SUB control record must be the last patch control record before / / DEND in the MODIF job. The *SUB control record is also included in the count of MODIF patch control records coded in columns 23 through 26 of the *MON control record. *SUB patch control record format Card column Contents Explanation 1 through 4 *SUB These characters identify a patch to the monitor system library. 5 Blank 6 through 8 vmm A hexadecimal number; v is the monitor version, and mm is the monitor mod ification level. 9 o or G or R o indicates system modification update. G indicates general temporary fix. R indicates restricted temporary fix. additional field information 10 through 15 Blanks 16 through 19 nnnn 20 through 80 Not used The number (in hexadecimal) of delete and store control records that follow this control record. oor G or R. A system modification update (0) can be made only on a system of one level lower than the level indicated in columns 6 through 8. A general temporary fix (G) can be made only on a system of the same or one higher level than the level indicated in columns 6 through 8. A general temporary fix does not change the level of the system. A restricted fix (R) can be made only on a system of the same level as the level indicated in columns 6 through 8. II DEND patch control record All MODIF jobs must end with a define end control record (/ / DEND). This record terminates MODIF execution and passes control to the supervisor. II DEND patch Card column Contents Explanation control record format 1 through 7 //I6DEND 16 indicates blank. 8 through 80 Not used Monitor System Library 4-13 Disk Maintenance Programs MODIF example MODIF Example This example illustrates how to change an instruction in the Disk Utility Program (DUP). The following data is used to make the change: • The SLET phase ID of the subroutine is /0009. • Hexadecimal patch fonnat is used. • The instruction address (from an assembly listing) is /03B6. • The instruction is /D7FO. • The instruction is to be changed to /D7D6. • The new modification level is 12. • One patch data record is required. • Only one patch control record (/ / DEND) follows the *MON control record. The coding sequence for making this change is: 1 5 II / / l!i 10 Jolll xEla ~Io ID Ilf l~lN ~N ~¢ cl~ ~13 8~ 20 25 30 35 -~ ;¢ ;9 D7 ~~- t- / / 11) £" WD I··-t-- 1--1- ~- ¢~ ~1 - - - f - f- :)0 45 40 _. .. 1- f--l--. - - ¢tJ ¢1 IH .- f-f--I-- f-f- f--I- --t- •.- f - t--I- - - 1-- _. 1- t··--I- The following is printed on the console printer when the example is executed: MODIF EXECUTION 020B MON 20CO 0009 0001 H 001 DAAA REL-WD ADDR OLD D7FO 0028 0096 03B6 SW 0 OFF=PATCH SW 0 ON =ABORT MODIF COMPLETED NEW D7D6 020C Where: MODIF EXECUTION 020B DAAA REL--WD Execution of MOD IF starts on DM2, Version 1:[ Drive code and sector address of the patch Relative word within the sector that is to be patched. ADDR Instruction address (from an assembly listing) OLD Original instruction NEW New instruction SW 0 OFF=PATCH SW 0 ON =ABORT The system waits after these 2 lines are printed for operator intervention. Set data entry switch 0 to OFF and press PROGRAM START to write the patch to disk or set data entry switch 0 to ON to prevent the patch from being made. Note. To prevent the printing of patch infonnation, set data entry switch 1 to ON. MODIF COMPLETED 020C 4-14 The patch is installed, and the new level is 12. I MODSF MODSF The Library Maintenance (MODSF) mainline program allows you to update programs that are stored in the user area in disk system format. (Monitor system programs are modified or replaced with the MODIF program discussed in the previous section of this chapter.) MODSF updates a program by replacing existing code and/or inserting additional code at the end of the program. Existing code is replaced in the program as it resides in the user area. The existing code of several programs can be updated in one MODSF job, but code can only be added to the last program included in the MODSF job. When additional code is added to a program, MODSF moves the program into working storage before inserting the new code. The modified program is still in working storage when MODSF execution is finished and can be transferred back to the user area with DUP *DELETE and *STORE functions. On the basis of where the addresses you specify are in the program being modified, MODSF determines whether a particular update is a replacement or an addition of code. A maximum of 31 words can be updated in one MODSF job. The MODSF program is called for execution with a monitor XEQ control record: ~5 10 15 20 25 30 35 40 45 50 Monitor System Library 4-14.1 This page int(mtionally left blank 4-14.2 Disk Maintenance Programs MODSF control records MODSF Patch Control and Data Records The MODSF patch control records that can follow the monitor XEQ control record are: • *PRO that identifies the program that is being modified. • *END that specifies the end of MODSF execution. *PRO patch control record The *PRO patch control record, patch data records, and an *END control record are used to modify programs and subroutines stored in the user area. A typical input card deck for library program maintenance is: *STORE WS UA U 11....-..1'""........- These DUP control records are included only if last program was expanded. MODSF terminator record Any number of programs may be 1111-"'-- updated, but only the last may be expanded. (Patch control record) (Patch control record) Patch control and data records if second program is to be updated. Patch control and data records for modification of first (or only) program. II XEa MODSF Each program or subroutine that is being modified requires a *PRO control record and patch data records that specify the changes being made. Monitor System Library 4-15 Disk Maintenance Programs MODSF control records *PRO patch control record format Card column Contents 1 through 4 Explanation These characters identify a MODSF patch control record. 5 Blank 6 through 8 vmm A.hexadecimal number; v is the current monitor version, and mm is the current monitor modification level. 9 B:lank 10 through 14 pname 15 Bl1ank 16 through 19 nllnn The name of the DSF program being updated. (If the program has secondary entry points, this must be the name of the primary entry pOint.) The number (in hexadecimal) of patch data records that follow this control record. 20 Bllank 21 m Indicates addressing mode, where m is: P for program-address mode, or o for disk-displacement mode. 4-16 22 Blank 23 through 26 xxxx 27,37,47,57 Blanks 28 through 31 '38 through 41 48 through 51 58 through 61 aeaa ae,aa asaa 88:aa 32,42,52,62 Blanks 33 through 36 43 through 46 53 through 56 63 through 66 wvv ww wvv ww 67 through 72 Rt3Served 73 through 80 Nt:>t used Cartridge 10 of the cartridge on which the program being modified is stored. (A cartridge lOis not necessary if the program is stored on the master cartridge.) Each of these optional fields specifies an address (in hexadecimal) at which the current content of the program is compared with the val ues specified beginning in column 33. The value (in hex r blank 1 indicates one-word integers are used. C indicates input from cards. "- Blank indicates that input is from disk. 32 Blank 33 W or blank Windicates that an object time warning message is to be printed if a real number (see "R-F ield Type" in Appendix J) is out of range upon conversion. Blank indicates that the object time warning message is not printed. 4-22 34 through 71 Bllmks 72 p 73 through 80 Not used This character identifies this record as a file description record. Disk Maintenance Programs computing DFCNV file sizes additional field information Name. Use the exact name of the FORTRAN or CSP file that is being converted. computing file sizes Both the input and RPG file sizes are calculated from the information that you specify in the file description control record. These computed sizes are checked against their corresponding LET or FLET entries for correct size. The folloWing formulas are used to calculate the input and output file sizes. RPG name. The RPG file name cannot contain any special characters, although the input me name can contain the character $. DFCNV does not check the RPG file name for $. l. Compute the number of words (L) in a record: L=~ 2 where C is the record size in characters. Round the answer to the next higher number if the answer has a remainder. 2. Compute the number of records (N) that can be contained in one sector: N= 320 L where L is the length in words of each record compu ted in Step 1, and 320 is the number of words in a sector. Disregard the remainder, if any. 3. Compute the input file size (1) in sectors: I=~ N where R is the number of records in the file, and N is the number of records per sector computed in Step 2. Round the answer to the next higher number if the answer has a remainder. 4. Compute the output file size (0) in sectors: 0= R+l N where R is the number of records in the file, and N is the number of records per sector computed in Step 2. Round the answer to the next higher number if the answer has a remainder. These are the same fonnulas that you use to calculate record and file sizes of sequentially organized files, see "File Processing" in Chapter 6. Monitor System Library 4-23 Disk Maintenance Programs DFCNV control records field specification (:ontrol record The second required control record, field specification, describes the RPG fields for the converted data. Descriplions and examples of each field type supported by the program are in Appendix J. Caution: DFCNV does not check data format; therefore, you must know in detail the format of the fields of your FORTRAN or CSP input me. You can use as many complete field specifications' on a field specification control f,ecord as can be placed in columns 1 through 71. Column 72 of each record must contain an S. Field specifications must be placed on the control records in the same order as the I;;orresponding fields of the input record. Each field specification must be separated from the next with a comma. Blanks embedded in specifications or blanks between specifications are not allowed. The following is an example of a field specification control record: Selected field conversion can be done by using the X-field type. See Appendix J for a description of this field type. Data can be rearranged and field size can be modified with the m tenn of fieJd types. When data is rearranged or fields are expanded, you muslt prevent data overlay in the converted field. repeat specification option Identical fields that are sequentially repeated can be specified with only one field specification for any field type except the X-field type. You specify the repeat option by immediately following the specification being repeated with the character R and the total number of identical fields. Each repeat field begins in the first vacant output column after the previous field; that is, columns are not skipped when the repeat specification is used. For example, the following field specification describes three integer fields, the first beginning in column 15 of the RPG record. Each field is packed and is five charactt~rs long with 2 places to the right of the decimal point: 15-15.2(p)R3 The 3 resulting output fields start in the eighth word of the output record as: Word: Contents: 8 XXXO 9 OFXY 10 YOOF 11 ZZZO 12 OF40 where XXX, YYY, and ZZZ represent the three integer fields. optional control record 4-24 When any F-field type conversions are specified on the field specification control record, an optional control record is required. This control record must contain the 40 character translation table for CSP A3 fonnat and the character A in column 72. This control record immediately precedes the first field specification control record that specifies F-field type conversion. Only one conversion table is allowed per file; if more than one is included in the control records, the additional tables are ignored. The conversion table must correspond to the original table used to convert to CSP A3 format. Paper Tape Utility Program PTUTL end-af-file control record The third required control record for DFCNV is the end-of-file control record. All other DFCNV control records must precede the end-of-file (/*) control record. DFCNV Example This example illustrates how to convert the FORTRAN file named FORFL to an RPG file named RPGFL. The FORTRAN file contains 1,000 records, each 10 words long. The file is standard precision with one-word integers. One such FORTRAN record is as follows: 1 Word: Content: 3A7E 2 D64B 3 40D5 Word: Content: 8 03C8 9 COOO 10 0083 4 5 D540 D4Cl 6 BCOO 7 0080 'The RPG file consists of records 40 characters long. The coding for converting the FORTRAN file is: 1 5 10 15 25 20 30 35 ~---I- IJ~ 65 40 II Il08 1 III/ I~ EK.: ID F~ WV lt~--F~ ~If IL tR~ 16F L lal ltl¢ I¢ kit I¢ ~14 I~ Is 1-I];; 3 .I~ ,15 -11 4 • 1., l.Z -I~ 7 • 5, 21 -Ill ~. z, lara -11 I~ . 2 -- 72 -I--\--- ,_. 1--1- -i After conversion, the RPG record that corresponds to the previous FORTRAN record is stored on disk as: Word: Content: 1 FOFO 2 D440 3 F9F6 4 F8FO 5 4040 6 40FO 7 FOPS 8 F3Fl Word: Content: 9 F2D5 10 4040 11 D4Cl 12 D540 13 40D5 14 D64B 15 40FO 16 FIF4 Word: Content: 17 F9F7 18 F4FO 19 F040 20 4040 PTUTL The Paper Tape Utility (PTUTL) mainline program accepts input from the keyboard or the 1134 Paper Tape Reader and provides output on the console printer and/or the 1055 Paper Tape Punch. You can make changes and/or additions to FORTRAN and assembler language source records and monitor control records with PTUTL. The PTUTL program is called for execution with a monitor XEQ control record: The PTUTL program is also available as an IBM-supplied stand-alone program on tape BPI7. The operating procedure for both PTUTL programs is in Figure 9-12, Chapter 9. An example of using this program is also included under "Stand-alone Paper Tape Utility Program (PTUTL)" in Chapter 9. Monitor System Library 4-25 4-26 Monitor Control Records how to code Chapter 5. Control Records You use control records to specify operations performed by the Disk Monitor 2 System. The use of these control records provides for stacked jobs with a minimum of operator intervention. The order of control records, source statements, and data in stacked jobs is described under "Stacked Input Arrangement" in Chapter 6. The control records in this chapter are grouped according to the monitor program that they are associated with. These groups are: • Monitor control records • Supervisor control records • DUP control records • Assembler control records • FORTRAN control records • RPG control records Each section of this chapter consists of a general function description, the order in which the control records are placed in the input stream, general coding considerations, and a description of each control record. Other less frequently used control records are included in Chapter 4, "Monitor System Library." The control records described in Chapter 4 apply to specific, infrequently performed procedures. Note. The System 2501/1442 conversion routine interprets the following character punches as equal: 'and @, + and &, =and #,) and <, (and %. The characters', +, =,), and (are printed. The conversion routine is used during analysis of control records, source input for language processors, and DUP input/output data. This routine provides uniformity for 024 and 029 prepared input. MONITOR CONTROL RECORDS functions The monitor control records described in this section define control and load functions that are performed by the monitor system. These functions are: • Initializing jobs • Loading the assembler, the language compilers, or the Disk Utility Program into core for execution • Starting the execution of your programs • Printing comments during monitor system operations • Changing print devices during monitor system operations The JOB monitor control record defines and initializes the beginning of jobs. Other monitor control records are placed behind the JOB control record to specify the operations to be performed during a job. A detailed description of the order of control records, program statements, and data files in the input stream is in Chapter 6 under "Stacked Input Arrangemen t." coding Information must be coded in the indicated card columns in monitor control record formats. Columns 1 and 2 always contain slashes (/ /). The character ~ and reserved card columns indicate that the columns must be blank. You can replace card columns shown as not used with comments. Con trol Records 5-1 Monitor Control Records /I JOB ---- /I JOB 'general function A JOB monitor control record defines the start of a new job. This control record causes the supervisor to initialize a job, which includes: • The initialization of parameters in the core communications area (COMMA) and in sector @DCOM • The setting of the temporary mode indicator if the job is executed in temporary mode • The definition of the cartridges to be used during the current job • The definition of the cartridge that contains the core image buffer used for the current job • The definition of the cartridge that contains working storage used during the current job • The definition of the cartridge that contains the unformatted I/O disk buffer area for use during the current FORTRAN job • The definition of a n,ew heading printed on each page printed by the principal print device • The reading of EQUAT supervisor control records into the supervisor control record area (SCRA) format 5-2 Card column Contents 1 through 6 //t6JOB 7 Reserved 8 Temporary mode indicator 9 through 10 Reserved 11 through 14 First ID 15 Reserved 16 through 19 Second ID 20 Reserved 21 through 24 Third ID 25 Reserved 26 through 29 Fourth ID 30 Reserved 31 through 34 Fifth ID 35 Reserved 36 through 39 CIB ID Explanation T or blank. A T indicates that temporary mode is desired for this job. This is the I D of the master cartridge (logical drive 0), This is the ID of the cartridge on logical drive 1. This is the ID of the cartridge on logical drive 2. Th is is the I D of the cartridge on logical drive 3. This is the ID of the cartridge on logical drive 4. This is the ID of the cartridge contain ing the CI B to be used duri ng this job. Monitor Control Records II JOB Card column Contents 40 Reserved 41 through 44 Working storage 10 46 Reserved 46 through 49 Unformatted disk I/O 10 60 Reserved 61 through 68 Date, name, etc. 69 Not used 60 and 61 EaUAT record count 62 through 80 Not used Explanation Th is is the 10 of the cartridge containing the working storage to be used by the monitor during this job. See *F 1LES, for details on working storage for your programs. This is the 10 of the cartridge containing the unformatted disk I/O area to be used during this job. This information is printed at the top of every page of the listing on the principal print device during this job. This number specifies how many EQUAT records follow this JOB record. Con trol Records 5-3 Monitor Control Records II JOB additional field information Temporary Mode Indicator. A T in column 8 causes all programs and/or data files stored by DUP in the user area during the current job to be deleted from the user area when the next / / JOB control record is read. Temporary mode places restrictions on some of the DUP operations as shown in the followng chart: DUP operations Restrictions DUMP None DUMPDATA,DUMPDATA~E None STORE None STORECI To UA only STOREDATA,STOREDATAE To UA and WS only STOREDATACI To UA only STOREMOD Not allowed DUMP LET None DUMPFLET None DWADR Not allowed DELETE Not allowed DEFINE FIXED AREA Not allowed DEFINE VOID ASSEMBLER Not allowed DEFINE VOID FORTRAN Not allowed DEFINE VOID RPG Not allowed DEFINE VOID COBOL Not allowed DFtLE To UA only MACRO UPDATE Not allowed First ID through Fifth ID. These IDs define the cartridges that are used during the current job. These cartridges can be mounted on the physical disk drives in any order; the order of the IDs on the JOB control record specifies the logical assignments for the cartridges. The first through the fifth IDs correspond to logical drives 0 through 4, and must be specified consecutively. When 3 drives are being used, only the first through the third IDs are specified. The cartridge-related entrie's of the core communications area (COMMA) and sector @DCOM are filled according to the logical order specified by the JOB control record. The first [D can be left blank, in which case~ the master cartridge for the last JOB will also be the mastm cartridge for the current JOB. A cartridge ID is not required when only one cartridge its used during the current JOB. In this case, the master cartridge from the last JOB or that W~IS specified during a cold start is used. The first cartridge ID can be used to define a system cartridge that is different from the one currently being used as logical drive O. The specified cartridge must be the same monitor modification level as the one it replaces. CIB ID. This is the ID of the cartridge that contains the core image buffer to be used during the current job. The CIB ID is optional. If this ID is omitted, the CIB on the master cartridge is assumed by the system. If the CIB on the specified cartridge has been deleted, the CIB on the master cartridge is assumed for the current job. Core image programs are built faster when the specil1ed CIB is on a cartridge other than the master cartridge. Working Storage ID. This field specifies the cartridge that contains the working storage thaUs used during the current job. The working storage ID is optional. If this ID is omitted, working storage on the master cartridge is used except when otherwise specil1ed on DUP control records (se:e "DUP Control Records" in this chapter). Core image programs are built faster when the specified working storage is on a cartridge other than the master cartridge. They can be built even faster when the IBM system area, the CIB, and working storage are all on separate cartridges. ,5-4 Monitor Control Records /I JOB II ASM Programs are assembled or compiled faster when system working storage is on another cartridge. (See "*FILES" under "Supervisor Control Records" in this chapter for specifying working storage for use by your programs.) Unformatted Disk I/O ID. This field specifies the·cartridge that contains the unformatted I/O disk buffer area to be used during the current job. The unformatted disk I/O ID is specified when only unformatted I/O (data me named $$$$$) is used during execution of a FORTRAN program. (See "Initializing $$$$$ Data Files for Use With FORTRAN Unformatted I/O" in Chapter 6 for more information.) Date, Name, Etc. This information is printed on the top of each page printed by monitor system programs, except RPG. This causes a skip to channell on the 1132 or 1403 printer or 5 consecutive carriage returns on the console printer. The page count is reset to one, and the current page heading is replaced with whatever appears in columns 51 through 58 of the JOB control record. HDNG statements (assembler language) and ** records (FORTRAN header control record) cause additional information to be printed. EQUAT Record Count. This parameter specifies the number of EQUAT supervisor control records (if any) that follow the JOB control record. These records are read and written in the supervisor control record area (SCRA). II JOB Examples 1 10 5 15 20 25 30 35 45 40 50 55 II kllolB t/()~ II I 1~ 1-1- ~ ~f-- '- f-,- ~ f-,- 1-.f-f-- I- ~f-- l- f-I- I- ~I- I- 1--- -1-r-'--'- 1-- -'r --- +~-.-+:::= -- ---r--- - -r --- 0 f) This specifies temporary mode for the current job, a heading for each printed page, and that 2 EOUAT control records follow. e ~+- o-Z-- J'() 1¢15 ~~ ~6 This is all that is necessary for a one-drive system. f-- f-I- 1() I'~ if) t)~ 65 _.. Wl4 4IJE 7 II Jk:>~ ~f-- 60 .- -+-I--~ - - f-.- -.- - ._.- l-i-+- _~-- ..- l--I--I- This specifies disk lOs 1004, 1005, and 1006 on logical drives 0, 1, and 2, respectively, and that 1005 contains the CI Band 1006 contains working storage for this job. - - -r---,----r-I-~ .. ~~- f- -f- I I- r ~- . ~-I-- -f 1--1---- 1-1- r: ~t~:~ II ASM general function This control record causes the supervisor to read into core storage and transfer control to the assembler. Any assembler control records used and the source program statements to be assembled must follow an ASM control record. Monitor comments control records (// *) cannot follow an ASM control record. format Card column Contents 1 through 6 IIt6ASM 7 through 80 Not used Explanation Control Records 5-5 Monitor Control Records /I FOR /I COBOL 1/ RPG 1/ DUP II FOR general function This control record causes the supervisor to read into core storage and transfer control to the FORTRAN compiler. Any FORTRAN control records used and the source statements being compiled must follow a FOR control record. Monitor comments control records (/ / *) cannot follow this control record. format Card column C:ontents 1 through 6 IIt6FOR 7 through 80 Not used Explanation /I RPG general function This control record causes the supervisor to read into core storage and transfer control to the RPG compiler. RPG control cards and specification statements must follow an RPG control record. Monitor comments control records (/ / *) cannot follow an RPG con trol record. format Card column ('..on tents 1 through 6 llt6RPG 7 through 80 Not used Explanation II COBOL ~jeneral function format This control record causes the supervisor to read into core storage and transfer con1trol to the COBOL compiler (a program product). Monitor comments (// *) control records cannot follow a COBOL control record. Card column Contants 1 thrQlJgh 8 IIt6COBOL 9 through 80 Not used Explanation /I DUP ~jeneral 5-6 function This control record caus·es the supervisor to read into core storage and transfer con1trol to the control portion of the Disk Utility Program (DUP). A DUP control record (see :'DUP Control Records" in this chapter) must follow this control record. Only one / / DUll monitor control record is required to process any number of DUP control records. Monitor comments control records (/ / *) can follow the DUP monitor control record. Card column Contents 1 through 6 /1t6DUP 7 through 80 Not used Explanation Monitor Control Records II XEQ I/XEa general function This control record causes the supervisor to initialize for execution of a core load. Comments control records (// *) can follow an XEQ control record if supervisor control records do not follow and if data is not entered through the principal input device during execution. The comments control records are printed after execution is complete. format Card column Contents 1 through 6 /IVJXEQ 7 Reserved 8 through 12 Name 13 Reserved 14 Core map indicator 15 Reserved 16 and 17 Count 18 Reserved 19 Disk I/O subroutine indicator 20 Reserved 21 through 24 Cartridge 10 25 Not used 26 LOCAL-callLOCAL indicator 27 Not used 28 SpeciallLS indicator 29 through 80 Not used Explanation This is the name (left-justified) of the DSF program or DCI program to be executed. L or blank. An L indicates that a core map is to be printed for this and all DSF programs linked to during this execution. A decimal number (right-justified) that indicates the number of supervisor control records that fOllow. This specifies the disk 1/0 subroutine to be loaded into core by the core image loader for use by the core load during execution. The 10 of the cartridge that contains the mainline program in its working storage (valid only if a name is not specified in columns 8 through 12; blanks in this field indicate that the program is in system working storage when a name is not specified in columns 8 through 12). A punch in this column enables a LOCAL subroutine to call another LOCAL. A punch in this column indicates that ILSs for this core load should be chosen from the special I LSs. Note: When column 14 is blank, no warning is given if a file is truncated while a FORTRAN core load is being built. Con trol Records 5-7 Monitor Control Records II XEa additional field information Name. This is the name of the program, stored in the user area or fixed area, that is executed. When this field is omitted, the program to be executed is assumed to be stored in system working storage, or in working storage on the cartridge specified in columns 21 through 24 of this control record. Core Map Indicator. An L punched in column 14 of this control record causes the printing of a core map for the program being executed and for all programs linked to during execution (see "Reading a Core Map and a File Map" in Chapter 6 for examples of cme maps). Count. A right-justified decimal number in columns 16 and 17 indicates the number of supelVisor control records (LOCAL, NOCAL, FILES, and G2250) that follow this control record. Disk I/O Subroutine Indicator. A decimal number in column 19 identifies the disk I/O subroutine used by the core load during execution. Column 19 Disk I/O subroutine blank ,or Z DISKZ DISKI DISKN o or 1 N Any other character is invalid and causes execution to be bypassed. All DSF programs that are linked to during execution must use the same disk I/O subroutine as the program that calls them. LOCAL-Call-LOCAL Indicator. A punch (any character) in column 26 provides for a LOCAL subroutine to can another LOCAL subroutine during execution, provided the restrictions listed under "LOCAL-Calls-a-LOCAL" in Chapter 6 are met. SpecialILS Indicator. A punch (any character) in column 28 indicates that special interrupt level subroutines (ILSs named with an X before the number, as ILSX4) are used for this core load. If column 28 is blank, the standard set of ILSs is used. In addition to the functions of the standard ILSs, special ILSs at the beginning of their execution save the contents of index register 3 and set this register to point to the transfer vector. Special ILSs n~store the original contents of index register 3 at the end of their execUrtion. Because the special ILSs save and restore the contents of index register 3, you can use this register in your programs. Special ILSs require 5 more words of core storage per ILS than standard ILSs. The ~:pecial ILSs for interrupt levels :2 and 4 are loaded, together with other subroutines, as part of the core load. You can write ILSs to replace any of the IBM-supplied ILSs, standardl or special. 5-8 Monitor Control Records II XEQ 1/ * (cbmments) II XEQ Examples -I 10 5 20 15 30 25 35 40 II IXElc; -f- WA ~IE I/ XEQ II XEIQ I¢z X X I-r- r-~r- c-t- --+- - f--- r-I-- -~ -l- f---- 11;Id4 L - - -f- 5C 45 - -- 0 This specifies execution of the program stored in working storage on the master cartridge. E) This specifies that the named program (in the UA or WS) is to be executed, that two supervisor control records follow, that a LOCAL calls another LOCAL, and that the special I LSs are to be used for this core load. 8 This specifies the printing of a core map, and that the program stored in working storage on disk 1004 is to be exectued. r -- I-t-I-r- 1-1I-I-r r--'-r --f--f---f--f- IiIIIIIIIIIi '-- -_._- I--f-- f- I I I I I I I I I I I I I I-tt II t tt tmt I tiut II * (Comments) general function This control record causes the alphameric comments contained on the / / * control record to be printed on the principal print device. The information is read and printed, and the next control record is read from the input stream. Comments control records can be used preceding a PAUS monitor control record to instruct the operator as to what he is to do during the pause in monitor system operations. When the console printer is used to print monitor and supervisor control records as a result of a CPRNT monitor control record, comments control records are printed on the principal printer. Comments control records cannot immediately follow an ASM, RPG, FOR, or COBOL monitor control record. Comments control records can follow an XEQ control record if supervisor control records do not follow and if data is not entered from the principal input device during execution. format Card column Contents 1 through 4 I/t/J* 5 through 80 Comments Explanation Any alphameric characters can be used. Can trol Records 5-9 Monitor Control Records /I PAUS /I TEND /I TYP /I PAUS general function This control record causes the supervisor to pause at a WAIT instruction. Supervisor operation continues when you press PROGRAM START on the console. This pause allows you to perfonn operator actions, such as add cards to the card reader, change satellite disk cartridges, or change paper tapes within a JOB stream. The status of the monitor system is not changed during a pause. Monitor comments control records (// *) preceding a P AUS control record can describe the operator actions perfonned during the pause. format Card column Contents 1 through 7 lit6PAUS 8 through 80 Not used Explanation /lTVP gE~neral function This control record temporarily assigns the console keyboard as the principal input device. The keyboard replaces the card or paper tape reader as the principal input device until a TEND monitor control wcord is entered through the keyboard. The use of the keyboard as the prinCipal input device for entering control records, program statements, and data is described under "Entering Jobs from the Console Keyboard" in Chapter 7. format Cal'dcolumn Contents 1 through 6 1/t6TYP 7 through 80 !\lot used Explanation /I TEND gtmeral function This control record reassiigns the card or paper tape reader as the principal input device. The reassignment is to the device that was the principal device before the TYP monitor control record was read. A TEND control record Gan be entered only from the keyboard. f()rmat 5-10 Card column Contents 1 through 7 I/t6TEND 8 through 80 Not used Explanation Monitor Control Records II EJECT 1/ CPRNT II CEND /I EJECT general function This control record causes the 1403 Printer or 1132 Printer, whichever is the principal print device, to skip to a new page and print the page header. When the console printer is assigned as the principal printer, or when a CPRNT monitor control record has been processed,S lines are skipped and the page header is printed. format Card column Contents 1 through 8 1116EJECT 9 through 80 Not used Explanation /I CPRNT general function This control record causes monitor and supervisor control records that follow CPRNT to be printed on the console printer. All other control records and monitor comments control records are printed on the principal print device. An EJECT monitor control record read after a CPRNT affects the console printer rather than the principal print device. A CEND monitor control record is used to return the printing of monitor and supervisor control records to the principal print device. A system reload and/or the DEFINE VOID function of the Disk Utility Program (DUP) also restores the original principal print device. format Card column Contents 1 through 8 I1I6CPRNT 9 through 80 Not used Explanation /I CEND general function This control record restores the printing device that was the principal printer before a CPRNT monitor control record was processed. format Card column Contents 1 through 7 I1I6CEND 8 through 80 Not used Explanation Con trol Records 5-11 Supervisor Control Records how to code SUPERVISOR CONTROL RECORDS functions Supervisor control records are used by the core load builder to: • Provide for subroutine overlays during execution, *LOCAL • Include in the core load subrou tines that are not called, *NOCAL • Equate disk storage data mes defined in a mainline program during compilation or assembly to specific files that are stored on disk, *FILES • Provide graphic display capabilities, *G22S0 • Substitute a subroutine with another subroutine, *EQUAT LOCAL, NOCAL, FILES, and G22S0 supervisor control records are pJaced in the input stream following an XEQ monitor control record, which names a mainline program stored in disk system format, or following a STORECI DUP control record. (*G2250 (*FILES ( *NOCAL ~ (*LOCAL ~- *STORECI04 /I XEa 04 I~ In either case, the control records are written on disk in the supervisor control record. area (SCRA), from which the core load builder reads them for processing during construction of a core load. Up to 99 supervisor control records can follow an XEQ or STORECI control record; Supervisor control record~~ do not have to be placed in any special order by type; however, all the control records of one type must be kept together. EQUAT control records are placed after a JOB monitor control record and maintain their function until the next JOB control record is read from the input stream. ( *eaUAT ~----------------------------------.--.I II JOB 01 The supervisor reads EQUAT c~ntrol records and writes them into the SCRA, from which the core load builder reads them for processing during construction of a core load. coding An asterisk (*) is coded in column one of all supervisor control records. The rest of the information specified in supervisor control records, except the G22S0 control record, is co~ed continuously; that is, blanks (referred to as embedded blanks) cannot be coded within the characters in a record. Information specified in the G22S0 control record must be coded in the fields indicated in the G2250 format description in this section. The program name that is coded in all types of supervisor control records can be either the primary entry point name or any secondary entry point name in the program. 5·12 Supervisor Control Records *LOCAL *LOCAL general function This control record specifies the names of LOCAL (load-on-call) subrou tines that are to be read, when called during execution, into the LOCAL overlay area of a core load. (See "Rules for LOCAL and NOCAL Usage" and "!:'OCAL-Calls-a-LOCAL" in Chapter 6.) format Note: Embedded blanks are not allowed in a LOCAL control record. additional field information MAINl. You replace MAIN! with the name of the DSF mainline program that is already stored in the user area on disk. ,SUBl,SUB2, . .. SUBn. You replace SUBl through SUBn with the names of the sub- rou tines that are used as LOCALs with the specified mainline program. continuation records The specification of LOCAL subroutines can be continued from one LOCAL control record to another by placing a comma after the last subroutine specified on each LOCAL control record, except the last. The name of the mainline program is not included on the continuation control records. 1 continuation example 5 10 15 20 30 25 4L ~l4 IN 1, su ~t , S UR 2, *L IOC ok: IAL 11k; 83, --f-- 0------ *L · - --~-- ,-- 35 - --f--- - f-- - - 40 - - r-f-- ~-- - f - ~§r---- -f-- ---c-c -- -1-- · f-f- -- · -- - :rrL loe AL SIU Bn ,---- -f-- ---- - ---- --- ---- ,--- r-c- ,--- ' - - - - - - -- ,--- f-- ------ I· . --f-+ - -- -- - 0--1- '-- -- - 50 r-,-- -~- ----- lhe results would be the same if the control records were: 1 5 10 15 20 25 30 t-+-++-+-1t-+-+-+--t-t-+-+-1t-+-+--t-t--+-+-+-t-+-+--Ir--t--t--t--- - r-- f--f-- 35 -- f--- r~c --·-1 40 , ., = Con trol Records ~ 5-13 Supervisor Control Records *LOCAL *NOCAL All LOCAL subroutines that are used by each mainline program during execution must be specified on LOCAL control records following the XEQ monitor control record that starts execu tion. coding for linked programs Separate LOCAL control records must be used for each mainline program that calls LOCAL subroutines during execution. example 5 1 10 IL ole AIL ~A IW 1 , ~ I~L Illil' l.llil ~I.ll I lIN 2, s .. _- f-- - -f-· MAIN2. You replace MAIN2 with the name of a mainline program that is called by the program represented by MAINl. nUlinline program in working storage When the mainline program is to be executed from working storage, the name of the mainline program is omitt~d from LOCAL control records. This same format is used when LOCAL control records are specified with the Di-sk Utility Program (DUP) STORECI operation. example *NOCAL general function This control record specifies the names of NOCAL (load-although-not-called) subroutines that are to be associated with a specified mainline program. NOCAL subroutines are included in the core load even though they are not called. (See "The Use of NOCALs" and "Rules for LOCAL and NOCAL Usage" in Chapter 6.) NOCAL control records are coded in the same format as LOCAL supervisor control records, except that *NOCAL is coded in place of *LOCAL. .---' 1 - - - - - - - - . - -.• 10 5 NIN 00 AL ~A format ex.amples • ~~ OC AL IW 11, S - ..... ,Ij lJ~ 1'~I~ - ._- - In the first format example, the specified NOCAL subroutines are included in the core load built for the stored mainline program, MAINl. In the second format example, the specified NOCAL subroutines are included in the core load built for a mainline program in working storage. See "*LOCAL" for information about continuing a control record to another, and coding for linking between programs. 5-14 Supervisor Control Records *FI LES *FILES general function This control record equates the file numbers specified in FORTRAN DEFINE FILE statements or in assembler FILE statements to the names of data files that are stored in the user area and fixed area, or in working storage other than system working storage. All the data mes in the user area or fixed area that are used by core loads during execution must be defined on FILES control records following the XEQ monitor control record that starts execution. All files thus defined are available for use by each core load in the execution. Data fIles that are equated for a program that is stored in disk core image (DCI) fonnat must be stored in fixed areas for successful execution of the program. (See "Disadvantages of Storing a Program in Disk Core Image Fonnat" in Chapter 6.) When data mes are equated for a DCI program and are stored on other cartridges, the data fIles must be stored in the same location on the other cartridges as they were when the DCI program was stored for successful program execution. Also, the other cartridges must be on the same logical drives as they were when the DCI program was stored. These restrictions are necessary because the core load builder places in the define fIle table in the DCI program header an absolute sector address, including the drive code, for each equated data fIle. No more than 159 data fIles can be equated for one execution. 1 format 5 10 15 .. , ..., 20 25 30 35 40 , ( PI l.E n , N~. ~~ 11 ) IF I Lf S( FI Lt 1 , IIA 'M!E. 1) I, • If I Lt S( If I ~~ 1 , W14 ~~ f , ~A ~1 I) ., rlf IL ~" ,N A~ !.", ( fl 'i.E 11 , ')1£1 ~~ n) If. I LE. S( fl LIf- 1, f4!~ t) ,e ., Note: Embedded blanks are not allowed in a FI LES control record. additional field information FILEl Through FILEn. You replace these with the file numbers that are specified in the FORTRAN DEFINE FILE statements or assembler FILE statements in your program. NAMEl Through NAMEn. You replace these with the names of the data fIles that are stored on disk. Names can be omitted as in the third *FILES record in the format. When omitted, 2 commas are required in the con trol record format, and the me is placed in working storage on the specified disk. CARl Through CARn. These are the IDs of the cartridges on which the respective data mes are stored. The cartridge ID can be omitted. When omitted, the corresponding data me is assumed to be on the cartridge on the lowest logical drive. continuation records The specification of data files can be continued from one *FILES control record to another by placing a comma after the last right parenthesis on each *FILES control record, except the last. 1 continuation example 5 10 15 20 25 JfF IL ~s (F IL 1£1 ~N ~M ~t ) , JJF IL ES (IF IL IlZ ,N~M IfZ ,~ ~E $-) .1 . 30 35 JliF IV- ,!=S (F IL e.n I,N Ar\1 IE 11 -------- - - -- --!- >-- . ~ 50 45 40 - - ~- - --- - c-c--i--- ---~- - f--- , eAI2 11) ~~- t---r-- f- ~--- ~---- r-- - 1-- --- r--- -- t--~ 1------ -- I--- t---~ f----- -->-- - --- -- --- ~- - Control Records 5-15 Supervisor Control Records *G2250 *G2250 general function This control record causes the graphic subroutine package (GSP) communication module (GCOM) to be included in a core load immediately following the mainline program. Other supporting subroutines are also loaded into this area depending on the parameters sped. fled'in the *G22S0 control record. (See the publication IBM 1130/2250 Graphic Subroutine Package for Basic FORTRAN IV, GC27-6934, for instructions on properly loading the mainline program, and for information concerning the use of GSP subroutillles as LOCALs and core storage layout requirements. format eardcolumn Col1ltents Explanation 1 through 11 *G225Omlmne Specifies that graphic support is required for the named mainline program. You replace mlmne with the name of the program. I f the program being executed is in working storage, the program name is omitted. 12 Res;erved 13 U, blank, or N U indicates the character stroke subroutine containing upper case, numeric, and special characters is loaded. Blank indicates the character stroke subroutine containing upper case, lower case, numeric, and special characters is loaded. N indicates that a character stroke subroutine is not loaded. 14 Re::;erved 15 Blenk or N Blank indicates the scissoring subroutine is loaded. N indicates the scissoring subroutine is not loaded. 16 Reserved 17 BIElOk or N Blank indicates the ICA area expansion subroutine is loaded. N indicates the ICA area expansion subroutine is not loaded. 18 Reserved 19 Blunk or N Blank indicates the index controlled entity subroutine is loaded. N indicates the index controlled entity subroutine is not loaded. 20 Re:served 21 BlI!mk or N Blank indicates the level controlled direct entry subroutine is loaded. N indicates the level controlled direct entry subroutine is not loaded. 22 through 80 5-16 Not used Supervisor Control Records *G2250 *EQUAT 1 examples 5 10 20 15 ML MN!E lJ 2.25 '-1L MNE U *6 *0 225 ML NNE ~G 22.5 N N ~ 30 25 35 45 40 ~ _.. . --r'- t-- .. ~- -- _. c···_• • • _. r'- -- 50 f-- -._. ..... c·- .t---t--- .- - f- I *EOUAT general function With this control record, you specify the substitution of subroutines during the building of a core load. This control record can also substitute symbolic names in assembler language DSA statements (limited to assembler programs). The EQUAT control record cannot be used to substitute subroutines for RPG programs. More than one EQUAT control record can be used if the exact number of records used is punched in columns 60 and 61 of the preceding / / JOB monitor control record. (Information about using EQUAT control records is under "Use of the EQUAT Record" in Chapter 6.) format additional field information SUB1, SUBm represents the name of the old subroutine. SUB2, SUBn represents the name of the new subroutine. SUB2 is substituted for SUBl. This same order of substitution is used when substituting symbolic names for DSA statements. Note. The maximum number of pairs of subroutines that can be specified is 25. During the following functions, the substitution of SUB2 for SUBI is accomplished in the execution of the mainline program from working storage and the storing of MAIN. 1 example 5 II uOB 10 I~E laU A:7 (~ (JB 1. , 20 15 50 25 55 60 6S f SU IR 21) ·- "._. ,'" -'- f-f-- .. f--f--- .. --.- f-f- -,-- \ 1/1/ XEQ f---- · \ r--- · · // DUP 1tS 70 'RE CI --- I-. WiS VA r- MA I N -t---- r-c'- -. t--. ..- -- -.- ---- / I JOB ---- I I t---- - f-- . . I- - Con trol Records 5-17 DUP Control Records how to code DUPCONTROlRECORDS functions DUP control records are used to specify operations to be performed by the Disk Utility Program. The types of operations that DUP control records specify are: • Dumping and deleting programs and data files from disk • Storing programs and data files on disk • Printing the contents of the fixed location equivalence table (FLET) and the loc.ation equivalence table (LET) • Rewriting sector addresses in working storage • Defining a fixed area on disk • Deleting monitor system programs from disk • Allocating disk space for data fIles and macro libraries • Calling the Macro Update Program (MUP) into operation DUP control records are placed in the input stream after a DUP monitor control record (/ / DUP) as follows: //JOB Source program Assembler control records c:oding 5-18 --~~{~~~~~~~~~~ -'--)~~~~~~~~~~~~ DUP control records generally follow the format described in the following text. All fields in the control record, except the count field, are left-justified and, unless otherwise stated, are required. Additional field information is included, when necessary, in the description of the specific control record. OUP Control Records how to code Column 1. Column I always contains an asterisk (*). Operation Field. Code the name of the desired DUP operation in columns 2 through 12 (2 through 21 for the DEFINE operation, and 2 through 13 for the MACRO UPDATE operation). Columns 2 through 6 identify the basic operation (STOREDATACI); columns 7 through 12 (or 21) identify the extended operation (STOREDATACI). Where shown in the control record format, a blank character (~) is required within or following the operation name. From and To Fields. Code the from symbol in columns 13 and 14; that is, the symbol specifying the disk area or I/O device from which information is to be obtained (the source). Code the to symbol in columns 17 and 18; that is, the symbol specifying the disk area or I/O device to which information is to be transferred (the destination). The valid from and to symbols are: Symbol UA Disk area or I/O device User area on disk FX Fixed area on disk WS Working storage on disk CD Card I/O device. If the 1134 Paper Tape Reader is defined as the principal input device, CO is equivalent to PT. PT Paper tape PR Principal print device Note. The symbols UA, FX, and WS, when used, each specify an area on disk but do not identify the cartridge on which the area is found. Name Field. Code the name of the program, data file, or macro library involved in the specified operation in columns 21 through 25. The name that you specify in this field for a store operation is the name assigned to the program, data me, or macro library, and is used to generate or search for a LET or FLET entry. The name can consist of up to 5 alphameric characters, and must be left-justified in the field. The first character must be alphabetic (A-Z, $, #, @), and blanks (embedded blanks) are not allowed between characters of the name. When referencing a program or data file stored on disk, the specified name must be an exact duplicate of the LET or FLET entry. Count Field. The count coded in columns 27 through 30 is a right-justified decimal integer. The function of the count field is defined in the individual control record fomlats for those operations that require it. From and To Cartridge ID Fields. Code the from cartn'dge ID in columns 31 through 34; that is, the ID of the cartridge that contains the disk area from which information is to be obtained. Code the to cartridge ID in columns 37 through 40; that is, the ID of the cartridge that contains the disk area to which information is to be transferred. Either or both of these cartridge IDs can be omitted. When a cartridge ID is omitted, and the corresponding from or to field (columns 13 and 14 or 17 and 18) is the user area or fixed area, a search is made of the LET (and FLET) on each cartridge specified in the current JOB monitor control record. The search starts with the cartridge on logical drive zero (the master cartridge) and continues through logical drive 4. If the from or to field (columns 13 and 14 or 17 and 18) is working storage, a default to system working storage is made when cartridge IDs are omitted. When a cartridge ID is specified, the LET (and FLET) only on the specified cartridge is searched, or working storage on the specified cartridge is used. Control Records 5-19 DUP Control Records altering LET/FLET summary of operations The use of the from and to cartridge IDs makes it possible for DUP (1) to transfer programs and data files from one cartridge to another without deleting them from the source cartridge, and (2) to process a program or data me even though the same name appears in the LET or FLET on more than one cartridge. Unused Columns. All columns indicated as reserved between column 2 and the last format field on each control record must be left blank. The columns between the last format field and column 80 are not used by DUP and are available for your remarks. Altering LET and FLET The 2 tables, location equivalence table (LET) and fixed location eqUivalence table (FLET), are directories to the contents of the user area and fIxed area, respectively, on disk. You can alter the contents of these 2 tables through the use of DUP store and delete operations only. Before storing a program or data me, DUP searches LET and FLET for the name specified in the control record. When a cartridge is specified in the to cartridge ID fIeld on the control record, LET (and FLET) on only that disk is searched for the specified name. When a to cartridge ID is not speciified, LET (and FLET) on all cartridges defined in the current JOB monitor control recOll"d is searched. If the specified name is not found in any LET or FLET, disk storage is allocated for the program or data file. The specifled name is assigned to the program or data fIle and is used to generate a new entry in LET or FLET. When dumping or deleting a program or data me from the user area or fixed area, the name specified in the control record is searched for in LET and FLET in the same order as the search before a store operation. If the specified name is found, the program or data me is dumped or deleted as specified in the control record. Information Transfer and Format Conversion Figure;5-1 summarizes the DUP operations that transfer information from one device or disk area to another device or disk area. In addition, the format conversions that are made during the transfer of infonnation are shown. The different formats are described in Appendix I. The acronyms used in Figure 5-1 for the various formats are: Acronym DSF DDF DCI CDS COD CDC PTS PTD PTC PRO NCF Format Disk system format Disk data format Disk core ima;ge format Card system format Card data for mat Card core imElge format Paper tape sy::;tem format Paper tape data format Paper tape core image format Pri nter data format Name code fClrmat You should pay particular attention to Figure 5-1 when performing dump, store, and delete operations, such as, dumping to cards and later using the cards to store the information back on the disk. Note that more than one way to dump and store data and porgrams is allowed, such as dumping a program to cards and later storing it back to disk. 5-20 FromAn. To Ar.. Symbols, with Formats Svmbals. with Formats FX UA DSF DDF DCI DDF DSF UA CD WS DCI DSF DDF DUMP DUMPDATA DDF !;lUMP DUMPDATA DCI DUMPDATA DDF DUMP DUMPDATA DCI DUMPDATA DCI COS COD DUMP DUMPDATA PT CDC PTD DUMP DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMP DUMP DATA DUMP DUMPDATA DUMP DUMPDATA PR PTS DUMP DUMPDATA DUMP DUMPDATA PTC DUMP DUMP DUMPDATA PRO DUMP DUMPDATA DUMP DUMPDATA FX DSF WS STORECI STO RE DATA STORECI DUMP STORE MOD STORE DATA DUMP DUMPDATA DCI STORE DATA STOREMOD STOREMOD STORE DATA. STOREDATACI STOREDATACI DUMPDATA STORE STOREDATA STORECI STOREDATA STORECI STORE STOREDATA STOREDATACI STORE DATA STOREDATACI STORE DATA STOREDATACI CDC STORE DATA STOREDATACI STOREDATA STOREDATACI STORE DATA STOREDATACI STORE DATA PTD PTC I STORECI STORE DATA STORECI STORE DUMP DUMP DUMP DUMP DUMPDATA DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMPDATA STORE DATA STOREDATA STOREDATACI STORE DATA STOREDATACI STOREDATA STOREDATACI STOREDATA STOREDATACI STOREDATAj STOREDATACI STORE DATA STOREDATACI Note: DUMPDATA E and STOREDATAE.., the _ . DUMPDATA and STOREDATA, respectively, except thet inforlNtion on disk for DUMPDATA E is assumed to be in pecked EBCDIC fornwt. and input for STOREDATAE is converted to pecked EBCDIC format. DUMPDATA DUMP DUMP DUMPDATA STOR E DATA COD STORE DUMP DUMPDATA STOREMOD STOREDATA PTS PT STORE DATA DDF COS CD STORE STORE MOD DUMPDATA DUMP i i I I ! DUP Control Records restrictions in T-mode *DUMP Restrictions Caused by Temporary Mode When temporary mode is indicated in the current JOB monitor control record, some DUP operations are restricted or not allowed. The following chart shows the restriction, if any, on DUP operations when temporary mode is indicated. DUP operations Restrictions DUMP None DUMPDATA, DUMPDATAI6E None STORE None STORECI To UA only STOREDATA, STOREDATAE To UA and WS only STOREDATAC! To UA only STOREMOD Not allowed DUMP LET None DUMPFLET None DWADR Not allowed DELETE !'Jot allowed DEFINE FIXED AREA Not allowed DEFINE VOID ASSEMBU:R Not allowed DEFINE VOID FORTRAI\I Not allowed DEFINE VOID RPG Not allowed DEFINE VOID COBOL Not allowed DFILE To UA only MACRO UPDATE Not allowed *DUMP general function This. control record (1) transfers information from the user area or fixed area to working storage, or (2) makes information from the user area, fixed area, or working storage available as card, paper tape, or printed output. Card, paper tape, and print formats are illustrated in Appendix I. DSF programs are transferred from the user area or fixed area to output devices in 2 phases. The programs are first moved to system working storage, then to the outpu t device. As a result, information residing in working storage before the DUMP operation is destroyed. DCI programs and data fIles are transferred directly from the user area or fixed area to the ou tpu t device. The contents of working storage remain unchanged. 5-22 DUP Control Records *DUMP DUP obtains the number of disk blocks to be dumped from the LET or FLET entry for a DSF program or a data file, or from the appropriate working storage indicator in sector @DCOM if the dump is from working storage. The actual core load length in words of a DCI program is dumped. The word count is obtained from the core image header. Dumps of a DSF program and a DCI program are contained in Appendix I. format Card column Contents 1 through 6 *DUMPIh 7 through 12 Reserved 13 and 14 From symbol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 through 30 Reserved 31 through 34 From cartridge 10 35 and 36 Reserved 37 through 40 To cartridge 10 41 through 80 Not used Explanation See the following summary chart. See the following summary chart. A name is required except when the dump is from working storage to the printer. The following chart is a summary of the information transfers and format conversions performed by the DUMP operation. *DUMP summary chart From symbols, including formats To symbols, including formats UA(DSF) WS(DSF) UA or WS(DSF) CD (CDS) PT(PTS) PR(PRD) UA or FX(DDF) WS(DDF) UA, FX, or WS(DDF) CD(CDD) PT(PTD) PR(PRD) UA or FX(DCI) WS(DCI) UA, FX, or WS(DCI) CD (CDC) PT(PTC) PR(PRD) Control Records 5-23 DUP Control Records *DUMP *DUMPDATA additional field information From Symbol. When a dump is from working storage and the corresponding working storage indicator is zero, an error message is printed. To Symbol. When a dump is to cards and a 1442, Model 6 or 7, is used, each card is checked to see that it is blank before it is punched. If a nonblank card is read, the monitor system prints an error message and waits at $PRET with /1 OOF displayed in the ACCUMULATOR. Note 1. The program name in a DSF mainline program header is cleared to zeros wht:n the program is transferred from the user area to working storage. Note 2. The subtype in a subroutine header is set to zero when the subroutine is dumped from the user area to cards. *DUMP Examples - ------ o 1 5 *lD IliHP I~S ~::. X WS r--- -- r-I- r-i-- -- 30 35 40 45 IP'R r--- +- 1*ln UMP 25 20 f-JJ A- W5 €) *ID UIMP e 15 10 50 - ~- -- - --f-- -- MAI N ~c ._ MA l.tJ1 - .. - - --- - - f--r- - 1-. - Up 103 ---- --r- 1--1- .- - 0 This dumps a program from working storage to the printer. €) This dumps a program named MAl N from the user area to working storage. . - - e This dumps a program named MAl N 1 from the fixed area on disk 1003 to system working storage. -I tttliii-t-H--t-tttt-t-ttttTt"1-H-t1tTttitlt1- *DUMPDATA general function This control record (1) tIansfers information from the user area or fixed area on disk to working storage, or (2) makes information from the user area, fixed area, or working storage available as card, paper tape, or printed output. Card, paper tape, and print formats are illustrated in Appendix I. The contents of working storage are not changed when dumping to output devices, because information is tran::;ferred from the user area, fixed area, or working storage directly to the ou tpu t devices. The DUMPDATA operati.on differs from the DUMP operation in that the information is always in data format after transfer. Also, the amount of information transferred depends on the count field, if present, of the DUMPDATA control record or the block count of the program or data file. 5-24 OUP Control Records *OUMPDATA format Ca;d coluinn Contents' 1 through 10 *OUMPOATAI6 11 and 12. Reserved 13 and 14 F,omsy~bol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge 10 35and:36 ReserVed 37. through 40 To· cartridge I 0 41, t~rough. 80 Not used *I)UMPDATA From symbOls, including formats See the following summary chart. See the following summary chart. A name is required except when the dump is from working storage to the printer. The count (a right-adjusted decimal number) specifies the number of sectors to be dumped. If this field Is blank, the working storage indicator or disk block count In LET or FLET Is used. The following chart is a summary· perfonnedby DUMPDATA. summary chart Explanation of the information transfers and format conversions . To symbols, including formats Ws(OOF) UA or WS(OSF) CO(COO) PT(PTO) PR(PR'O) UA or FX(OOF) WS(OOF) UA, FX, or WS(OOF) CO(COO) PT(PTO) PR(PRO) UA(OCn or FX(OOF) WS(OOF) UA, FX, or WS(OCI) CO(COO) PT(PTO) PR(PRO) Control Records 5-25 DUP Control Records *DUMPDATA *DUMPDATA E iildditional field iinformation To Symbol. When a dump is to cards and a 1442, Model 6 or 7, is used, each card is checked to see that it is blank before it is punched. If a nonblank card is read, the monitor system prints a message and waits at $PRET with /1 OOF displayed in the ACCUMULATOR. Count. This field specifies the number of sectors to be dumped. If present, the count overrides the contents of the working storage indicator or the disk block count in the LET or FLET entry; when present, this number of sectors is dumped regardless of the length of the program or data file. *OUMPDA TA Examples -----_._-- ,-------_..._ - 1 10 5 1D UMP AlTA -- f- --f- *~ UM [P DA T~ ~~ UMIP ~17 Ae-- 20 15 cr -f- CD UA -- E~ -- iC;-- _W ~~ - s 25 __ W-- -- ~D_ - !-- - - --f-- - - e @ -f-- --e 35 aT At --- - f- -- -p i~ j) AI Al - - liD 03 -1- -- -- -- f----- f - - ---- --f-- f- -~~ l~li --f---- r--::- -- r--- -f- -f- -- - - - 1--- -- - -- f-- --- f - - -- 1~~ 2 -- ------ --~ 50 ._-- 45 40 ¢rp l¢J DA TA --1--- 0 30 - --- -- - --- --- --1---- -- -- -- -~ c-- - - f - -I---- - -- - r-c--- -- - ,------- f- -- --- --- ---- Thlis dumps a data file named DATA from the user area to cards. Thl:s dumps a data file named DATA1 from the fixed area on cartridge 1003 to working storage on cartridge 1007. Thlis dumps a data file namectDATA2 from working storage on cartridge 1002 to paper tape. -- -t-jtt tf- r-t-t-ti-t-t i t-t-t-tt-ttti-ttt-t-t-t1ltt -t t t-tt-t- -- -- - - - *DUMPDATA E !;)Emeral function This control record (I) transfers information from the user area or fixed area to working storage, or (2) makes information from the user area, fixed area, or working storage available as card or printed output. The DUMPDATA E operation to output devices differs from the DUMPDATA operation in that the information on disk, which is assumed to be in packed EBCDIC form, 40 words per 80 card columns, is converted to card image format. Thus~ the information printed on a printer is one line per source card (80 print positions), and card output is an exact, full 80 column duplicate of the input cards in the corresponding STOREDATAE operation. When the destination is working. storage, format conversion does not occur. 5-26 DUP Control Records *DUMPDATA E The contents of working storage are not changed when dumping to output devices, because information is transferred from the user area, fixed area or working storage directly to the output devices. format Card column Contents 1 through 11 *DUMPDATAI6E 12 Reserved 13 and 14 From symbol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge I D 35 and 36 Reserved 37 through 40 To cartridge I D 41 through 80 Not used Explanation See the following summary chart. See the following summary chart. A name is required except when the dump is from working storage to tlie printer. The count (a right-adjusted decimal numbed specifies the number of sectors to be dumped. If this field is blank, the working storage indicator or disk block count in LET or FLET is used. The following chart is a summary of the information transfers performed by DUMPDATA E. *OUMPOATA E summary chart additional field information From symbols To symbols UA or FX WS UA, FX,orWS CD PR To Symbol. When a dump is to cards and a 1442, Model 6 or 7, is used, each card is checked to see that it is blank before it is punched. If a nonblank card is read, the system prints a message and waits at $PRET with'/IOOF displayed in the ACCUMULATOR. Count. This field specifies the number of sectors to be dumped. If present, the count overrides the contents of the working storage indicator or the disk block count in the LET or FLET entry; when present, this number of sectors is dumped regardless of the length of the program or data file. Control Records 5-27 DUP Control Records -DUMPDATA E -DUMP LET *OUMPDATA E Examples 10 1 5 \11'1\/1 '7'111\ 20 15 25 UA I~S DA TA *1] UiMP lAllA E FX erB ~A ITAt I*~ UMP lArlA E p~ A7A - f Wl~ 30 35 40 50 45 - 1¢ I~~ - ---'- !-'- - - -- 0 This dumps a data file named DATA from the user area to working storage. f} This dumps a data file named DATA 1 from the fixed area to cards. @) This dumpsa data file from working storage to the printer. '--. I I I l-tt-ttit-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 Itr- - - -- *DUMPLET general function This operation prints the contents of the location equivalence table (LET) on the principal print device. Also, the contents of the fixed location equivalence table (FLET) are printed if a fixed area has been defined on the disk. A program name or data file name can be specified in this control record to dump only the LET or FLET entry for that program or data file. A printout of a DUMPLET operation is in Appendix D. format Card column Contents 1 through 8 *DUMPLET 9 through 20 'Reserved 21 through 25 Name 26 through 30 IReserved 31 through 34 jr:rom eartridge I D 35 through 80 additional field information Explanation Name specifies that only the LET or F LET entry for that program 00data file is printed. The cartridge I D specifies that only the LET (and FLET) on that cartridge is dumped. !'Jot used Name. This optional field specifies the name of a program or data file whose LET or FLET entry is to be printed. LET and FLET on all cartridges defmed in the current JOB monitor control record are searched unless a cartridge ID is specified in columns 31 through :34. When the name field is omitted, the entire contents of LET (and FLET) are printed. From Cartridge ID. The from cartridge ID specifies that only the LET (and FLET) on that cartridge is printed or searched when a name is specified in columns 21 through 25. When the from cartridge ID field is omitted, LET (and FLET) on all cartridges defined by the current JOB monitor control record are printed or searched. 5-28 DUP Control Records *DUMPLET *DUMPFLET *DUMPLET Examples o 1 10 5 15 20 35 - - I~D U~ PL E7 ~A I '-- - 11~ loJ4 N e E) - ~f- 1I-f-- -1-- H-I J - ---- - e-- O +-- c-- ~- 50 45 40 --I- E) *~ UM PL fiT e 30 25 *~ UIMIF LET ri- This dumps LET (and F LET) from the disks defined by the current JOB monitor control record. This dumps LET (and FLET) from cartridge 1004. This dumps the LET (or FLET) entry for the program named MAIN. I I-I I I j 1t f I I I II f j++++++t- t-t+t t++++++ +++t+- l- I *DUMPFLET general function This operation prints the contents of the fixed location equivalence table (FLET) on the principal print device. A program name or data file name can be specified in this control record to dump the FLET entry only for that program or data fIle. format Card column Contents 1 through 10 *DUMPFLETIh 11 through 20 Reserved 21 through 25 Name 26 through 30 Reserved 31 through 34 From cartridge I D 35 through 80 Not used additional field information Explanation Name specifies that only the F LET entry for that program or data file is printed. The cartridge ID specifies that only the FLET on that cartridge is printed. Name. This optional field specifies the name of a program or data file whose FLET entry is tobe printed. FLET on all cartridges defined in the current JOB monitor control record is searched for the name unless a cartridge 10 is specified in columns 31 through 34. When the name field is omitted, the entire contents of FLET are printed. From Cartridge [D. The from cartridge ID specifies that only the FLET on that cartridge is printed or searched when a name is specified in columns 21 through 25. When the cartridge ID field is omitted, the FLET on all cartridges defined by the current JOB monitor control record is printed or searched. Control Records 5-29 DUP Control Records *DUMPFLET *STORE *OUMPFLET Examples r-------------- --- o 1 ----------------------------------------------------- 5 10 15 20 25 30 35 40 45 50 ~ DuM~ F LET -t--t- -+-+--t-+-+-+-f-ir-+-+---t-+-t-+-t--+-t-+-+--t--t-+--t--t-1f--t-+--t--+-+-+-+--+-+-t-- r--f-- _ -+,- 6 ~DV E) ~*-I-D-I-U+-M-tP--_I_F--'-L-LE.-'-T--'--'--L-:I~- ~- _:I-:I- - _+-'-f-: - tl-: I-+:M:+:-~-,_+_-'-j1-t"-"N-:-I2.:~:-:-_:l---:~:_-¢-;j:~+-2=tc + __+-_: __ '_~~_;_-1:__-+_:_~_:-+_+-:-+--_-1l---+-:+r----+~-I-~+_~-t~-1 MP f Lt-Et-r++-+-+- o -r-- -+-+-+-t--+-+ A M t-~t-j+-+--+--+-+--+-+-+-t---t-+-jf--+-t-+-+-+-_-+--t_--t-+_+IH-+_-_-+r--tr--+-_--f __ ~----------------------------------------------~ - - This dumps F LET from the disks defined by the current JOB monitor control record. f} This dumps the FLET entry for the program named MAIN'. e This dumps the i=LET entry for the program named MAIN2 from cartridge 1002. - - --r----- - --f--- r--r-------- - - --1--1--- ~+++--I-----,--------------------------- -----r-r-rI- - - - ++t-tf-t-t ttt-t-r+t-ttH-t-t+++++-t-t--t++tt++t-+-t-+-l- - - r - - f--- *STORE ~neral function This operation (1) transfers information from working storage to the user area~ or (2) accepts information from the input devices and transfers it to working storage or the user area. All transfer of information from the input devices to the user area is accomplished in 2 phases. The infonnation is first moved to system working storage, then to the user area. Because of this, infonnation residing in working storage before the STORE operation is destroyed, and the appropriate working storage indicator in sector @DCOM is set to zero. The Disk Utility Program (DUP) makes the required LET entry for the program being stored. The name you specify in columns 21 through 25 is assigned to the program and is used to generate the LET entry. The LET entry includes the program name, the format of the program, the number of disk blocks the program occupies, and the disk block address. An entry is also made in LET for each entry point in the program being stored. 5-30 OUP Control Records *STORE format Card column Contents 1 through 6 \ *STORE 7 through 10 Reserved 11 Subtype (0, 1, 2,3, or 8) 12 Reserved 13 and 14 From symbol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 through 30 Reserved 31 through 34 From cartridge 10 35 and 36 Reserved 37 through 40 To cartridge 10 41 through 80 Not used Explanation For type 3,4,5, and 7 subroutines only. See the following summary chart. See the following summary chart. A name is required except when the STORE operation is to working storage. The following chart is a summary of the information transfers and format conversions performed by the STORE operation. *STORE summary chart From syrnbols, including formats To symbols, including formats WS(DSF) UA(DSF) CD(CDS) UA or WS(DSF) PT(PTS) UA or WS(OSF) Control Records 5-31 DUP Control Records ·STORE additional field inlformation SUbtype. This optional field places a subtype number in the header of a subroutine, type 3,4,5, or 7. The subtyp{~ number that can be specified for each type of subroutine iis: Subroutine description Type In-core subroutines 3,4 Disk FORTRAN I/O subroutines 3 Arithmetic subroutines 3 Code in subtype field o 2 Nondisk FORTRAN I/O and "Z" 3 3 "Z" device subroutines 5 3 8 Function subroutines 4 Dumrny I LS02, I LS04 stored in monitor system library 7 User-written I LS02, I LS04 that replace dummy I LS02, I LS04 7 o From Symbol. If the STORE operation is from working storage and the corresponding working storage indicator is zero, an error message is printed. *STORE Examples 1 10 5 15 25 20 o ,~S TO 'RE CD IWS e :*S ITO IRE WS UA MA I~ e *~ TO h - I I This names a program in working storage MAIN and stores it in the user area. This reads from cards an I LS04 you have written and stores it in the user area. - : :t-H-++-t-ttt IIIIII +H+t-I IIIIIIII I IIII I II 5-32 50 45 - - --f- OUP Control Records *STOREOATA *STOREDATA general function This control record (1) transfers infomlation from working storage to the user area or fixed are, or (2) accepts information from input devices and moves it to working storage, the user area, or fixed area. DUP assumes that input to this operation is in data fomlat; output from this operation is always in data format. Information is transferred directly from the input devices to the user area or fixed area. Thus, the contents of working storage remain the same if the STORE operation is to the fixed area. Because the boundary between the user area and working storage is moved by store and delete operations, a STOREDAT A operation to the user area destroys information residing in working storage before the STOREDATA operation. DUP makes the required LET or FLET entry. The name you specify in columns 21 through 25 is assigned to the data file or macro library and is used to generate the LET or FLET entry. DUP also supplies the disk block count required in the LET or FLET entry if the source is cards or paper tape. If the source is working storage, the sector count coded in the STOREDAT A control record is used. format Card column Contents 1 through 10 *STOREOATA 11 and 12 Reserved 13 and 14 From symbol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 2-5 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge 10 35 and 36 Reserved 37 through 40 To cartridge I 0 41 through 80 Not used Explanation See the following summary chart. See the following summary chart. A name is not required whoen the STOREOATA operation is from cards or paper tape to working storage. If the source is working storage, the count is the number (in decimal) of sectors of data to be stored. This count overrides the contents of the working storage indicator. If the count field is blank, the contents of the working storage indicator are used. I f the sou rce is cards, the count is the number !in decimal) of cards to be read. If the source is paper tape, the count is the number (in decimal) of paper tape records to be read. Control Records 5-33 OUP Control Records *STOREOATA *STOREOATAE The following chart is a summary of the information transfers and format conversions performed by STOREDATA. *STOREDATA summary chart From symbols, including formats To symbols, including formats WS(OSF, OOF, OCI) UA or FX(OOF) CO(COS, COO, CDC) UA, FX, or WS(OOF) PT(PTS, PTO, PTC) UA, FX, or WS(OOF) Note. When temporary mode is indicated in column 8 of the current JOB monitor control record, the STOREOATA operation is restricted to storing in the UA and WS only. *STOREDA TA Examples o e Eto AlI e 1*5 TOREto o 1 5 10 15 ws A r-RT ~§cr o~ etD AIT -r- ~.s ~O tR ~S ITO rR ---- f----.- - - -.of- 0·- r---c: I~ -- - UA ~T p S- _JJ A E~ AT Ar- _W -- - 0 f-f-- f---- ..- -- ---~f-- f--~ 5 f_U ~- -r- f-- e -._. 20 30 25 FI ILE 1 ~:¢ 05 F IL El? ¢ 2~~ --f IL ~~ f-- - .- 40 35 (>1 f/JI¢ _-- 50 45 .-r- - - r-- _. . 1~ 1~5 -- -- 1·-· - ------ -_ .... - -- - - !-f----f--- -1--- - - - - rf-- - - f-- f-- -_.- . ...... -- -" --+----- -r- - -h _.._-- --!-. t·- _._... I --- This reads a data file from paper tape, and stores it in system working storage. This transfers a data file named FI LE 1 that occupies 5 sectors from system working storage to the user area on cartridge 1005. e This reads a data file named FI LE2 from cards, and stores it in the user area. 200 cards are read. 0 This transfers a data fi Ie named F I LE3 from working storage to tho user area. Count is in the working storage indicator. - - - f - - :---i *STOREDATAE general function This control record {l) transfers information from working storage to the user area or fixed area, or (2) accepts information from the card reader and transfers it to working storage, the user area, or fixed area. When input is from cards, the source cards are converted to packed EBCDIC format, that is 2 columns per word, or :3 cards per sector. Thus, the input is assumed to be any of the 256 EBCDIC characters in card code. When the source is working storage, no conversion takes place. Information is transferred directly from the inpu t device to the user area or fixed area.. Thus, when the STOREDATAE operation is to the fixed area, the contents of working storage are not changed. When the STOREDATAE operation is to the user area, the contents of working storage are destroyed because the boundary between the user area and working storage is moved hack and forth by delete and store operations. 5-34 DUP Control Records *STOREOATAE The Disk Utilit.y Program (DUP) makes the required LET or FLET entry. The name that you specify in columns 21 through 2S is assigned to the data file and is used to generate the LET or FLET entry. Also, DUP supplies the disk block count required in the LET or FLET entry if the source is cards or paper tape. If the source is working storage, the sector count specified in the STOREDATAE control record is used. format Card column Contents 1 through 11 *STOREOATAE 12 Reserved 13and 14 From symbol 15 and 16 Reserved' 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge I 0 35 and 36 Reserved 37 through 40 To cartridge 10 41 through 80 Not used Explanation See the following summary chart. See the following summary chart. A name is not required when the STOREOATAE operation is from cards to working storage. If the source is working storage, the count is the number (in decimal) of sectors of data to be stored. This count overrides the contents of the working storage indicator. If the sourC9 is cards, the count is the number (in decimal) of cards to be read. The following chart is a summary of the information transfers perfonned by STOREDATAE. *STOREDATAE summary chart Fram symbols, including formats To symbols, including formats WS UA or FX CO UA, FX, orWS Note. When temporary mode is indicated in column 8 of the current JOB monitor control record, the STOREOATAE operation is restricted to storing in the UA and WS only. Control Records 5-35 DUP Contra! Records *STOREDATAE addiitional field information Count. The corresponding dump operation, DUMPDATA E, transfers a whole number of sectors to cards. To avoid unwanted output, the number of cards stored should consequently be a multiple of 8 (blank cards can be added for that purpose). *STOREDATAE Examples -------------.----- o 1 .. __ 10 5 ~~ lQ 'Q ED t1II ~~ c -- ._------------_._---- --------------- ~t- ~ ---~ - f-- ~ --,- ---t--- 1---1- 5-36 ~ ~ --- 1 - - - ~ - c-- LES r-- w!;) 1-1- - - r- 30 35 I¢I¢ I¢ 2. -- ~f¢ 56- --t-- - - t--~ - - -- -- -- ----~ -- 40 45 1 ~¢3 -- 50 ~ -- .- 0 This transfers a da~a file named FI LE5 from working storage to the fixed area. The file occupies 2 sectors. E) This reads a data file of 56 cards into working storage on cartridge 1003. - f- f---,- r-f- 1--- -~ F, -- rEX E) r~S TO Qito AT 1,(\£ C ) I- 25 20 15 t-tl-f-tl ++ t-t-r--H--r-t--t-ttt++++lt- ++++i++tiiiti I l' i ! - DUP Control Records *STOREDATACI *STOREDATACI general function fhis control record (1) transfers infonnation from working storage to the user area or fixed area on disk, or (2) accepts infonnation from input devices and moves it to working storage, the user area, or fixed area. If the input is from cards or paper tape, the STOREDATACI operation assumes the input is in card or paper tape core image fonnat. If the input is from working storage (the infonnation has been previously dumped to working storage or stored in working storage from an input device), the appropriate working storage indicator must indicate disk core image (DCI) fonnat; otherwise, the STOREDATACI operation is not performed. Output from the STOREDATACI operation is always in disk core image format. All transfer of information from input devices to the user area or fixed area is done directly; that is, the transfer is not made via working storage. Thus, when the STOREDAT ACI operation stores information from an input device to the fixed area, the contents of working storage are not destroyed. Note, however, the contents of working storage are destroyed when storing from an input device to the user area because the boundary between the user area and working storage is moved back and forth by delete and store operations. The Disk Utility Program (DUP) makes the required LET or FLET entry. The name that you specify in columns 21 through 25 is assigned to the data file and is used to generate the LET or FLET entry. Also, DUP computes the disk block count required in the LET or FLET entry from the count specified in the STOREDATACI control record. format Card column Contents 1 through 12 *STOREDATACI 13 and 14 From symbol 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge 10 35 and 36 Reserved 37 through 40 To cartridge 10 41 through 80 Not used. Explanation See the following summary chart. See tile following summary chart. A name is not required when the STOREDATACI operation is to working storage. The count (a right-justified decimal number) is the number of records (sectors, cards, or paper tape records) in the core image input. The count is not required if the source is working storage; however, when used in this case, the count overrides the contents of the working storage indicator. Con trol Records 5-37 DUP Control Records *STOREDATACI *STORECI The following chart is a summary of the information transfers and format conversions performed by STOREDATACI. *STOREDATACI summary chart From symbols~ including formats To symbols, including formats WS(DCI) UA or FX(OCI) CD (CDC, COO) UA, FX, or WS(DCI) PT(PTC, PTD) UA, FX, or WS(OCI) Note. When temporary mode is indicated in column 8 of the current JOB monitor control record, the STOREOATACI operation is restricted to storing in the UA only. *STOREDA TACI Examples ~--------------------------------------------------------------- o 1 5 10 15 20 25 30 35 ~ sma RED~ TACII~ S1-t--fF'-f'X-1-+--J'-F.+,-/-F"L'FE+5"'-t-+-f-+-f-fl=t'I~q.r~:-t-=1=t-t- a *8 ~ I-1_1A 1/11.. 11 Ale o rt+-rt-+ If) 45 +-+- -+- D[-I-H~I~WS:4:r:-:-:+:-~'-:1-:.~rt--~:..:I+--t-~:-:i_+-t-t-~. I-~+ IC r+-++-t-I-+-+-t--+--+-+-H-+I-+- f---f- - rt-t-t-t-+I 40 1-_ H__ _-_: 50 -t-+-If----+---l---t-f .-:+::~: --t- -+-+-+-+-+--++4-+-++-t-+-+-+--1I-+--+--l-+-+-+-+-+-+-+--+-+--+.._f- Thig transfers the data file, FI U:5, from working storage on cartridge 1001 to the fixed area on the system cartridge. This reflds a data file from cards and stores it in working storage.. 108 cards are read. :Ir-.+:t+t+l-t+++tt++-t-t I I I I II I I H+H+tfttit-I--- ----- I-t-t-t-t-+-+-:-H *STORECI general function This control record obtains an object program from working storage or from an input device, converts it into a core image program using the core load builder, and stores the core image program in the user area or fixed area. The core load builder (CLB) is called to build a core image program for the STORECI operation as if execution w(~re to follow; that is, that portion of the core load residing below core location 4096 (decimal) in 4K systems, or 5056 in larger systems, is placed in the system core image buffer, and LOCALs and/or SOCALs are placed in system working storage. (See "Construction of a Core Load" in Chapter 3.) The STORECI operation stores all these portions of the core image program in the user area, fixed area, or working storage. A DCI program stored in the user area or fixed area includes the transfer vector built by the core load builder; however, neither the disk I/O subroutine nor COMMON, if any, is included. DUP Control Records *STORECI The Disk Utility Program (DUP) makes the required LET or FLET entry for the core image program as it is stored. The name that you specify in columns 21 through 25 is assigned to the DCI program and is used to generate the LET or FLET entry. Also, DUP obtains the disk block count required in the LET or FLET entry from the core load builder. format Explanation Card column Contents 1 through 8 *STORECI 9 Disk 1/0 subroutine indicator 10 Reserved 11 LOCAL-cancall-LOCAL indicator A punch (any character) in this column enables a LOCAL subroutine to call another LOCAL. 12 SpeciallLS indicator A punch (any character) in this column indicates that I LSs for this core load should be chosen from the special I LSs. 13 and 14 From symbol See the following summary chart. 15 and 16 Reserved 17 and 18 To symbol 19 and 20 Reserved 21 through 25 Name 26 Reserved 27 through 30 Count 31 through 34 From cartridge I D 35 and 36 Reserved 37 through 40 To cartridge I D 41 Reserved 42 Core map indicator 43 through 80 This column specifies the disk 1/0 subroutine to be used by the core load during execution. See the following summary chart. A decimal number (right-justified) that indicates the number of supervisor control records (FI LES, LOCAL, NOCAL, and G2250) that follow. N or blank. An N indicates that a core map is not to be printed for this core load. A blank causes a core map to be printed. Not used Control Records 5-39 DUP Control Records *STORECI The following chart is a summary of the infonnation transfers and fonnat conversions perfonned by STORECI. *STORECI summary chart From symbols, including formats To symbols, including formats WS(DSF) UA or FX(DCJ) CD (CDS) UA or FX(DCI) PT(PTS) UA or FX(DCII Note. When temporary mode is indicated in column 8 of the current JOB monitor control record, the STORECI operation is restricted to storing in the UA only. additional field information Disk I/O Subroutine Indicator. This column specifies the disk I/O subroutine that is loaded into core by the core image loader for use by the core load during execution. The character punched in this column for each disk I/O subroutine is: Column 9 Disk I/O subroutine Oorl N blank or Z DISK! DISKN DISKZ Any other character is invahd and causes the printing of an error message. LOCAL-Call-LOCAL Indicator. A punch (any character) in column 11 allows a LOCAL subroutine to call another LOCAL subroutine during execution if the restrictions listed under "LOCAL-Calls-a-LOCAL" in Chapter 6 are met. Special ILS Indicator. A punch (any character) in column 12 indicates that special interrupt level subroutines (ILSs named with an X before the number, as ILSX4) are to be used for this core load. If column 12 is blank, the standard set of ILSs is used. In addition to the functions of the standard ILSs, special ILSs at the beginning of their execution save the contents of index register 3 and set this register to point to the transfer vector. Special ILSs restore the original contents of index register 3 at the end of their execution. Because the special ILSs save and restore the contents of index registeJr 3, you can use this register in your programs. Special ILSs require 5 more words of core storage per ILS than standard ILSs. The spedal ILSs for interrupt levels 2 and 4 are loaded, together with other subroutines, as part of the core load. You can write ILSs to replace any of the IBM-supplied ILSs, standard or special. 540 DUP Control Records *STORECI ,---- Count. A right-justified number in columns 27 through 30 that indicates the number of supervisor control records following this control record. DUP reads these control records for use by the core load builder before the STORECI operation is perfomled. The program name (columns 21 through 2S of this control record) must not be used on the LOCAL, NOCAL, and G22S0 control records. Data files specified in the FILES supervisor control records that follow must be stored in the fixed area (see "Use of Defined Files" in Chapter 6). *STORECI Examples ---_._---1 10 5 15 jS TiC 'RE (',1 ~S TO RE Cli 1*3 TO ~E C\ W5 20 UA PIT 35 MA INi xcto FX MA " iJ 7-X 30 25 __ (1 l~f- -~ AI Ni2 _. r - -- -r-- 0i¢ <1>12 - ~- 50 45 40 -- r--- ,- 1!¢ I(/)3 t\I - c-- - - 1-_ -f'- ~-- --'-- f---- r-f- f - - --r-'- I--r-r' , - '-I- f - f - - 0 @ e This converts the DSF program, MAIN1, into DCI format and transfers it from working storage to the user area. This specifies that DISK1 is to be used by this core load, and that special I LSs are to be used. The program, MAIN7, is read from cards and stored in the fixed area on cartridge 1003. N in col umn 42 suppresses the printing of a core map. -~- r- ..- f-'r- -- r-i- ,- --- - i - f- - - -+-- r - - --- -, This reads program MAl N2 from paper tape and stores it in the user area. The X in column 11 indicates that a LOCAL calls another, and 0002 in 27-30 indicates that two supervisor control records follow. - - - - ,----, - ,,- 1--1- - , - -- -- 1--1- , - - , , 1--1- -- 1--1- , t t-Htttt+++ttt-+t+t-i+t-t-li+++++t--t-t-ttt-t--t-t- Control Records - -, , - - --- 5-41 DUP Control Records ·STOREMOD *STOREMOD general function This control record transfers infonnation from working storage into the user area or area. fixl~d If the name specified in columns 21 through 25 is identical to an entry in LET or FLET, the infonnation in working storage overlays the DSF program, DCI program, or data file in the user area or fixed area for that entry. The fonnat of working storage must match the fonnat of the LET or FLET entry that is replaced. The STOREMOD operation pennits you to modify a DSF program, DCI program, or data file stored in the user area or fixed area without changing its name or relative position within the storage area. However, the length of the program or data me in working storage after being changed cannot be greater than the length of the old version of the program or data file that it replaces in the user area or fixed area. No change is made to the LET or FLET entry as a result of this operation. If the name on the STOREMOD control record does not match an entry in LET or FLET, the contents of working storage are stored by STORE, STOREDATA, or STOREDATACI, when the respective fonnat is DSF, DDF, or DCI. The STOREMOD operation is not allowed when temporary mode is indicated in the current JOB monitor control record. format 5-42 Card column Contents 1 through 10 *STOREMODtD 11 Sub1type 12 Reserved 13 and 14 From symbol 15 and 16 Resorved 17 and 18 To symbol 19 and 20 Reslinved 21 through 25 Name 26 through 30 Reserved 31 through 34 From cartridge I D 35 and 36 Reserved 37 through 40 To cartridge I D 41 through 80 Not used Explanation The source is alwavs working storage. See the following summary chart. ------ DUP Control Records *STOREMOD The following chart is a summary of the information transfers and fonllat conversions perfornled by STOREMOD. *STOREMOD From symbols, summary chart including formats To symbols, including formats WS(DSF) UA(DSF) WS(DDF) UA or FX(DDF) WS(DCI) UA or FX(DCI) Note: The fornlat and size indicators of a data me in working storage must match those of the existing LET or PLET entry. Since the execution of your program that references data files stored in working storage does not set these indicators, a subsequent STOREMOD does not work. These indicators can be set prior to execution by performing a DUMPDATA operation of the stored data me to WS. *STOREMOD Examples o 1 10 5 l~S TO 12 EM iOD E} I*I~ TO REM ~~- WS IWS 15 UA -- - - 20 25 1-- Wi --c- FX --,-- -- ~Al 1---- ~lrL J;~ I-- 30 --r-- -- 35 40 III --I- -- -f-- - t- ---- -- I- 0 This replaces the program, MAIN1, stored in the user area with an updated version from working storage. @ This replaces the data file, FI LE 1, stored in the fixed area on cartridge 1002 with an updated version from working storage on cartridge 1003. - : ttttt-t-rt-t-tlHi+t+tTtfttt tt-i it I I-I t tt t Control Records 5-43 DUP Control Records *OELETE *DELETE general function This operation removes a specified DSF program, Del program, or data fIle from the user area or fixed area. The deletion is accompliShed by the removal of the program or data fIle LET or FLET entry, including the dummy entry for associated padding, if any. The DELETE operation is not allowed if temporary mode is indicated in the current JOB monitor control record. When a program or data fIl,e is deleted from the user area, that area is packed so that (1) the areas represented by the remaining LET entries are contigious, and (2) working storage is increased by the amount of disk storage formerly occupied by the deleted program or data file. The contents of working storage are not destroyed by the DELETE operation. When.a Del program or a data file is deleted from the fixed area, that area is not packed. The FLET entry for the deleted Del program or data file, including the dummy entry for associated padding, ifany, is replaced by a single dummy entry (1 DUMy). This IDUMY entry represents the area formerly occupied by the deleted Del program or data file, cmd its padding. DUP store operations can place new entries in the deleted areas of the fixed area. format Card column Contents 1 through 8 *OELETEI6 9 through 20 Reserved 21 through 25 Name 26 through 30 Reserved 31 through 34 From cartridge 10 35 through 80 Not: used Explanation The deletion is performed on the specified cartridge only. If a cartridge lOis not specified, and the program or data file name (columns 21 through 25) is present in LET or FLET of more than one cartridge specified for this JOB, deletion is from the first logical drive on which the name is found. *DELETE Examples o 1 5 10 @ ~~ ELE E 20 15 ~~ ELE E r-r- ~ 25 30 35 45 40 MiA IN! -- -- -- F' LIE 1 1~ 1¢4 r-r-- - 0 This dli3letes LET or FLET entry for the program, MAIN1, from the cartridge on the first logical drive where the name is found. €) This dli3letes the data file, FI LE1, from cartridge 1004. I I I I I ITtt-t-l-tt-ii-t I I I I I limlti1ltlt1lii+ 5-44 50 DUP Control Records *DEFINE FIXED AREA *OEFINE general function This control record performs 4 functions. • It initially establishes the fixed area and its size on disk. • It increases or decreases the size of the fixed area. • It deletes the fixed area and FLET. • It deletes the assembler, FORTRAN compiler, RPG compiler, or COBOL compiler, or any combination of these 4 programs from the IBM system area on the master cartridge. define a FX The definition of a fixed area on disk allows you to store in fixed locations the programs and data mes, which you can subsequently refer to by their sector addresses. The fixed area is defined in cylinder increments; the minimum required storage space is one cylinder. When a fixed area is defined, the system uses one cylinder for the fixed location equivalence table (FLET). This cylinder used for FLET is included in the total size of the fixed area; therefore, the initial definition of the fixed area must be at least 2 cylinders. increase or decrease the FX The fixed area is increased in cylinder increments. It is decreased in cyHnder increments by deleting unused cylinders after the last program or data file stored in the fixed area. delete FX If all DCI programs and data files have been deleted from the fixed area (by using *DELETE), the fixed area and FLET can be deleted by specifying a number in the count field that reduces the fixed area and FLET to one cylinder or less. format of DEFINE FIXED AREA Card column Contents 1 through 8 *DEFINEt6 9 through 18 FIXEDt6AREA 19 through 26 Reserved 27 through 30 Count In initial definition of the fixed area, the count is the number (in decimal) of cylinders to be allocated as the fixed area; a mtnimum of 2 must be specified. After initial definition, the count is the number of cylinders by which the fixed area is to be increased or decreased. 31 Sign Blank if the fixed area is being increased; a minus sign if the fixed area is being decreased. 32 through 36 Reserved 37 through 40 Cartridge 10 41 through 80 Not used Explanation Th is I D specifies the cartridge that is being altered; when omitted, the system cartridge is assumed. Note. The DEFINE FIXED AREA operation is not allowed if temporary mode is indicated in the current JOB monitor control record. Con trol Records 5-45 DUP Control Records *DEFII\IE FIXED AREA *DEFII\IE VOID *Define Fixed Area Examples o @ ,.---1 5 10 15 ~lD Ef:" ItJE FIX .~~ EF I ~IE FIX ! i '- -- r-r- - -- r-r- - - -r-- - -r- - -f--- r-l-- -f-- 0 e 25 20 AJ< ElA .. -.- tYR EA 30 I- --- ¢~ ¢2- ,--i-- 1¢ ~2 50 45 40 -- - -r- r-i-' r-t--- --- .'--- T his d efines a 5 cylinder fixed area on the master cartridge. T his (:iecreases the size of the fixed area on cartridge 1002 b y 2,~ylinders. r-~- c--- 111+++ t-i-- ~-t++t++-t-t-+t+tt__t++H-H+~-t_H+tti-+I I I delete the assembler or compiler 35 ¢I¢ ¢15 '- -. ----- ',-- '---- Deletion of the assembler, FORTRAN compiler, RPG compiler, or COBOL compiler causes the specified monitor program to be removed from the IBM system area on the master cartridge. The IBM system area is then packed so that remaining programs and areas occupy the area formerly occupied by the deleted monitor program. SLET entr:les are updated to reflect the new disk storage allocations for the monitor programs. The reload table is used to make adjustments in the programs that use disk storage addresses from SLET. When the assembler, FORTRAN compiler, RPG compiler, or COBOL compiler is to be deleted, you must perform this deletion before defining a fixed area on the cartridge, or after completely removing a defined fIxed area (see the previous discussion of decreasing the size of the fixed area). Once one of these programs is deleted, it can be restored by performing an initial load only. format of OlEFINE VOID Card column Contents 1 through 8 *[)EFINEt6 9 through 13 VOIDt6 14 through 22 ASSEMBLER or FORTRANt6t6 or RPGt6t6t6I6t616 or COBOLt6I6t6t6 23 through 80 Not used Explanation Note. The DEFINE VOID operation is not allowed when temporary mode is indicated in the currE~nt JOB monitor control record. The processing of a DEFINE VOID operation restores the original system principal printer if a CPRNT monitor control record has specified that monitor and supervisor control records be printed on the console printer. 5-46 DUP Control Records *OWAOR *DWADR general function This operation causes a sector address to be written on every sector of working storage on the cartridge specified by the DWADR control record or, if a cartridge ID is not specified, on every sector of system working storage. The operation restores correct disk sector addresses in working storage if they have been modified during execution of your program. The contents of working storage prior to the DW ADR operation are destroyed. A dummy / / DUP monitor control record is printed on the principal printer following the printing of the *DWADR control record and the DUP exit message. format Card column Contents 1 through 6 *OWAOR 7 through 36 Reserved 37 through 40 Cartridge 10 41 through 80 Not used Explanation This 10 specifies the cartridge on which the working storage sector addresses are to be rewritten. Note, The DWADR operation is not allowed if temporary mode is indicated in the current JOB monitor control record. Control Records 547 DUP Control Records *DFILE *OFILE genelral function This operation reserves disk space in either the user area or fixed area as a named data file or macro library. Data is not moved as a result of the DFILE operation; this function provides disk space allocation only. The contents of working storage are not changed except when defining space in the Ulser area; the contents of working storage on that drive are destroyed since the user area and working storage are adjacent areas. (See "Use of Defined Files" in Chapter 6 for a suggested use of this control record.) DUP makes the required LET or FLET entry. The name specified on the DFILE control record is assigned to the area and is used to generate the LET or FLET entry. DUP uses the sector count specified on the DFILE control record to supply the disk block count in the LET or FLET entry. format Card column Con~~ents 1 through 6 *DFILE 7 through 16 ResE~rved 17 and 18 To symbol 19 and 20 Resorved 21 through 25 File name 26 Resorved 27 through 30 Count 31 through 36 Resl~rved 37 through 40 To cartridge I 0 41 through 80 Not used Explanation Area in which the file is to be reserved: UA for user area, FX for fixed area. The name assigned to the area reserved for the data file or macro library. The number (in decimal) of sectors to be reserved Note. The DFILE operation is restricted to reserving space only in the UA when temporary mode is indicated in the current JOB monitor control record. 5-48 DUP Control Records *MACRO UPDATE *MACRO UPDATE general function This operation causes execution of the Macro Update Program (MUP). The MUP performs: • Initialization of a macro library • Physical or logical concatenation of macro libraries • Addition, deletion, or name redefinition of stored macros • Statement addition or deletion within a stored macro • Punching of stored macros into cards • Listing of macro library contents either at statement or macro level The functions to be performed by MUP are indicated by means of MUP control statements. The format and functions of these control statements are described in the publication IBM 1130/1800 Assembler Language, GC26-3778. The MUP control statements immediately follow the MACRO UPDATE DUP control record in the job stream. The Macro Update Program requires an IBM 1131 Central Processing Unit, Model 2 or 3, with 8192 (decimal) or more words of core storage. If the MACRO UPDATE DUP contrOl record is read by a system with 4096 words of core storage, it is considered an invalid control record. The MUP cannot be used if temporary mode is indicated in the current JOB monitor control record. format Card column Contents 1 through 13 *MACROI6UPDATE 14 through 36 Reserved 37 through 80 Not used Explanation Note. Keyboard or paper tape input to the MUP of the Disk Utility Program assumes a one-to-one relationship with any corresponding card inpu t record. Thus, position 1 of assembler statements that are input record for MUP corresponds to card column 1 and not to column 21. Control Records 5-49 Assembler Control Records ASSEMBLE.R CONTROL RECORDS functions Assembler control records are used to specify optional operations that affect the assembler and assembly output. These control records are placed in the input stream as follows: ...____ Next monitor control record I~~--- Assembler source statements 1/ JOB Assembler control records can be entered in card or paper tape form along with the source program card deck or paper tape, or they can be entered from the console keyboard (sl~e "Entering Jobs From the Console Keyboard" in Chapter 7). In most cases, the source program is passed through the assembler only once. This is always true when input is from the keyboard or paper tape reader. When input is from cards, passing the source deck through the assembler a second time (2-pass mode) may be required. Further information about 2-pass mode is presented in the descriptions of the lWO PASS MODE, LIST DECK, and LIST DECK E t;ontrol records in this section. These 3 control records and the PUNCH SYMBOL TABLE control record are ignored when ~:n tered from the keyboard or paper tape reader. 5-50 ----- -----,~-. Assembler Control Records how to code coding assembler control records All assembler control records have the following format: Card column Contents Explanation Asterisk 2 through 71 Option 72 through 80 Not used Replace option with the keywords for the control record being used. Note. Assembler control records are coded in free form; that is, any number of blanks can occur between the characters of the option. However, only one blank can separate the last character of the option and the first character of any required numeric field. Re.marks can be included after the option or numeric field; however, at least one blank must separate the last character of the option or numeric field and the remarks. If an assembler control record contains an asterisk in column one, but the option is not identical with the format shown for the control record, the control record followed by an assembler error message is printed in the control record listing. The control record in error is ignored; an error does not result, but the specified option is not performed. coding keyboard and paper tape input Assembler control records are coded the same for card, paper tape, and keyboard input. Assembler language source statements are coded the same for keyboard and paper tape input as for cards, with the following exceptions: • The source statements do not contain leading blanks corresponding to card columns 1 through 20 . • The source statements are limited to 60 characters The first record processed by the assembler is checked for an asterisk as the first charac ter. If an asterisk is the first character, the record is considered an assembler control record. This procedure continues until the first nonasterisk character is detected as the first character. For this record, and all following records (up to and including the END statement), the first character of each record is treated as if it were in card column 21: therefore, the first noncontrol record should not be an * comments statement. Note 1. Paper tape input to the assembler is punched into paper tape in PTTC/8 code, one frame per character. Any delete codes punched in paper tape are passed over by the assembler; assembly is continuous until the end. Note 2. Keyboard and paper tape input to the Macro Update Program (MUP) of DUP assumes a one-to-one relationship with the corresponding card input. Thus, position one of assembler statements that are input for MUP corresponds to card column 1 and not to column 21. Con trol Records 5-51 Assembler Control Records *TWO PASS MODe *TWO PASS MODE general function This control record causes the- assembler to read the source program deck twice. TWO PASS MODE must be specified when: • You want a list deck punched by the 1442 Card Read Punch, Model 6 or 7 (see "*LIST DECK" and "*LIST DECK E" in this chapter). • A one-pass operation cannot be performed because the intermediate output (source records) exceeds the capacity of working storage. This control record is ignored if source statements are entered through the keyboard or the paper tape reader. format Card column Con telll ts Explanation Asterisk 2 through 71 TWO PASS MODE: 72 through 80 Not used If a copy of the source deck, including all assembler control records, is placed behind the original, the source deck is read twice, and a stacked job is possible in 2-pass mode. When a deck is being assembled in 2-pass mode, the assembler is ready to read another card as soon as pass one processing of the END card is completed. Therefore, the source deck or a copy of the source deck must be placed immediately behind the END card of the first-pass deck. A monitor control record after the first END card causes the assembler to execute a CALL EXIT; the assembly is not completed. If the source deck has not be,en copied, the END card must be the last card in the hoppe r. To continue: 1. 2. 3. Press START on the card reader and PROGRAM START on the console to proce~,s the END card when the reader goes not ready. Remove the source deck from the stacker and place it in the hopper. Press START on the ca.rd reader and PROGRAM START on the console again. The operation can be made continuous if you remove the source cards from the stacker during pass one and place them behind the END card in the hopper. To complete the assembly at the end of pass 2, press START on the card reader and PROGRAM START on the console to process the END card for the second pass. 5-52 Assembler Control Records *LlST * LIST general function This control record causes the assembler to provide a printed listing of the source program on the principal print device (1403 Printer. 1132 Printer, or console printer). If a LIST control record is not used, only those statements in'which assembly errors are detected are listed. When 2-pass mode is specified, all ass, BES, ORG, and EQU statements that contain errors are listed during pass one of the assembly. format Card column Contents Explanation • Asterisk 2 through 71 LIST 72 through 80 Not used Con trol Records 5-53 Assembler Control Records *LlST The fOImat of a printed listing for an 8K or larger system is shown by: 1111~1Tl1tr~~. lOOF 0 1010 1011 1012 1014 1014 1016 BSS DEC DEC B F o Address ()f the instruction; address of the label, if any 8 Relocation indicators e SAVE+2 SAVE+l D A WAIT EXIT AB14 8012 3000 COOlS M 00019 M 00020 6038 00021 0000 00022 00 0000(000 00023 00 OOOOEOOO 00024 0 0 0 E DIVIDE BY (I+J) AND ADD (A+B)/C a 49152 5'7344 One of the following: a. First word of the assembled code b. For EBC statements, the number of EBC characters c. For BSS and BES statements, the number of words reserved for the block e e. For LI BF and CALL statements, 8 and o e d. For ENT, ILS, and ISS statements, 8and are the entry label in name code are the name of the subroutine in name code One of the following: a. Second word of assembled code b. For ENT, ILS, and ISS statements, GandO are the entry label in name code c. For 1.I BF and CALL statements, e e fa e e e e Statement number Error flag!'>" if any Macro code indicator, if any Label Operation code Format _Tag CD 5-54 Operands (and your comments) 10 and sequence number, if any e and G are the name of the subroutine in name code Assembler Control Records *LlST When LIST is specified for a 4K system, or with 2-pass mode, the format of the printed listing is: 100F 1010 1011 1012 1014 1014 1016 o 8 e A814 M M 8012 3000 0 0 6038 0000 00 OOOOCOOO 00 OOOOEOOO SAVE+2 SAVE+l 0 0 0 A WAIT EXIT BSS B F E DEC DEC DIVIDE BY (I+J) AND ADO CA+B)/C 0 49152 57344 Address of the instruction; address assigned to the label, if any Relocation indicators One of the following: a. First word of the assembled code b. For EBC statements, the number of EBC characters c. For BSS and BES statements, the number of words reserved for the block d. For ENT, ILS, and ISS statements, eand e 0 are the entry label in name code For LlBF and CALL statements, eand Oare the name of the :;ubroutine in name code One of the following: a. Second word of assembled code b. For ENT, I LS, and ISS statements, eand e G o e o 0 are the entry label in name code c. For LlBF and CALL :>tatements,e and Oare the name of the subroutine in name code Error flags, if any Macro code indicator, if any Label Operation code Format G) Tag _ Operands (and your comments) CD 10 and sequence number, if any A complete sample program listing is in Appendix H. Con trol Records 5-.55 Assembler Control Records *XREF *XREF general function This control record causes the assembler to produce a statement numbered listing and a statement numbered cross-reJerence symbol table on the principal print device if the core size is 8K or larger. This control record is invalid if the core size is 4K, and, if detected, is ignored. A warning message is printed. A LIST control record is not needed when XREF is used. When neither an XREF nor a LIST control record is used, only those statements in which assembly errors or warnings are detected are listed. When 2-pass mode is specified, all BSS, BES, ORG, and EQU statements that contain errors are listed during pass one of the assembly. The cross-reference symbol table is not printed if 2-pass mode is specified or if symbol table overflow occurs during assembly. When either of these conditions occur, the XREF control record produces only a listing. The assembler does not assign sequence numbers to comments statements when a LIST OFF statement in your program is in effect. Because of this, the statement numbers in a cross-reference symbol table listing for the same program may be different from one assembly to another, depending on whether or not the program contains LIST OFF (and LIST ON) statements. format Card column Cont8'nts Explanation Asterisk 5-56 2 through 71 XREF 72 through 80 Not used Assembler Control Records *XREF *LlST DECK The fonnat. of the statemen t-numbered listing is the same as the fonnat shown under "*LIST" for a system with a core size of 8K or larger. The format of the cross-reference symbol table is: • 0 K1 K16 K20 K32 K40 K640 L.INE L.INES L.OOP o e e ~ 1050 106C 105E 105F 1060 1061 159F 1064 1022 0 I A 00071 0 0 0 0 0 0 0 0 0 00083 00072 00073 00074 00075 00131 00078 00026 00007,R 00013,R 00038,R 0OO57,R 00063,R 00123.R 00065,R 00OO3,R 0OO19,R 0OO44,R 00116,R OOl17,R OO121,R 00062,R 00064.M 0OO68,M 00040,B Symbol f).value of the symbol e Relocation indicator Ostatement number of statement that defines the symbol _Statement numbers and associated reference type indicators (B for branch to, M for modification, or R for reference to) for the statements that use the symbols Multiply defined symbols are flagged in the cross-reference symbol table with the message ***MULTIPLY-DEFINED***. Undefined symbols are listed separately under the header ***UNDEFINED SYMBOLS***. Symbols that refer to the system symbol table are flagged with SYSMB in the statement number field of the cross-reference entry. A list of the statement numbers of all statements flagged with errors or warnings is printed at the end of the statement numbered listing under the header: ERROR STATEMENT LINE NUMBERS. *LlST DECK general function This control record causes a list deck to be punched when the principal I/O device is a 1442 Model 6 or 7 Card Read Punch. This control record is ignored if entered from the 2501 Card Reader, the paper tape reader, or the keyboard. format Card column Contents Explanation * Asterisk 2 through 71 LIST DECK 72 through 80 Not used Control Records 5-57 Assembler Control Records -LIST DECK The LIST DECK option requires 2 passes of the source deck (lWO PASS MODE) through the assembler. Object information is punched into columns 1 through 19 during pass two. The card column contents of a punched list deck card are: Card column Contents 1 through 4 Address of the instruction; address assigned to the I,abel, if any. 5 Blank 6and 7 Belocation indicators 8 Blank 9 through 12 One of the following: '!. First word of the assembled code. :t For EBC statements, the number of EBC characters. :1. For BSS and BES statements, the number of words reserved for the block. iL For ENT, ILS, and ISS statements, columns 9 through 16 contain the entry label in name code. t,. For LI BF and CALL statements, columns 9 through 16 contain the name of the subrouti ne in name code. 13 through 16 lOne of the following: I. Second word of the assembled code. 2. For ENT, ILS, and ISS statements, columns 9 through 16 contain the entry label in name code. 3. For L1BF and CALL statements, columns 9 through 16 contain the name of the subrouti ne in name code. 17 Siank 18 and 19 Error flags, if any 20 Macro code indicator, jf any 21 through 25 Label 26 Blank 27 through 30 Operation code 31 Blank 32 Format 33 Tag 34 Blank 35 through 71 Operands (and your comments) 72 Blank 73 through sO I D and sequence number, jf any Assembler Control Records *L1ST DECK E *PRINT SYMBOL TABLE *PUNCH SYMBOL TABLE *lIST DECK E general function This control record causes a list deck to be punched when the principal I/O device is a 1442 Model 6 or 7 Card Read Punch. This control record is ignored if entered from a 2501 Card Reader, paper tape reader, or the keyboard. The LIST DECK E option requires 2 passes of the source deck (lWO PASS MODE) through the assembler. Only error flags, if any, are punched (columns 18 and 19) during the second pass. Assembler error detection codes are described in Appendix A. format Card column Contents Explanation Asterisk 2 through 71 LIST DECK E 72 through 80 Not used *PRINT SYMBOL TABLE general function This control record causes the assembler to print a listing of the symbol table on the principal print device. the printed symbols are grouped 5 per line. Multiply defined symbols are preceded by the letter M. Symbols with absolute values in a relocatable program are preceded by the letter A. These M and A flags are not counted as assembly errors. format Card column Contents Explanation * Asterisk 2 through 71 PRINT SYMBOL TABLE 72 through 80 Not used *PUNCH SYMBOL TABLE general function This control record causes the symbol table to be punched as a series of EQU source cards. Each source card contains one symbol. These cards can be used as source input to the system symbol table when the SAVE SYMBOL TABLE control record is used with an assembly in which they are included. This control record is ignored if entered from the paper tape reader or the keyboard. format Card column Contents Explanation Asterisk 2 through 71 PUNCH SYMBOL TABLE 72 through 80 Not used Control Records 5-59 Assembler Control Records ·SAVE SYMBOL TABLE ·SYSTEM SYMBOL TABLE If the principal input device is the 1442 Model 6 or 7 Card Read Punch, sufficient blank cards must be placed betwt~en the source program END card and the next monitor control record when stacked job input is being used. In estimating the number of blank cards :required, allow one card for each symbol used in the source program. Unnecessary blank cards are passed. (If a nonblank card is read when punching on the 1442 Model 6 or T, the assembler waits at $PRET with /100F displayed in the ACCUMULATOR.) If the system configuration is 2501/1442, place blank cards in the 1442 hopper and press START on the 1442 beforc~ beginning the assembly. Note. Do not place nonblank cards in the 1442 Model 5. The punch may be damaged if an attempt is made to punch a hole where a hole exists. An error is not detected. *SAVE SYMBOL TABLE general function This control record causes the symbol table generated by this assembly to be saved on disk as a system symbol table. This system symbol table is saved until another assemblly with a SAVE SYMBOL TABLE control record causes a new system symbol table to replace the old one. This control 'record is also used with the SYSTEM SYMBOL TABLE control record to add symbols to the system symbol table. Note. The SAVE SYMBOL TABLE requires that the assembly be absolute (an ORG statement defining the core load origin must be used in your program). Thus, all symbols in the system symbol table have absolute values. When the symbol table punched by a PUNCH SYMBOL TABLE control record is included in the system symbol table: being generated by this assembly, place the punched EQU cards after the SAVE SYMBOL TABLE control record. If any assembly errors are detected, or if the symbol fable exceeds 100 symbols, the system symbol table is not saved, and an assembler error message is printed. format Card column Conten1s Explanation • Asterisk 2 through 71 SA,VE SYMBOL TABLE 72 through 80 Nett used *SYSTEM SYMBOL TABtE general function This control record causes a previously built system symbol table to be added to the' ~tym.; bol table for this assembly as the assembly begins. This allows you to refer to symbol:; in the system symbol table without redefining the symbols in your source program. Also, this control record can be used with a SAVE SYMBOL TABLE control record to add symbols from this assembly to the system symbol table. Note. All symbols in the system symbol table have absolute values. format Card column Conten1s Explanation Asterisk 5-60 2 through 71 SYSTEM SYMBOL TABLE 72 through 80 Not used Assembler Control Records *LEVEL *OVERFLOW SECTORS *LEVEL general function This control record specifies the interrupt levels serviced by an ISS and the associated ILS subroutines. This control record is required for the assembly of an ISS subroutine. The interrupt level number is a decimal number in the range 0 through 5. If the device operates on 2 interrupt levels (for example, the 1442 Card Read Punch), one LEVEL control record is required for each interrupt level on which the device operates. The assembler accepts no more than 2 interrupt levels for a device. At least one blank must separate the word LEVEL and the interrupt level number. If a LEVEL control record is not used when assembling an ISS subroutine, an error message is printed at the end of the assembly. format Card column Contents Explanation Asterisk 2 through 71 LEVELl6n n is an interrupt level number (decimal) 72 through 80 Not used *OVERFLOW SECTORS general function This control record allows you to specify the number of sectors of working storage to be used by the assembler for symbol table overflow and/or macro processing. When this control record is used, the assembler allocates one more sector than the total number specified. This additional sector is used as a working sector by the assembler. If more than one OVERFLOW SECTORS control record is used, the last record is used to allocate the overflow sectors. format Card column Contents Explanation Asterisk 2 through 71 72 through 80 OVERFLOW SECTORSI6 n1,n2,n3 n 1 is the number of sectors for symbol table overflow; n2 is the number of sectors for macro parameter list overflow; n3 is the number of sectors for temporary macro definition. Not used Note. If any of the number fields are not specified in an OVERFLOW SECTORS control record, the commas within the record cannot be eliminated. Con trol Records 5-61 Assembler Control Records *OVERFLOW SECTORS additional field information OVERFLOW SECTORS, The decimal numbers coded after OVERFLOW SECTORS specify the number of sectors to be allocated for (1) symbol table overflow, n1, (2) macro parameter list overflow, n2, and (3) temporary macro definition overflow, n3. nl The number of sectors (n1) reserved for symbol table overflow is specified as a decimal number in the range 0 through 32. When the entry is zero or not specified, symbol table overflow is not allowed. If the entry is greater than 32, only 32 sectors are assigned for symbol table overflow. I f, during assembly, the symbol table overflow exceeds the number of sectors allocated by the OVERFLOW SECTORS control record, an error message is printed. The approximate maximum number of symbols that can be defined in a program is determined by the size of core storage: Size of core storage (in decimal words) Approximate maximum number of symbols 4096 8192 16384 32768 3500 4165 6895 12355 112 The macro processor portion of the assembler uses working storage to contain macro parameter list overflow. The OVERFLOW SECTORS control record specifies the number of sectors (n2) to be reserved. If n2 is zero or not specified, a comma must be coded, but macro parameter list ov'~rflow is not allowed. Ic:ompute largest parameter list size The size (in words) of the total parameter list storage required for an assembly is the size of the largest parameter list within the assembly. The size of a parameter list (in words) can be estimated by using the following formula: N Number of words = 3+N+ ~ ~(mi+ 1) i=l where N is the number of parameters, including nested macros, within a macro call.. Mi is the number of characters per parameter. For example, the macro call: EXPND APHA,BETA,C is computed as compute n2 3+3+~(5+1)+~(4+1)+~(1+1)=12 words. If the computed size of the largest parameter list within an assembly does not exceed 100 words, parameter list overflow sectors are not required. Otherwise, the number of sectors (n2) required can be computed with the following formula: n2=1/100(x-l00) where x equals the size (in words) of the largest parameter list. n3 The macro ~rocessor portion of the assembler uses working storage to store temporary macro defmitions (macros that apply only to the assembly in which they are defined). The OVERFLOW SECTORS control record specifies the number of sectors (n3) to be reserved for storing the tempora.ry macros. If n3 is zero or not specified, a comma must be coded, but storage of temporary macro definitions is not allowed. compute n3 The number of working storage sectors (n3) required for storing temporary macro definitions is calculated as: ](/40 where K is the sum of the number of statements in each temporary macro definition. 5-62 Assembler Control Records *COMMON *MACLIB *COMMON general function This control record allows you to specify the length (in words) of COMMON that is shared by the program being assembled and a FORTRAN program compiled prior to this assembly. The number of words of COMMON used by the FORTRAN program can be obtained from a listing of the program. The use of this control record provides for the saving of COMMON when linking between FORTRAN mainlines and assembler mainlines. format Card column 2 through 71 72 through 80 Contents Explanation * Asterisk COMMONI6 nnnnn nnnnn is the number (in decimal) of words of COMMON to be saved between links. Not used *MACLIB general function This control record specifies that the macro library is used during assembly. The MACLIB control record is invalid on 4K systems and with both LIST DECK options. format Card column additional field information Contents Explanation * Asterisk 2 through 8 MACLlBI6 9 through 13 Macro library name 14 through 71 Reserved 72 through 80 Not used Macro library name. This name must be an exact duplicate of the name given to the macro library when it was defined by a STOREDAT A or DFILE DUP control record. A MACLIB control record is ignored if an invalid macro library name is specified. Con trol Records 5-63 FORTRAN Control Records how to code FORTRAN CONTROL RECORDS functions FORTRAN control records specify optional operations that affect the FORTRAN compiler arid program execution. These control records are placed in the input stream as follows: . ..._ _ _ _ Next monitor control record L.1'ooII~--- FORTRAN source statements FORTRAN control records can be entered in card or paper tape form along with the source program deck or tape, or they can be entered from the console keyboard (see "Entering Jobs from the Console Keyboard" in Chapter 7). The IOCS, NAME, and ORIGIN control records can be used only with mainline programs; the others can be used with both mainline programs and subprograms. coding All FORTRAN control records have the following format: Card column CcltOten1S Explanation Asterisk 2 through 72 Option 73 through 80 Not used Replace option with the keywords for the control record being used. Note. FORTRAN control records are coded in free form; that is, any number of blanks can occur between the characters of the option. Remarks are not allowed. If a FORTRAN control record contains an asterisk in column one, but the option is not identical with the fomlat shown for the control record, the asterisk is replaced with ~l minus sign on the control record listing. The control record in error is ignored; an error doe:; not result, bu t the specified option is not performed. This same action is taken if the spedfied address is not valid in an ORIGIN control record. 5-64 FORTRAN Contro. Records *IOCS *IOCS general function This control record specifies the I/O devices that are used during execution of a FORTRAN core load. Only the devices required should be included. Any number of IOCS control records can be used to specify the required devices. All I/O devices that are used by FORTRAN subprograms called in a FORTRAN core load must be included on the IOCS control records associated with the mainline FORTRAN program. Assembler language subroutines that are included in a FORTRAN core load can use any of the other I/O device subroutines in addition to those specified on the IOCS control records for the FORTRAN mainline program. format Card column 2 through 72 Contents Explanation 10CS d is a val id device name selected from the following list. (d, d, ... ,d) 73 through 80 Not used Names for I/O devices to be used are specified in the IOCS control record. These names are enclosed in parentheses and separated by commas. The devices, their associated IOCS names, and the I/O subroutines called for each device are: Device * IOCS device name Subroutine called 1442 Card Read/Punch, Model 6 or 7 CARD CARDZ 2501 Card Reader 2501 READER READZ 1442 Card Punch, Model 5 (1442 Model 6 or 7 if used as a punch only) 1442 PUNCH PNCHZ Console printer TYPEWRITER TYPEZ Keyboard KEYBOARD WRTYZ 1132 Printer 1132 PRINTER PRNTZ 1403 Printer 1403 PRINTER PRNZ 1134/1055 Paper Tape Reader /Pu nch PAPER TAPE PAPTZ 1627 Plotter PLOTTER PLOTX Disk DISK DISKZ Disk (unformatted disk I/O) UDISK DISKZ Note. CARD is used for the 1442 Card Read/Punch, Model 6 or 7, and 1442 PUNCH is used for the 1442 Card Punch, Model 5 (1442 PUNCH can be used for a 1442, Model 6 or 7, if the function is punch only; 1442 PUNCH uses less core storage). CARD and 1442 PUNCH are mutually exclusive; therefore, the use of both of these names in 10CS control records for the same compilation is not allowed. Con trol Records 5-65 FORTRAN Control Records ·USTSOURCEPROGRAM ·UST SUBPROGRAM NAMES , *IOCS Examples. ,.....--' 1 5 10 15 20 25 30 35 40 45 5o :MliR111.IE ~l OQ l§( &IA tRD " 1~O f-'-' *1 DC S( rPlA tf;E tR TIA *LlST SOURCE PROGR:AM general function This control record caus(::s the source program, as it is entered, to be listed on the principal print device. format Card column Contents Explanation Asterisk 2 through 72 LIST SOURCE PROGRAM 73 through 80 Not used *LlST SUBPROGRAM NAMES general function This control record causes the names of all subprograms (including subprograms called by EXTERNAL statements) called by the compiled program to be listed on the prinCipal print device. format Card column Contents Explanation Asterisk 5-66 2 through 72 !LIST BUBPROGRAM !.\lAMES 73 through 80 Not used FORTRAN Control Records *LlST SYMBOL TABLE *LlST ALL *LlST SYMBOL TABLE general function This control record causes the absolute or relative addresses for the following items to be listed on the principal print device. • Variable names • Numbered statements • Statement functions • Constants The addresses are relative unless an ORIGIN control record specifies the core address where the first word of the core load is placed for execution. A constant in a STOP or PAUSE statement is treated as a hexadecimal number. This hexadecimal number and its decimal equivalent appear in the list of constants. The hexadecimal number is displayed in the ACCUMULATOR when the system waits at $PRET during the execution of the PAUSE or STOP statement. format Card column Contents Explanation Asterisk 2 through 72 LIST SYMBOL TABLE 73 through 80 Not used *LlST ALL general function This control record causes the source program, associated subprogram names, and the symbol table to be listed on the principal print device. When this control record is used, the previously described LIST SOURCE PROGRAM, LIST SUBPROGRAM NAMES, and LIST SYMBOL TABLE control records are not required. format Card column Contents Explanation Asterisk 2 through 72 LIST ALL 73 through 80 Not used The FORTRAN sample program in Appendix H is listed by a LIST ALL control record. Control Records 5-67 FORTRAN Control Records *EXTENDED PRECISION *ONE WORD INTEGERS *EXTENDED PRECISION general function This control record allocates 3 words of core storage for aritlunetic values (real and integer) instead of the standard tw'o and generatds linkage to the extended precision subprograms. The FORTRAN compiler normally operates in standard precision; that is, 2 words (a sign, 23 significant bits, and an exponent) of core storage are allocated for each aritlunetk value. Through the use of the EXTENDED PRECISION control record, the compiler can be made to yield 31 significant bits by allocating 3 words of core storage for each ar:lth· metic value. Standard precision, extended precision, and arithmetic subprograms are discussed in the publication IBM 1130 Subroutine Library, GC26·5929. format Card column Contents Explanation * Asterisk 2 through 72 EXTENDED PIRECISION 73 through 80 Not used *ONE WORD INTEGERS general function The FORTRAN compiler normally assigns 2 words of core storage for each real and inte· ger value (see the previous discussion of the EXTENDED PRECISION control record). The ONE WORD INTEGERS control record causes all integer values to be assigned one word of core rather than the standard 2 words, or 3 words when an EXTENDED PRECI· SION control record is uSled. An ] 130 FORTRAN integer can have any value in the range of - 2 15 +1 to 2 15 -1. Any value in this range can be contained in one word (16 bits) of core storage; therefore, inte· ger values can contribute rather significantly to inefficient use of core storage because of the extra word allocated for standard or extended precision. Because of this, the use of the ONE WORD INTEGERS control record conserves core. Note. If this control record is used, the program does not conform to the USASI Basic FORTRAN standard for data storage, and will require modification for use with non· 1130 FORTRAN systems. format Card column Ccantents Explanation Asterisks 5-68 2 through 72 ONE WORD INiTEGERS 73 through 80 Not used FORTRAN Control Records *NAME **(header information) *NAME general function This control record causes the specified program name to be printed at the end of the program listing. format Card column Contents Explanation Asterisk 2 through 72 NAMEl6xxxxx xxxxx is the name of the mainline program and is five consecutive characters (including blanks) starting in the first nonblank column after NAME. At least one blank must separate NAME and the mainline program name. 73 through 80 Not used ** (Header Information) general function This control record causes the information specified in columns 3 through 72 to be printed at the top of each page printed during compilation when a 1403 Printer or 1132 Printer is the principal print device. When the first statement of the program is read, the printer skips to a new page (a skip to channell), prints the heading, and begins listing the program statements. format Card column Contents Explanation 1 and 2 ** Asterisks 3 through 72 Any string of characters 73 through 80 Not used Control Records 5-69 FORTRAN Control Records *ARITHMETIC TRACE *TRANSFER TRACE *ARITHMETIC TRACE general fUnction This control record causes the value of each variable to be printed each time it is changed during program execution. An asterisk immediately precedes each printed value. Console entry switch 15 must be turned on, and an 10CS control record specifying the console printer, 1132 Printer, or 1403 Printer must be included in the FORTRAN control records. When more than one of these print devices is specified, the fastest device is used for printing the traced values. Tracing is stopped if con~ole entry switch 15 is turned off. This provides for tracing only a part of a program. Tracing can be restarted by turning console entry switch 15 back OlL You can trace selected portions of your program by placing statements that start and stop tracing in the source program. These statements, CALL TSTRT and CALL TSTOP, are placed where needed in the program. In addition to these statements, console entry switch 15 must be on and an 10CS control record specifying a print device and an ARITHMETIC TRACE control record must be included in the FORTRAN control records. format Card column Contents Explanation Asterisk 2 through 72 ,A,RITHMETIC TRACE 73 through 130 I\ot used *TRANSFER TRACE general function This control record causes the values of IF expressions and computed GO TO indexes to be printed during program execu tion. Two asterisks immediately precede each printed value of an IF statement. Three asterisks immediately precede the value printed for the index of a computed GO TO ~tatement. Console entry switch 15 must be turned on, and an 10CS control record specifying the console printer, 1132 Printer, or 1403 Printer must be included in the FORTRAN control records. When more than one of these print devices is specified, the fastest device is used for printing the traced values. Tracing is stopped if console entry switch 15 is turned off. This provides for tracing only a part of a program. Tracing can be restarted by turning console entry switch 15 back on. You can trace selected portions of your program by placing statements that start and stop tracing in the source program. These statements, CALL TSTRT and CALL TSTOP, are placed where needed in the program. In addition to these statements, console entry switch 15 must be on and an 10CS control record specifying a print device and a TRANSFER TRACE control record must be included in the FORTRAN control records. format Card column Contents Explanation Asterisk 5-70 2 through 72 TRANSFER TRACE 73 through 80 Not used FORTRAN Control Records *ORIGIN RPG Control Cards *ORIGIN general function This control record allows you to specify the core address where the core image loader starts loading a program into core for execution. When an ORIGIN control record is used, absolute addresses are printed in the listing that is produced by the compiler. This allows you to see exactly where the program statements and constants are during execution. format Card column Explanation Contents Asterisk additional field information 2 through '72 ORIGINl6ddddd or ORIGIN/xxxx 73 through 80 Not used This is the starting core address expressed as a decimal number (ddddd) of 3 to 5 digits or as a hexadecimal number (/xxxx) of 1 to 4 digits preceded by a slash, ORIGIN. The origin of a program cannot be specified below the disk I/O subroutine that is used by the core load. The origin is determined by adding decimal 30 to the next higher addressed word above the end of the disk I/O subroutine used by the core load. If the address you specify is an odd number, the system uses the next highest even address as the origin, The following chart lists the lowest possible origins. If an invalid address is specified, the control record is ignored. Disk I/O subroutine in core Decimal Hexadecimal DISKZ DISK1 DISKN 510 690 960 /01FE /02B2 /03CO Core load origin RPG CONTROL CARDS functions Two RPG control cards specify operations to be performed by the RPG compiler. The first, the RPG control card, acts as a header for the source deck. Information coded in this control card indicates the compiler operations to be performed. The second control card, the RPG end-of-file control card, is required as the last card of a source program or a data file. The RPG control cards are placed in the input stream as follows: II~"'--- Source program I/JOB Con trol Records 5-71 RPG Control Cards The following illustrates the stacked input required to compile an RPG source program, store the object program in the user area, and execute the object program: /* Ii ;I End of file signals end of data card input fUn Iii ~ RPG data file (if file not already stored on disk) Execute the program. X or any other entry in column 28 will bring in the special I LS routines required by RPG. Get PROGN (program name) from working storage and ~ store it in the user area. ,-End of file card for source deck RPG source deck (specification statements) RPG Gontrol card Monitor control card to call the RPG compiler ~-------------------- . . . . - Monitor COI'1trol card to initiate the job If the II DUP and *STORE records are omitted, the program is executed from workl11lg storage; however, the program is not available for future execution because it is not s~lved. If the program being compiled is not executed often, storing it on cards rather than Ollt disk may be advisable. The following illustrates the stacked input required to compile an RPG program and punch an object deck: II~""- Blank cards for object program Punch the named program (PROGN) into c:ards. The program is in working storage. Disk utility program call L..-.._-- End of file card for source deck RPG source deck (specification statements) , - Monitor control card to call the RPG compiler L-_ _ _ _ _ _ _ _ _ _ _ 5-72 r---- Monitor control card to initiate the job RPG Control Cards Then, the input stacked required to execute the object program from cards is illustrated by: End of file signals end of data card input file x RPG data file (if file not already stored on disk) ......_ _ Execute the program. X or any other entry in column 28 will bring in the special I LS routines required by RPG. IMII--- RPG object program .....- - Store a program from cards to working storage. Disk utility program call L..._ _ _ _ _ _ _ _ _ _ _...J-I....- Monitor control card to initiate the job Most RPG programs require input data during program execution. This data can be on data cards at e~ecution time or can be stored at any time before execution in a predefined data file on disk. The following illustrates how a data file can be built on disk by an RPG program: /* End of file signals end of data card input file. Data cards to be stored on disk in FILE 1. Execute object program. X or any other entry in column 28 will bring in the special I LS routines required by RPG. L...-~....--- Store object program Disk utility program call End of file card for source deck RPG source deck including control card. On the File Description Specifications forms, define input file as cards, output file as disk. Object program to load data cards to FILE 1. Monitor control card to call the RPG compiler Reserve 100 sectors on disk and label this area FILE1; *STOREDATA can also be used to reserve the disk storage space. Disk utility program call Monitor control card to initiate the job Con trol Records 5-73 RPG Control Cards RPG control card end-of-file card The RPG compiler prints addresses of various routines in the key addresses of object program table. For example, the close files routine (located near the end of the mainline program) is included in this table. This routine may require from 2 to 16 additional words (hexadecimal) depending on the type and number of files to be closed. The address of this routine can be helpful when dealing with programs that exceed the available core storage. By adding the number of additional words to the address of the close ftles routine, the size of the generated mainl:ine program can be determined. RPG data files may be sequential or indexed-sequential (ISAM). On an JSAM load function, the compiler prints the following information: • Filename • Number of sectors required if overflow is not needed • Number of sectors requi.red if 10 pe'rcent overflow is needed This infonnation can be us·ed to reserve ftle space for ISAM records. See "Assembler and RPG Disk File Organization and Processing" in Chapter 6 for detailed information about RPG disk data meso RPG Control Card general function This first card of an RPG source program immediately following the RPG monitor control record must be an RPG control card. The infonnation coded in columns 6 and 11 of 1his card indicate the functions that are to be performed by the RPG compiler. All other entries in the control card are described in the publication IBM 1130 RPG Language, GC21-5002. format Card column Contents 1 through 5 Described in IBM ttao RPG Language 6 H 7 through 10 Reserved 11 Blank, B, or D Explanation Identifies this card as an RPG control card Blank indicates compilation with a listing of the program. B indicates compilation only. D indicates a I isting only. 12 through 80 Described in IBM 1130 RPG Language End-of*File Control Card 5-74 general function This control card designates the end of an RPG source program and an RPG data file; therefore, an end-of-file control card must be the last card of an RPG source program and an RPG data me. format Card column Contents 1 and 2 /* 3 through 80 Not used Explanation Monitor Control stacked job input Chapter 6. Programming Tips and Techniques The information in this chapter is planned to help you use the 1130 Disk Monitor System, version 2, more efficiently. The infonnation is presented in the following order: 1. 2. 3. 4. 5. General tips on monitor control and usage Data me processing Tips for the assembler programmer Tips for the FORTRAN programmer RPG object program considerations TIPS ON MONITOR CONTROL AND USAGE The tips in this section are of general interest to all programmers of the 1130 DM2 system. These tips include: • Arranging stacked jobs • Using temporary job mode • Using the disk I/O subroutines • Restoring destroyed cartridges • Avoiding overprinting • Using programs and data files more efficiently • Using LOCALs, NOCALs, and SOCALs • Reading core maps and me maps • Reading the transfer vector • Using SYSUP for changing cartridges during program execu tion Stacked Job Input Arrangement Input to the monitor system includes control records, source programs, object programs, and data that are arranged logically by job. The monitor JOB control record designates the start of a job. You should consider the following when arranging the input for any job: • Any number of comments (1/ *) control records can be used before ASM, RPG, FOR, COBOL,DUP, or XEQ monitor control records. Comments control records cannot immediately follow ASM, RPG, FOR, or COBOL control records. When an *EQUAT supervisor control record is used after a JOB monitor control record, a comments control record cannot be placed between the JOB record and the EQUAT record. A comments control record cannot be placed between a // DUP control record and the following DUP control record (* ... ). When supervisor control records are used after an XEQ or STORECI control record, comments control records cannot be placed between the XEQ or STORECI and the following supervisor control records. • Any records other than monitor control records that remain after completion of an assembly, compilation, or a subjob (XEQ) are passed until the next monitor control re,(ord is read. Also, after a Disk Utility Program (DUP) operation is completed, any records other than monitor c.ontrol records or o.!her DUP control records are bypassed. Programming Tips and Techniques 6-1 Monitor Control stacked job input • If an error is detected in an assembly or compilation or during the building of a core load for execution (XEQ), the resulting object program and any program or programs that follow within the current job are not executed. Also, all DUP functions are pas~led until the next valid ASM, FOR, RPG, or JOB control record is read if an error is detected in an assembly or compilation or during the building of a core load because of a DUP STORECI function . • If a monitor control record is read by the assembler, by Oile of the compilers, or dur:ing Macro Update Program (MUP) operations, execution of the assembler, compiler, or MUP is ended. The function indicated by the monitor control record is performed. The following stacked input arrangement assembles or compiles, stores, and executes programs A and C, if source program errors do not occur and if working storage is large enough. 6-2 Monitor Control stacked job input II JOB Source program C FORTRAN control records - Object program B Source program A -~IIIoJtC=- :=::::::::c'"-=-::-:-::::::::::::::"""""'---'::=;:;;::::::;;:::;l'll )t~i~~~~~~~~el ....... ---l~~~~~~~~~5~~:~ ---I)tJ~~~~~~~~~~~ Assembler control records Cold start card (see cold start operating procedure) Programming Tips and Techniques 6-3 -,-------Monitor Con trol temporary job mode disk I/O subroutines If an error occurs in one of the source programs, the DUP *STORE operation is not performed for that program, and all following XEQ requests before the next JOB control records are bypassed. Thus, if the successful completion of one program depends upon the successful completion of the previous one, both programs should be considered as one job and the XEQ control records should not be separated by a JOB record. How to Use Temporary Job Mode Temporary job mode (indicated by a T in column 8 of a monitor JOB control record) causes all programs stored in the user area during the temporary job to be deleted auto· matically when the next JOB control record is processed. In some cases, the available space in the user area may not be large enough for storage of a newly assembled or compilt~d program. When this happens, you must use the DUP delete function to clear the user area of old programs, and then store the new program. The necessity for such deletions can be avoided by using temporary mode when running jobs that included programs likely to be replaced at a later time, or that are infrequently used. Temporary mode is particularly useful when dehugging a new program. Using th,e Disk I/O Subroutines All core loads, whether they use disk I/O or not, require one of the 3 disk I/O subroutines. As a minimum, a disk subroutine reads the core load into core and execu tes CALL EXIT, CALL LINK, CALL DUMP, and/or CALL PDUMP. uses and how to call Source programs written in assembler, FORTRAN, RPG, or COBOL can call any of the 3 I/O subroutines; however, only one disk I/O subroutine can be referenced in a given core load. Because of this, all programs and subroutines linked to in a core load must use the same disk I/O subroutine. The subroutine used by a core load is indicated in an XEQ monitor control record or a STORECI DUP control record. (Control records are described in Chapter 5.) Generally, DlSKZ is used by FORTRAN, RPG, and COBOL core loads and DISK! or DISKN by assembler language core loads. functions DISKZ is intended for use in an error-free environment, because it does no preoperative error checking. DISKZ is the shortest of the disk subroutines. DISK! and DISKN provide more functions than DISKZ. These additional functions include: • Validity checking of word count and sector addresses • File protection • LIBF-type calling sequence • Validity checking of the function indicator • Write without readback check option • Write immediate • Word count can be on an odd boundary DISKN provides 2 more functions than those just listed: • Simultaneous operation of as many as 5 disks • Faster operation when transferring more than 320 words Mere detailed infonnation about the disk I/O subroutines is in the publication IBM 1130 Subroutine Library, GC26·5929. 6-4 Monitor Control restoring cartridges printer control Restoring Destroyed Cartridges Cartridges containing data and/or programs in the user or fixed area that are difficult to replace can sometimes be restored for use after acc~ss to information on the cartridge is destroyed. use DCIP disk analysis Use the disk analysis function of the stand-alone utility program DCIP to restore sector addresses if only sector addresses are affected. (DCIP is described in Chapter 9.) use a system reload A system reload can be performed if part of the monitor system (except LET, FLET, user and fixed area) is destroyed. Include in the reload the entire monitor system, except the system library. use DC IP patch Use the patch function of the stand-alone utility program DCIP to restore individual words that are destroyed on a cartridge. How to Avoid Overprinting When Using II CPRNT In order to avoid overprinting when using the monitor CPRNT control record, the FORTRAN programmer should provide for spacing an extra line after the last ou tput statement in a program. The assembler programmer should provide for spacing after printing following the last output statement in the program. How to Avoid Overprinting When Linking Between Programs Overprinting when linking between programs can be avoided by coding your program to space one line before linking to another program. This should be done because the core load builder assumes that a space before printing is not necessary; all monitor programs have a space after print. Overprinting should be avoided because an important core load builder message may not be readable. Usage of the EJECT Monitor Control Record An EJECT monitor control record is used during a job to start printing of a new page on the principal printer. For example, comments control records can be placed in a more readable position for the operator if followed by an EJECT control record. ---I /1 10 5 15 20 25 30 35 40 IUO . . II ~ II If ,j II / IZ: 1..1 50 45 f--- -- f -- f--- I--~- +---- 1-----1111l:' I~~ IAG~ rl() ~:p t---f- l ___ , - _ I-- 1-- -- -f--- t':R AI7 101(1) -------c--- IfllT L.c;:I.c ~- I-I---- -1-- 1--1- f-- 1-1- -/---- 1----- 1---1--1--- - f-/---I- Programming Tips and Techniques - I----- 1-- f--- f- - - 6-5 Monitor Control store functions Duplicate Program and DSlta File Names Names that are duplicates of IBM-supplied programs should be avoided in DUP store and delete operations. (The names of IBM-supplied programs.are in Appendix C.) If a program being stored or deleted has the same name as an IBM program, the results of subsequent operations are not predictable. Because the DUP store functions check for duplicate names, 2 programs or data files with the same name cannot be stored on one disk. Two programs or data files can, howeve:r, have the same name if stored on separate disks. If your system has more than one disk drive, having programs with the lame name on more than one disk on the system can cause problems when an attempt is made to execute or delete the named program. r--' 5 1 III ~!G~ 10 15 20 25 30 35 - 1--... 1--1- -I- 1-1--l- t-- _... I~t(j I1I1 11<11- I-rP )RIC iG1 11 11 . - ~- ~-- II ~!lJlV t--t-- 1~51710IRIE t--- -I- ~lt1 lOG! - -1--- ..- f--I- - .- 1--- . -f- I- -- - -. - .-1- i - - f--I- --. _.- .. - I-f--I- . . PiJ< C~l .. .~- - 22 22 - XEG 50 45 - . 1/ IliLIlJ II 40 11 11 2'2 22 .- f--- - f--.. - 1---..- II DlljlJ ~DE iF=7~ 1---- PR OG1 .. -- --1--1 -I---i--- -f--'--- - This sequence of control records cause PROG 1 on the cartridge labeled 1111 to be executed when you may have wanted PROGI on 2222 executed. A similar problem can occur in the delete operation. In this example, PROGI on 1111 is deleted; you may have wanted to delete the program on 2222. To avoid this problem: • Assign a unique name to each program and data file. • If you do not know the contents of a cartridge that is on the system, and the cartJridge is not needed for your job, make the drive not ready. 6-6 Monitor Control store functions Disadvantages of Storing a Program in DCI Format Before you decide to convert to and store a program in disk core image (DCI) format, consider the advantages gained in loading time of a DCI program against the following disadvantages. system maintenance An important consideration is the effect that system maintenance can have on a DCI program. Subroutines from the IBM-supplied system library that are called by a program are stored with a program in DCI format. If system maintenance changes a subroutine after a DCI program is stored, the subroutine in the system library is changed; however, the copy stored with the DCI program is not. In this case, the DCI program must be deleted and rebuilt (STORECI) after the maintenance modification is made. size of working storage If the user or fixed area is expanded after a DCI program is stored, working storage nIes that are referenced by the DCI program may extend beyond the available working storage during execu tion. This problem is not recognized until an attempt is made to perform disk I/O operations past the end of the cartridge. data files not in working storage Another important consideration concerns DCI programs that reference nIes that are not placed in working storage during execution. An error occurs if an attempt is made to store in DCI format a program that references a fIle in the user area, because the location (sector address) of the referenced fIle may change as a result of program deletions. The DCI program subsequently references such a fIle by the old sector address. The results are unpredictable. A similar problem can occur if the DCI program references a file stored in the fixed area, even though the operation is allowed. The fIle might be deleted and another stored in its place after the DCI program is stored. This problem can be complicated by the fact that not only are sector addresses built into a DCI program, but the logical drive codes are also. In this case, you must make certain that every time the program is executed that all the required disk cartridges are mounted on the same logical drives as when the program was originally stored. difference in core size A DCI program can be executed on a system with a configured core size different from the system on which the core load was built, if the size of the core load does not exceed the different core size. Size Discrepancies in Stored Programs The disk block count of a program is printed and becomes a part of the LET or FLET entry when the program is stored. When a program is stored from cards to the user or fixed area, the disk block count can be greater than when the same program is stored from working storage. The reason for this discrepancy is that a DSF header is created for each card when a program is stored from cards to disk. Therefore, any 2 headers in the stored file are a maximum of 51 words apart. When the program is stored from working storage, the distance between headers is limited by the disk buffer size, 320 words. The increased disk block count noted when the program is stored from cards accommodates the expanded size of the fIle caused by the additional headers. Programming Tips and Techniques 6-7 Monitor Control store functions Dumping and Restoring D,tta Files Dumping of important data files to cards is often advisable so that the files can be restored later if the cartridge containing them is destroyed. Use DUMPDATA to dump a fIle to cards and STOREDAT A to stor€~ these cards back on disk. DUMP DATA dumps by sector count. For example, the control record: causes 3 sectors to be dumped to 18 cards; 17 cards of 54 words and one card of 42 words. The last 12 words of card 18 do not contain data. STOREDATA stores by card count. To store the cards in this example, the control record: causes the contents of the:,e 18 cards, excluding the contents of the 12 unused words on card 18, to be stored back in 3 sectors. Note that if you use DUMPDATA to dump to' cards, the number of cards (same as the last-highest-sequence number in cc 78-80 of the cards dumped) is the number to enter in the count field of the STOREDATA card. STOREDATA for Cards Not Processed by DUMPDATA If you use STOREDATA to store cards produced by a function other than DUMPDATA, some of the words in the ::ast card may not be stored. To prevent this, use the followiing formula (based on the number of cards) to determine the card count to specify in the count field of the STOREDATA control record: 1. Use the fommla: ex 54 J20 =S where 2. 6-8 C is the actual number of cards; 54 is the number of data words that can be con tained in a card; 320 is the number of words that can be contained in a sector, and S is the number of sectors required for the fIle. If this formula produces a remainder that is less than 54 and not zero, add one to the card count to b{~ specified in the STOREDATA control record, and place a blank card at the end of the data deck. Monitor Control defined files use of LOCALs Use of Defined Files When an *FILES supervisor control record follows a / / XEQ monitor control record, the core load builder searches LET and/or FLET for a specified fIle name. If the name is found, the sector address of the file is inserted in the fIle table identified by the associated fIle number specified on the *FILES control record. (A file table is created during program assembly or compilation by the assembler FILE statement or the FORTRAN DEFINE FILE statement, respectively.) If the fIle name is not found in LET or FLET, the fIle is defined in working storage. An *FILES control record after an *STORECI DUP control record is processed in the same way, except that files found in the user area are flagged as invalid. A suggested way of initially allocating a disk area for a data fIle in the user area or fixed area is to use the DUP *DFILE function. The number of sectors to be reserved is determined on the basis of the number of records the fIle is to contain, and the size of each record. Use the following to calculate the number of required sectors for a fIle: 1. Compute the number (N) of records that can be contained in one sector: N= 320 L where L is the length in words of each recordin the fIle. Disregard the remainder, if any. 2. Compu te the number of required sectors (S): S=~ where M is the total number of records in the fIle. N is the number of records computed in Step 1. Round the answer to the next higher number if the answer has a remainder. This answer is the sector count that you specify in an *DFILE control record to reserve file space in the user area or fixed area. Mainline Programs that Use All of Core Before you write a program that occupies all of core storage, consider that extensive rewriting may be required if IBM-supplied subroutines called by the core load are expanded due to modifications. The Use of LOCALs A core load that is too large to fit into core for execution can be executed by specifying as LOCALs some of the subroutines called by the core load. Since a core load that utilizes LOCALs does not execu te as fast as it does without LOCALs, keep the following in mind when specifying LOCALs: • Specify infrequently called subrou tines as LOCALs. • Plan your program so as to minimize the number of times that LOCALs are called into core. • Keep the number of specified LOCALs to a minimum. Programming Tips and Techniques 6-9 Monitor Control use of LOCALs use of NOCALs LoeA L-Calls-a- LOCA L The assembler language programmer can execute core loads in which a LOCAL calls another LOCAL. Any character punched in column 26 of the XEQ control record causes all DSF core loads for that execution to allow LOCALs to call LOCALs. In a series of LOCALcall-LOCAL subroutines, you must pass the link word (mainline program return addres:,) in all LOCALs (type 4 or 6 subroutines) that are referenced by CALL statements. The return address must be passed in order to return from the last LOCAL to the place from which the first LOCAL was called. Assembler is the only language that allows the return address to be passed. Therefore, LOCAL-calls-a-LOCAL is restricted to assembler language use. For a FORTRAN program, the core load builder cannot detect a LOCAL-calls-a-LOCAL condition between FORTRAN fonnat I/O routines and the I/O subroutines that they call. Therefore: • A FORTRAN fonnat I/O routine and any routine that it calls cannot both be specified as LOCALs in the same core load. • A user subroutine that contains I/O statements and the FORTRAN I/O routines that are used to execute those statements cannot both be specified as LOCALs in the same core load. LOCAL. and NOCAL Control Record Usage When using LOCAL and NOCAL control records, keep the following in mind: • A subroutine cannot be specified as a LOCAL ifit calls another subroutine also spedfied as a LOCAL. For example, if A is a LOCAL subroutine and A calls Band B calls 'C, neither B nor C can be specified as LOCAL subroutines for the same program. The assembler programmer can avoid this restriction by using the LOCAL-calls-a-LOCAL option discussed in the previous section of this chapter. • If a subroutine is specified as a LOCAL and SOCALs are employed, the subroutine is made a LOCAL even though it otherwise would have been included in one of the SOCAL overlays. • If a subroutine is specified as a LOCAL, it is included in the core image program ev,en if it is not called. • When using LOCAL control records, the total number of mainlines and subroutines specified cannot exceed: 3M + 2S~640 where M is the total number of mainlines specified in the LOCAL con trol records. S is the total number of subrouitnes specified in the LOCAL control records. If execution is from working storage, the mainline program in working storage is counted as one, although it is not specified on a LOCAL record. This restriction also applies to NOCAL control records. • Only subroutine types 3, 4,5, and 6 can be named on LOCAL and NOCAL controll records. (A description of subprogram types is included in Appendix I.) Subprogram types 3 and 5 are referenced by LIBF statements, and types 4 and 6 with CALL statements. Types 5 and 6 are ISSs; types 3 and 4 are subprograms. • Conversion tables, such as EBPA and HOLTB, cannot be used as LOCALs. The conversion tables are listed in Appendix C. • SCAT!, SCAT2, and SCAT3 cannot be used as LOCALs. • Although a subroutine's instructions or data areas may be altered during execution, later LOCAL/SOCAL reloading may put the subroutine back into its original state. 6-10 Monitor Control use of NOCALs The Use of NOCALs NOCALs provide a method of including a subroutine in a core load even though the subroutine is not called. The advantages of NOCALs can be illustrated by the following. manually executed debug subroutines You can write debugging subroutines, such as a specialized dump subroutine, and include them in a core load as NOCALs. Then during program execution, you can execute the debugging subroutine by manually branching to its entry point. If an interrupt service subroutine (ISS) for levelS is made a NOCAL during a core load, you can execute it by pressing PROGRAM STOP; an interrupt on levelS is made, and PROGRAM START returns execution to the mainline program. A subroutine to monitor execution of a mainline program or to gather statistical information can be designed. ISS trace subroutine using NOCAL The following sample trace subroutine for interrupt levelS, ILS05, determines when the contents of a core location are destroyed by being changed to zero. Location /0500 is used in the example. This subroutine is written and stored as subtype zero in the user area. The sample ISS is assembled as levelS and stored in the user area. The ISS trace subroutine is specified as a NOCAL when the mainline program is executed; the ISS and associated ILS05 are included as a part of the core load. During a WAIT instruction in the mainline program, the console mode switch is turned to INT RUN to cause a levelS interrupt after execution of each mainline statement. The trace subroutine is entered and, in this example, waits when core location /0500 becomes zero. A dump of the program can be used to determine the conditions that caused the change to zero. Programming Tips and Techniques 6-11 Monitor Control NOCAL example Operation LClbel 25 21 27 F T Operands & Aemarks f" ~2 33 30 35 ~* ~1~1 , , , * * *.... * A,M,P,L 0 ~,~,~,*,~ 45 40 ~,~,~,~ 50 55 65 60 70 i~,~,*,~,~,1E,~Ma.('~'~'~'~~'~'~'~'*'*I*'~;~'~'~'~'~'~'~'~'~'~'~'~I:~ , , , , , , • I , , , , , , , , , , -, , , .* ,L,E,V,E,L, __L2, ....L...J.~ , .A.L.L T 'R,A,C,I,IJ,r;j ,D,V,T<.ili.N, Q 0W *.~. 1 I / IN IT £l2,72,U,'P,T, l2 U.N, M,Ol),E, -, , , I~ , -, L..L , I I , , I , , , , , , , I , , , , , l~ I~ *1~,~,*,-1(~~~,~,~~~,~,~~,~,*,*,~¥,~,~,~,~'~'*I~,Mf*'~'~I~'~'~'~'~i~ *.*~,~.~ ~ *'~'~'~ ~ *5 Iqj , , , , , I , , , , I, - IL.S. A,D,D,J(, [),C, , , , I L.L..I , , , I , I , /,¢,¢,4,7, LL I I I I I I I I I I • • rp , , ~.-L.lE X I •• T 0 I •• E F '-L-LL.LL_l.-L-LL' ,/,L,S, ,6.U,~,12,O&7, , , / ,N,£, ,F,O,Z?, , , , , , _L..l.. f- I • I , I I , I , " , , I , I , , , I I I f- ~ I ••• '--1.......L...L...L , , , , T ~1£.I=l.;~IO, ,/,S,SLJ!j,£l;, L_-L..L(J r(zj =,E N,1 ~, , , ,e 0 1:(,£, ,L D B L D,R, IPI UI 7jSI ,A,C;[.J/A,L , IN,T, , I , I , • ••• ~-L..L ·. , • •• I • J <.7<,2, I , , , ..LJ-L....' I • • • • , , , , , , , , , , , A.D'~.L....1......L.J..-LLJ_' , , , • , I I I -I , I I • 141, " ' " ...L....l-~r:.,S}·,O,R,~ ,~~A,~U,~ , • , , , , I , -, , , I-T.EIvl.A ., , , I I N,S, r.O,R,~ ,A,C,C'-'£IX,G I 1., I I L-'-_.L...L....L....1._ I-¥,-,~, , , I ~,S,7,O,'R.E., ,XIR.l, ....L.L , , , , , , , I , -, I , I ~I-'*' , , • , , , N-,S,GOl<,E, ,X,R.21 , I , , I , , , , I , I , , I - I-I.N,T. , , , I LL.£;j, / ,T,-,7.U.T<,N. ,O.F,F, ,/,N,~ ,L,E,V,E,L, ..L.J_ I 21 , , , I , I , 1.GA,C C,-,E.X,7, ), , , , , , I , , , f~.-,*, S,TD, , -1. I , , I ,o,T,/,L,L, .AJ,O,M~El~,a I....L....L , I , , I , , I , , , , I I , I , , , , ....L..L...L..L..L , , , , , , I , , , , •- I , , , • , ... , ,, I I , , , I , , , I I I Note. Provision must be made to test the device status word for the keyboard/console printer if you want to distinguish between levl~' 5 interrupts initiated by the PROGRAM STOP key and interrupts from INT RUN (see IBM 1130 Functional Characteristics, GA26-588:1l. 6-12 Monitor Control use of SOCALs core maps The Use of SOCALs restricti ons A subroutine that is included in one SOCAL overlay must not call a subroutine included in another SOCAL overlay or cause another SOCAL overlay to be loaded into core before execution of the current SOCAL is complete. This restriction is required because the IBMsupplied 1130 subroutines that are used in SOCALs are not re-enterable. Note that disk I/O is used every time a SOCAL is read into core, thus disk I/O is sometimes entered without your direct knowledge. When the 1627 Plotter is used by a program, the following subroutines must not be in a SOCAL for that program: EADD, FADD, FMPY, EMPY, XMD, XMDS, and FARC. These must instead be incore subroutines. You can accomplish this by: 1. 2. 3. decreasing execution time Dumping these programs to cards or WS Deleting the programs Storing the programs with subtype zero The use of SOCALs increases the length of time for execution of a program. Some of the extra time can be avoided by planning your program so as to minimize the number of times that SOCALs are called into core. Ideally, your program should be written in sections, each employing a single SOCAL; input, computation, and output. Plan input and output carefully so as to separate disk and nondisk operations whenever possible. RfJading a Core Map and a File Map The core maps described in this section are taken from the sample programs supplied with the monitor system. Sample program listings are in Appendix H. These maps include: • The execu tion address of the mainline program • The names and execu tion addresses of all subrou tines in the core load • The file allocations Programming Tips and Techniques 6-13 Monitor Control assembler core map The following is the core map from the assembler sample program (program 2): asseimbler core map II XEQ L R 41 7908 (HEX) ~CS UNUSED BY CORE LOAt CALL TRANSFER VECTOR fSCR 0248 LIBF TRANSFER VECTOR FARe 069A X~CS 061E ~CLL 062E PRTY EBPA FACO FDIV FLO' 050E 05SE FADDX F~PYX fSTO FGETP NOR~ TYPEO EBPRT IFI.X 04eO 053C 0488 04E3 049E 046C 0452 0428 0312 02AC 0280 FLOAT 0230 SUBROUTINES IlS04 OCC4 IlS02 00B3 OlFE (~EX) IS THE EXECUTION AODR SYSTE~ Message R41 (not an error message) indicates that /7908 words of core storage are n'ot occupied by the core load. Only one subroutine (FSQR) is called with a CALLstatement, but several subroutines are called with LIBF statements. The ILS02 and ILS04 subroutines are required; however, their addresses indicate that they are a part of the resident monitor and not in the core load. The entry point address to the mainline program is /OlFE. The following is the core map from the FORTRAN sample program run on a 4K system (program 1): 6-14 Monitor Control FORTRAN core map FORTRAN core map II XEQ on4K *LCCAL,FlCAT,FARC,IFIX,PAUSE,HOlEZ l 2 system *FILES(103,fILEA) FILES ALlCCATION 103 02EA 0001 OeDO FILEA 101 COOO 0001 CEOO 02EC 102 COOl 0001 OEoO 02EC STORAGE ALLOCATION R 40 038F (~EX) ADDITIONAL CORE REQUIRD R 43 0124 (HEXl ARITH/FUNt seCAl WD tNT R 44 0682 (HEXl FIIO, 110 SOtAL WD tNT R 45 0286 (HEX) DISK FI/G SOCAL WO C~T R 41 0004 (~EX) wDS UNUSED BY CORE LOAD lIBf TRANSFER VECTOR XMCS 09AA SOCAL 1 EBCTB OF51 seCAl 2 HeLTB OFl5 seCAL 2 GETAC OE02 SOCAl 2 NORM 07tO FACDX 0955 SOCAl 1 FSBRX 092C SOCAl 1 FMPYX 08FS SOCAl 1 FOIV 08A6 SOCAl 1 FSTOX 016C FlOX 0788 SOCOM 0918 SOCAl 3 SDfX 08E3 SOCAl 3 SDWRT 0901 seCAl 3 SIDFX 09A6 saCAl 2 SUBSC 07A2 SICI 09AA SOCAl 2 SCOMP 0983 seCAL 2 SWRT 08A2 SOCAl 2 SRED 08Al sceAl 2 FSTO 0710 FlD078C PRNTZ OOF8 SOCAl 2 CAROl 0048 seCAl 2 SFIO 09BF SOCAl 2 SDfie 0960 SOCAl 3 HClEl 086A LOCAL PAUSE 086A LOCAL IF'IX 086A LOCAL FARe 086A LOCAL FLCAT 086A LOCAL SYSTEM SUBROUTINES IlS04 IlS02 IlSOl IlSOO 00C4 00B3 OF 56 OF6f fllPR 0804 04Cl (HEX) IS THE EXECUTION ADOR Programming Tips and Techniques 6·15 Monitor Control FORTRAN core map The principal difference between the assembler core map and this FORTRAN core map is that the FORTRAN core map includes a file map. File 103 is equated to a disk data file named FILEA by the *FILES control record. tinder FILES ALLOCATION, me 103 is listed with a beginning sector address of /02EA, is one sector in length, and is stored on a cartridge labeled OEDO. I f file 103 had required more than the 2 sectors available in FILEA, the record count would have been reduced to make the file fit in FILEA, and the file map entry would be: 103 /2EA 0002 OlEDO FILEA TRUNCATED Files 101 and 102 are in working storage and are not defined in the *FILES control record. The last entry for each file indicates whether the file is in the user or fixed area, or in working storage. If the file is in the user or fixed area, this entry is the name of the file (FILEA in this case). If the file is in working storage, the last entry for each file is the sector address of working storage. The second entry for each file in the user or fixed area is the absolute sector address of the first sector of the file. For flIes in working storage, the second entry is the address relative td the first sector of working storage. Thus, the absolute sector address of file 101 is /0000 + /02EC; for file 102, /0001 + /02EC. Note that this program when run on a 4K system requires both LOCALs and SOCALs. The programmer defines the LOCALs in the *LOCAL control record. These subroutines are identified by the term LOCAL in the core map. The core load builder selects the SOCAL subroutines, and these subroutines are identified by the term SOCAL followed by a SOCAL overlay number in the core map. SOCAL option 2 is used for this program because all 3 SOCAL overlay numbers are used. SOCAL option 1 uses SOCAL overlay 1 and 2 only. Under STORAGE ALLOCATION, message R40 indicates that the core load exceeds the capacity of core storage before SOCALs are employed by /03BF words. Messages R43, R44, and R45 indicate that SOCALs 1, 2, and 3 require /0124, /06B2, and /02B6 words of core, respectively. Thi~; information indicates that since SOCAL 2 is much larger than SOCAL 1, more arithmetic and function subprograms can be called at little extra cost in core. Message R41 indicates that after SOCALs are employed, /0004 words of core are not used by this core load. 6-16 Monitor Control FORTRAN core. map The following is the core map from the same FORTRAN sample program (program 1), but run on'an 8K system: FORTRAN core map on 8K system II XEQ L 2 *lCCAl,FlCAT,FARC,IFIX *FIlES(lC3,FIlEA) FILES AlLCCATIC~ lC3 02EA COOl OECO fllEA lCl cooe OeOl OEOO 02EC 102 0001 OCOI OECO 02EC STCRAGE AlLCCATIC~ R 41 OC08 (~EX) WDS UNUSED BY CORE lOAD LI~F TRA~SFER VECTCR EBCTt3 12BF HClTB 1283 GETAC 1240 X~CS 1224 I-'ClEl llEE PALSE 1108 NORr.' llAE FACOX 1159 fSBRX 1130 F~PYX 1CFC fDIV 1CAA fSTCX 1052 FLCX 106E SCCCr.' 0842 SCFX 07AC SCWRT 07C8 SICFX OB26 SlJBSC 1088 SICl OB2A SCCtJP OB03 SWRT OA22 SREO OA27 FSTO lC56 FLC 1C72 PRt\Tl Cf78 CAROl OEC8 SFIO OB3F SOfIe 082A If IX 1338 LOCAL FARC 1338 lCCAL FLCAT 1338 LCCAL SYSTEr.' SUBRCUTINES ILS04 CCC4 ILS02 CCB3 IlSOI 1366 IlSCC 137F FlIPR 1202 04Cl (I-'EX) IS T~E EXECUTION AOOR Note that fewer LOCALs are specified, and that SOCALs are not necessary; the entire program can be contained in 8K core. Programming Tips and Techniques 6-17 Monitor Control RPG core map FORTRAN allocation addresses TIle following is the core map from the RPG sample program (problem 3): RPG core map II XEQ L R R 41 6016 (HEX) WDS UNUSED BY CORE LOAD CALL TRANSFER VECTOR RGERR OC24 HLEBC OAlA LIBF TRANSFER VECTOR RGSI5 1lE4 RGBlK 11AA RGEDT l05A RGMV2 OFA6 RGADD ODDD RGSll 0080 RGMV5 OC72 RGMV3 0050 RGCMP OCFE RGMV1 OC6A PRNTl OA9A ZIPCO 097A CARDa oe1C SYSTEM SUBROUTINES ILSX4 1249 ILSXZ 1260 ILSX1 1286 ILSXO 12A3 020F (HEX) IS THE EXECUTION ADOR Ihe information in the RPG core map that is different from the assembler or FORTRAN core maps is that the special ILS subroutines (named with an X, as ILSX4) are used. The special ILS subroutines are r·equired by RPG and are called when any character is punched in column 28 of the / / XEQ control record. Locating FORTRAN Allocation Addresses Variable, constant, and statement allocation addresses are relative to the loading address of a FORTRAN program if an *ORIGIN control record is not used. The loading address (origin) is detennined by adding decimal 30 to the next higher addressed word above the end of the disk I/O subroutine used by the core load. The following chart lists the lowest possible origins, depending on the disk I/O subroutine in core: Disk 1/0 subroutine in core Core load origin Decimal Hexadecimal 510 690 /01 FE /0282 /03CO f-. DISKZ DISK1 DISKN 6-18 960 Monitor Control transfer vector The absolute addresses of variables: constants, and statements are found by adding their allocation addresses (obtained from a listing) to the loading address. If an *ORIGIN control record is used, you designate the loading address (not lower than the addresses in the previous chart). In this case, the allocation addresses printed in a listing are absolute addresses. The variable allocations that follow are taken from the FORTRAN sample program (program I) in Appendix H. VARIABLE ALLOCATIGNS A(R )=CODC-0016 V3 ( I )=OlF2 L2 ( I )=OlF8 K ( I )=OlFE O(R )=OlEE M1 ( I )=OlF5 N ( I )·=OlFB X(R )=OOFO-OOOE )=OlF3 N1 ( I )=OlF9 I K ( I )=OlFF V1 ( I )=OlFO M2 ( I )=OlF6 I ( I )=OlFC M( I B(R )=OlEC-OOF2 L ( I )=OlF4 N ( I )=OlFA I 1 ( I )=02CO V2(I )=OlFl L 1 ( I )=OlF1 J ( I )=OlFD The real variable array A is allocated between the loading address + /OODC and the loading address + /0016. Constant and statement allocations are calculated in a similar manner. Notice that the 100-element array A requires 200 core locations (2 words per element). Because all FORTRAN arrays are allocated in reverse order, A (1) is assigned the two relative addresses /OODC and /OODD, A (2) begins at /OODA, and A (3) begins at /00D8. The relocation factor (the actual core address of the first word) of a FORTRAN subprogram is obtained by subtracting the relative entry point address (from the subprogram compilation listing) from the actual entry point address (in the core map). Reading the Transfer Vector The contents of the transfer vector are determined from a core dump by starting at the high end of core and marking off words backwards as illustrated by the following: Dummy one-word entry (if necessary) to ensure odd address for F AC Last Second First Indicators FAC Last Second First ~lIFL"Ll~j~~J.::<~:~,J~\:,,",:-::.:.' ......:::::. LlBF TV·:::::::·:·:....··.. "':: CALL TV·::···· '.: COMMON " End of core • Low core High core Programming Tips and Techniques 6-19 Monitor Control SYSUP Continuation of the job must be delayed until any newly mounted cartridges are ready. The assembler WAIT statement and the FORTRAN PAUSE statement provide the necessary delay. The IDs of the cartridges being used must be specified. If zero is specified for the master cartridge (logical drive 0), the master cartridge for the current job is assumed. When Jess than S cartridges are used, specify the IDs for the cartridges to be used and an 10 of zero to indicate to SYSUP that all cartridges have been specified. If, for example, 3 cartridges are used for a SYSUP operation, the cartridge 10 list is coded as follows: Label 25 21 I I I I Operation F T 27 32 33 I • I 30 I I I I I , ., , , I , , , • I I LJ,8.T, D,C, I J)ICI I Operands & Remarks ., , , ..1 • , , ., , , , , I , , 1 Ll " 40 35 I 1 I I 1 1 45 I. I 1 , I , I • I , 1 1 I I I ilJ,C, , /.21212121 • 1 1 1 I I D.CI /'¢I¢.¢.¢I • I I I I • (I , I I I t I I I I t , 65 60 70 1 , , , I , , I I • I I I l.1 I I I I I I I I , I I '-1-..L_L..L....L __ L_~.__ 1 I I I I I I I I I I I I I -1-..L-L._...L_L....L-L_I_ f - I , I I I 1 I I • - i 1 I , , 55 I • , , , I ,(,A ,s , .5',U,m,e, ImIQ1slt,e,f', ,~,a,,.,f,,,,;,d,Q,e,), /.11111.11 • I I I I ,CCa,r,f. I liD, 10Ir .I10,q. i,c,Q,/, 11,).', I • 0 I I I • (,C.a,r,f. liD i,c,a, ~~-L_'l,n,dJ ,c,a,f,e,s. ,f?,n,d,' .0,1, II, ~,f,), ....L_:= r- /1~¢/lrA 1 I , 50 I I I , I I I I I I I I I I I 10.f'1 .11 1(,. 1 I , I , , I /1 I I f- ---L...L__L...L..l __ L ...L_t_ r- The FORTRAN calling sequence for SYSUP is: -1 10 5 20 15 fA lUiS E- 1_2 :34 -.. ~- I- -- .. _ - f-- rCA IL -8 YS up (a ) -.---- 30 25 35 40 jlIcC ha nla e ca ~-t €'s. (:p I'e SiS iP RC (71< ~~ ~~ TA tit ) f- - .. -- -c- 1-'- .. - - ... - 50 45 ... -I - -• -- I where a indicates the last item in an array that contains the IDs of the cartridges being used for the SYSUP operation. For example: CALL SYSUP (K(S)) K is a one-word integer array. Because FORTRAN arrays are stored in reverse order, the first item read by SYSUP is the last item K(S) stored in the array. Thus, K(S) is the entry for logical drive 0, the master cartridge. This item in the array can contain zero, in which case, the master cartridge defined for the current job is assumed. The array cannot be longer than S words, but it can be shorter. Ifless than S words are used, the first item K(1)-placed in the array must be zero to indicate to SYSUP that all cartridges have been specified. For example, a 3-cartridge FORTRAN array is specified as (K(4)) with K(1) containing zero. After execution of SYSUP is completed, a list of the cartridges is printed. Error messages prin ted during SYSUP operation are included in Appendix A. Programming Tips and Techniques 6-21 Monitor Control SYSUP, reeling Reeling Reeling is the process of continuing a long data file from one cartridge to other cartridges and is done with SYSUP and program linking. This operation might be performed as follows. Suppose your system has only one disk drive, the internal disk in an 1131 CPU, and you want to sequentially process a long data file that does not fit on one cartridge. The fiirst part of the file can be defined on one cartridge and the second part on another. The program that accesses this file can be written as 2 parts and linked together. The first part processes the first part of the data file, and the second part of the program processes the rest of the data file. Assume the program is written in FORTRAN, and the termination of the first link consists of a PAUSE (to allow for mounting the second cartridge in place of the first), followed by CALL SYSUP and CALL LINK to the second part of the program. When SYSUP is called, DCOM and COMMA are updated on the second cartridge. on a single dri,ve system -1 10 5 15 41QJ ") 20 30 25 (3 ,4 V'l IR~ l4r ( 41, illl~ L I Nli< ~~ ~~ r-1 NR I I E 1', -f- '--'- I- -- , - - -- --f-f- Note that an *FILES control record defining the $$$$$ me is not required after the XEQ control record. Sample program 4 in Appendix H uses unformatted I/O and END FILE, BACKSPACE, and REWIND statements. The program writes 3 logical records of different lengths to a , $$$$$ data me. Each logical record begins on a sector boundary and extends into additional sectors as required. After the completion of each WRITE statement (of records A, B, and C), a pointer is moved to the beginning of the next logical record. In the case of the END FILE statement, the pointer is similarly positioned beyond the record generated by END FILE. The second BACKSPACE statement moves the pointer to the beginning of record C, which is subsequently read into area F. The REWIND statement sets the pointer to logical record A, then a READ statement with no area specified advances the pointer to record B. Only the first half of B is read into area E, since the record lengths are in the ratio 2: 1. Assembler and RPG ,Disk File Organization and Processing The disk I/O subroutines supplied with Disk Monitor 2, direct access, sequential access, and indexed sequential access method (ISAM), are used by both assembler and RPG language programmers. The key to the use of the disk I/O subroutines is an understanding of the basic principles of disk me organization and processing. Programming Tips and Techniques 6-27 [)ata File Processing sequentiall ISAM File Organization File organization is the method of arranging data records on a direct access storage device; that is, building the me. Two types of me organization are available with DM2; sequential and indexed sequential (ISAM). sequential fi Ie organization A sequentially organized me is one in which records are placed on the disk in the sam€:: order they are read in, one after another. That is, record 6 cannot be written until record 5 is written, record 5 untillfecord 4. Sequential fIles can be processed sequentially or randomly. indexed sequential (ISAM) file organization An indexed sequential me is one in which records are pla.ced on the disk in ascending sequence by a record key. The record key can be a part number, man number, or any other identifying information that is present in the records in the fIle. In addition, an indexe:d sequential me uses an index table to indicate to the processing program the generalloGation of desired records. Each index entry contains a cylinder address and the highest record key on that cylinder. For cylinders that have overflowed, the index also contains the overflow sector address and the key of the first sector overflowed from that cylinder (see the descriptions of overflow sectors and areas under "Indexed Sequential Access Method Files" and "Contents of an ISAM File" later in this chapter). Index tables are analogous to the index card me in a library. If you know the title of a book (the record key), you can look in the card fIle (index table) until you fmd the card (index entry) for that book. On the card is a number (cylinder address) where the book (record) is located. You go to the shelf and find (seek) the number (cylinder address) you are looking for. Now you can search for the particular book (record) by title (record key) . . Records in an indexed sequentially organized me can be processed sequentially or randomly. File Processing File processing is the method of retrieving data records from a fIle; that is, using the me. Four methods of file processing are available with DM2. • Sequential processing of sequentially organized mes • Random processing of sequentially organized mes • Sequential processing of indexed sequential (ISAM) mes • Random processing of indexed sequential (ISAM) mes 6-28 sequential processing of sequential files When sequentially processing sequential mes, all records in the fIle are processed in the order of the me starting with the first physical record in the fIle. random processing of sequential files When sequential files are 'randomly processed, the sequence of record processing is not related to the physical sequence of the records in the me. To find a record in a sequentially organized me, your program must specify the record number. The ·record number indicates the relative position (sequential location) of the record in the fIle. The disk I/O subroutine calculates the sector address from the record number and reads the proper record. sequential processing of ISAM fi,les When sequentially proeess:lng ISAM mes, all records in the file are available in a sequ~:nce detelmined by the record key. Processing can start at the beginning of the me or at any point within the me. random processing of ISAM files To find a random record in an ISAM file, code your program to search the index table using the record's key. The matching index entry points to the cylinder that contains the record. The indicated cylinder is then searched for the desired record; the match is made by record key. This kind of processing can be called processing in a random sequence with record keys. Data File Processing sequential ISAM Calculating Sequentially Organized and ISAM File Sizes You initially define a file on a disk with the DUP *DFILE or *STOREDATA function. These functions set aside a specified number of sectors for the file, and enter the file name in LET or FLET. This file name that you assign to the file must be used in all future references to the fIle. Sequentially Organized Files The number of sectors required for a file depends on the size of records and the number of records. The records are fixed in length and can be defined as any size between one word (2 characters) and 320 words (640 characters). Records cannot be extended across sector boundaries; thus, a 320 word record (one sector) and a 161 word record each require one sector of disk space. Careful planning is required in calculating optimum record size for your file. 1. Compute the number of words (L) in a record: L=~ 2 where C is the record size in characters. Round the answer to the next higher number if the answer has a remainder. 2. Compute the number of records (N) that can be contained in one sector: N= 320 L where L is the length in words of each record compu ted in Step 1. Disregard the remainder, if any. 320 is the number of words in a sector. 3. Compute the number of required sectors (S): S = R+l N where R is the number of records in the fIle, and N is the number of records per sector computed in Step 2. Round the answer to the next higher number if the answer has a remainder. This answer is the sector count that you specify in an *DFILE or *STOREDAT A control record to reselVe file space in the user area or fixed area. To change record sizes or add records to a sequential me, the file must be rebuilt. If a revised me requires additional sectors, it must be redefined and rebuilt. A sequentially organized file is built using the sequential access 'routine. A sequential file can be processed by either the sequential"access subroutine or the direct access subroutine. These subroutines are described in the publication IBM 1130 Subrou.tine Library, GC26-5929. Indexed Sequential Access Method Files The number of sectors (S) required for an ISAM file is computed by the following formula: S=P+I+O+F where P is the number of prime data sectors, I is the number of index sectors, 0 is the number of overflow sectors, and F is always one sector for the file label. Programming Tips and Techniques 6-29 Data File Processing ISAM compute prime data sectors The number of prime data sectors(P) is computed as follows: P = R+N-} N where R is the approximate number of records in the file., and N is the number of records per sector. Disregard the remainder, if any. The number of records (N) is compU1ted by: N=320 L+2 where L is the length in words of each record. The maximum record length in words is 3}8; records cannot cross sector boundaries. compute index sectors The number of index sectors (I) is computed as follows: I =C+E-} E where C is the number of prime data cylinders, and E is the number of index entries per sector. Disregard the remainder, if any. The number of prime data cylinders is computed as follows: C =P+7 8 where P is the number of prime data sectors. Disregard the remainder, if any. The number of index entries (E) per sector is computed by: E = 320 X (disregard any remainder) where X is the index entry size computed by: X= 2K+3 where K is the key length in words; maximum 25 words (50 characters). If the length of the key in characters is an odd number, add one when calculating the number Olr words; that is, 49 characters require 25 words. overflow sectors You decide on the number of sectors to be provided for overflow before the file must be rebuilt. This overflow area is automatically assigned to start at the sector following the last sector of prime data. This assignment is done by the ISAM load (close) subroutim~. file label When computing me size, always add one sector for the me label. If you wish, an assembler l.anguage program can be used to perform the preceding calculations. You need know only the index entry size (X) as previously discussed, the length of a record in words, the approximate number of records in the file, and an estimate of the number of sectors of overflow area needed. A program to calculate all values previously discussed is included as sample program 7 in Appendix H. The values calculated by the program or by you are required as entries in the disk file information (DFI) tables for the ISAM subroutines. An indexed sequential me is built using the ISAM load subroutine" expanded using the ISAM add subroutine and processed by either the ISAM sequential or ISAM random subrou tine. These subroutines are described in the publication, IBM 1130 Subroutine Library, GC26·-5929. 6-3() Data File Processing ISAM Contents of an ISAM File An indexed sequential access method (ISAM) file is composed of: • File label • Index • Prime data area • Overflow area The relative position of these components within the ISAM file is: File label ISAM file label Index Overflow area Prime data area The first sector of any ISAM file is the file label. This label contains infonnation required by the ISAM subroutines for processing the file. The file label is built by the ISAM load function, updated by ISAM add, and used by ISAM random and sequential subroutines. All label operations are performed automatically by the ISAM subroutines. The only file label operation that you perfonn is to reserve one sector for the label when the file is initially defined. The fonnat of an ISAM label is: Word number Label entry description Key length 2 Record length 3 Number of index entries per sector 4 I ndex entry length 5 Number of records per !tector 6 Record number of last prime data record 7 Index entry number of last entry in file 8 Sector address of last prime data record 9 Sector address of last index entry 10 Sector address of next overflow record 11 Record number of next overflow record Programming Tips and Techniques 6-31 Data File Processing ISAM ISAM file index The ability to read or write records anywhere in an ISAM file is provided by the file index. An enhy in this index contains a cylinder address and the highest record key that is associated with that cylinder. The ISAM subroutines locate a given record by searching the index for the key and then searching the specified cylinder for the desired record, again searching by key. To increase the efficiency of the ISAM subroutines, one sector of the index is retained in core storage for each me. The key can be a part number or an employee name or any other identifying information that is contained in any record in the file. The key entries in the index are the numbers in ascending collating sequence of the highest key on each cylinder. The end-of-file record key is the key with the highest possible value; all bits are ones. The following is a portion of an index table. Note that each entry contains 2 sets of the same information. The second set is overlaid to show overflow data when the affected cylinder overflows. Key 15 First cylinder address Key 15 First cyli'nder addre,ss Z e 0 Key 30 Normal entry Key 45 Third cylinder address Key 45 Thircl cylinder addre!ss Normal entrv 6-32 Second cylinder address Key 31 Overflow sector Record address number Overflow entry Z e 0 All 1 bits nth cylinder address All 1 bits nth cylinder address Last entry in index Z e 0 Data File ISAM prime data area Pro~e~sing The prime d~ta area contains the data records that are placed in the file by the ISAM load subroutine. The records must all be the same length (maximum 318, decimal, words). The ISAM subroutine adds a 2-word control field to each record. This control field, called the sequence-link control field, is used in the overflow area as a chaining indicator. The control field indicates whether or not a cylinder has overflowed. Prime data area records appear as follows: Data record 1 word i Key 75 I I 520 y Sequence-link control field 'Y Data record on a prime data cylinder overflow area Key 1 \ , . I Zeros I Zeros _L 1 word Data record 1 word I , 1 word ; iI Zeros I X'FFFF ~ ! , Sequential-link control field , Last data record on a prime data cylinder that has overflowed When a new record is added to an indexed sequential file, it is placed according to key sequence. If records were to remain in precise physical order, the insertion of each new record would require all records with higher keys to be shifted up. However, because ISAM fIles have an overflow area, a new record can be entered into its proper position and only cause records with higher keys to be shifted on that cylinder. The record that is forced off the end of the cylinder by the addition of the new record is written in the overflow area. The index entry of any cylinder that has overflowed points to the overflow sector address and record number of the record placed in the overflow area. When 2 or more records are added in key order, the overflowed records are chained together through the entries in their sequence-link control field. The entry in the first record points to the second, the second to the third, and the third to the fourth. The last overflow record in the chain has a sequence-link control field of all zeros. You specify the number of cylinders for the overflow area when you initially define the fIle. Then the ISAM subroutines place the records in the overflow area in the order that they overflow, not in key sequence. Programming Tips and Techniques 6-33 Data File Processing ISAM ----,---- To illustrate the overflow area, assume that on cylinder 6 of a detlned file, the last 3 e~ntries have keys 150, 152, and 154. Key 154 identifies cylinder 6 in the index". When you add a record with key 153, a record on another cylinder, and a record with key 151, the OVI;!rflow area appears as follows: Overflow area Key 154 ; I I Zeros Zeros I I I I I First record overflowed. The sequence-link control field is zeros indicating the end of a chain. ; i I Zeros IZeros I I I I Record overflowed from another cylinder Key 153 I I I I overflow: Reg sector I 0001 address : Last record overflowed. The sequence-link control field points to the next key in sequence. In this case it's key 154 in the overflow area. Key 152 now identifies cylinder 6 in the index; the overflow entry in the index for cylinder 6 points to the overflow area. Deleting Duplicate Records Caused by a Disk Error During an ISAM Add Operation If a disk error (/5004 displayed in the console ACCUMULATOR) occurs during an ISAM add operation, a record may be duplicated in the file. To check for a duplicate record, list the file or part of the file using the ISAM sequential retrieve. If a duplicate record is found, one copy must be deleted. To determine which record to delete, dump the file using a DUP *DUMP function, and check the index entry for the affected cylinder. If the key of the duplicate record is }($S than or equal to the first key in the index entry, delete the second of the 2 records. If the key of the duplicate record is greater than the first key in the index entry, delete the :first of the 2 records. In both cases, the remaining record is the one that is processed by the ISAM random retrieve function. Note that the duplicate record is not physically deleted; it is deleted by performing a sequential read and flagging the copy that is no longer to be used. (,..34 Assembler Programmer Tips grouping mnemonics use of XR3 double buffering TIPS FOR ASSEMBLER LANGUAGE PROGRAMMERS The tips in this section are provided to help you with: • Grouping assembler mnemonics to shorten assembly time • Using index register 3 • Double buffering for faster I/O operations • Using the 1403 conversion subroutines • Wri ting ISSs and ILSs Grouping of Assembler Mnemonics The Monitor System Assembler Program is divided into overlay phases, each phase processing a certain group of mnemonics. Each time a mnemonic is processed during assembly, the overlay phase required to process it is read into core, unless the overlay is already residing in core. Assembly time can be shortened by grouping mnemonics of a common type in your source program; thus fewer disk reads of overlay phases are required by the assembler. The following is a list of the mnemonics as they are grouped within the assembler program: 1. 2. 3. 4. 5. 6. ABS, FILE, ENT, ISS, ILS, SPR, EPR DCs and imperative instructions~ such as A, LD, EOR, BSC DEC and XFLC DMES HDNG, ORG, EQU, BSS, BES, LIST, SPACE, EJCT, DUMP, PDMP LIBF, CALL, DSA, LINK, EXIT, EBC, DN Assembler Program Use of Index Register 3 In general, index register 3 (XR3) is reserved to point to the transfer vector. Normally, you can use this register in your program; however, if you use LIBF statements, you must code your program to do the following: 1. 2. 3. At the beginning of your program, save the contents ofXR3 Before each LIBF, save your program's contents of XR3 and restore the original contents (the pointer to the transfer vector) to XR3 After each LIBF, restore your program's contents to XR3 Under certain conditions, you cannot use index register 3 even if you code your program to save and restore its contents. These conditions include core loads that overlap I/O operations and core loads that use the synchronous communications adapter. When these conditions exist, you can use index register 3 if you specify that a special set of interrupt level subroutines (named with an X as ILSX4) be included in a core load. You specify the use of the special ILSs in a monitor XEQ control record. Double Buffering in Assembler Programs The IBM 2501 Card Reader, Model A2, rated at 1000 cards per minute, presents a special problem when you want maximum performance from card I/O operations. If any conversion of the card data is reqUired, the reading speed can drop to 500 cards per minute. The use of double buffering can prevent the loss of speed. The principle of double buffering is to read into one buffer while converting and processing the data from another buffer. This scheme uses additional core for the extra buffer and additional programming involved, but in most cases, card throughput should remain at 1000 cards per minute. The following coding example illustrates the double buffering technique used for reading cards from the 2501, and converting them to EBCDIC. Programming Tips and Techniques. 6-35 Assembler Programmer Tips double buffering ~, , , , , • , , , , • , , , , • , , , , , , , , , .*. i---L---'-~'l.-+--FL=,.D::;;.,=,.D~-+-~-+-+=B=:::!'.I.!."'~,.,a.:,A....:;=,,,.D~R:.r........L.....J.'--'-_.L.'-L.....J , I I , • , , , , • , , , , • , , , , • , , , , • , , , ,_, I '" • ~ T,O, J. , , ,_, 2~TJ), ~L-L' ~ J. , I I , • , , '-L...J S.c, TIt. , . ,.£./::i..4NG,£, ,R,EAJJ. B,U,F,F,E,R, ,AJ).D,R,E,5,t.t. 1.6, , , , , , , '~iX,Ck,4"v'~£1 13IU,F,F,E,R, ,AJJ,DJ<,E,5S£:5, , B.F.A,DJ(, . , , ,~:60,~ ,N,E,X,T, ,T,//1£ ,T.~'RU L.O,O,A., . t?JVrl:r , , '~I , , , ',T,E, 1. .l . L ' I I ~L-L-' c..t:).T,O, ~L-L--..A.-+-~S~T.~ ~l-L_J ,I I 8.E,T,2, , • I , , , I , I , 8.£ 7,3 I I , ! , ! , , , , , , , , , , , I , I ! , , , • ,~~l-k4,Nl;,£, ,/,All1U,T, ,A,N,D, ,O,U,T,P'U,~ l3l~.T< ~,A,DDJ::(,£.SS,E,S. ,f~QJ<. ,C.O,N, Vr£l<.SJ ,aM .,. '-L.i , 1 , , , 1 , , , , 1 , , , , ! ! , , I , , , I .~ I , , I .* ~l-J._J ~,-L-~'~~T=~_~'.I~I~I-LIJ.~I_'~'-L'~!d~'-L'~'~'-L'~I~'-L'~'~'~'~I~'-L'~'~'-L'~'~'-LI~'~'~'~!_~.~~~ ~, t ,;C 0 Dt I,N,G IF 0 R ,P,£,Q,U,/,f(,E,D,_PJP,O,C,£,S,S, / ,NG, ,s'kOdlrL,D, !F,o,L,L,a~ , ~,l-L , '" I I , , , , , , '-L-I , 1 1 1 , , , , , , I 1 , , I , ! , , I ! , I , ,..l¥ ~l-J.__L "~I- 1_ -L-..L.L • I I , , , , , '-L.! I , I , , , , , , , I I , , , , I , , , , , I W-,L.1._J_1- -L-..L.L • I , , , , I , '-L-I I , , I , I I , , , I , I , , I , I , I , I , , • ~L-J.' '", I , , , , • , 1 , , , I , , I I ! I ~L-L I • I I , • I I I , • I , '-L-' '-L-' I , I I , ~.L..1 •t , , It' til I I t--L-I I W-,L-l_--L __ ~.Ll' ~.Ll- , l3L...L....L R,E,A,D, , ~...L.J__ I 1 1 , , I , • , , , , , '--'--I- I • 1 I I I I 1 I I I lit I I I , I I I I I LL-L-L-L..L..LI , I I I I I , I , I , I I I I t I I I t I I , I I , I 1 I I I I 1 , I , I 1 I I I I 1* , , , I , I , , I I , , , I I , , I , I , I , , , , , , I , I , , ."* I I I I L...L.I I I I I t, 1 , , , , , , 1-1.-1 , I I I 1 A.MD, ,W,O."R,J<, ,t!tR,E,AIS', 1 , .L' 1 1 , I I I , • , ! I I I I I , , ! I t I , , I , I t i l , , I t, ~..L.L_'C ON5,T,AiNT S ~...L.J' , , '" • I I I I , I_L__1-.1._' I I I I , I I I , , I , , , , , , , , , , , , , '" , 1 , I , , , 1 , I I I ! I I , , I I I , , I , , , I I I , , O,N,c, B,U,F,i, D,e, , D,C, , ~-'-'- B,s'5, , I-LI I I , It 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-L-LLI I I! , I , I I , ! , , ! , I , , I , I , I , I , j , ~...L.L ,T H E, ,F,O L L 0 iW I.MG, ,PiA, J ,~~J5 ,A,D,D"~,£S,5r£,5, ,A,~E, ,E,X,C~A,NG,E,D, &-...L-L_ £ ACH, IT I ME T.l-Il<,qU,G.1-I. ,TJ:iJ:. ,CAl<,D, ,R,EA,D, / ,N.G, .L,aaR '...L.J , , , ~ ' '" I '" 6-36 , ...L-L-I I I I---L-LL' • , ! , , I I , I , I I • , I I , • , I , , I I , , I , , , , , LL..L.J. , , I I I , , , , , , , I , I , , I • J I , , ,aUF,F,E,~ ,2; I II' I~: ::::::: .-L.-L:!-IS.:~ B '1~_D. DeC:: ~ I I lL_' ~.-L.-L .*.* I ~-L-L_' Zt...-L.-L ,~ 1, ...L.L.I, I , , I ,--.£.llaM~T,AINrT, ,v,A,L,U,E, ,O,F, ,1, I I , , , , 8,¢J. , , , • , , ,~'{)l~"D ,C,O,U,N,T, ,F,O/<, ,C,A,~,D, ,B,Fl<, It, , 8//)1 1 , , ,~,:A,RD, ,BU,F,F,EJ<. 8.0.· , , , • '....L..J--1i,OlJ,D ·le.aUNT, .F,Ol<' ,C,A,,Q,DI ,BF,T<, ,2, 8,¢, I I I , '_L..L_~:.A,7 0 2 iU156+l XR 1 = AOCR CF CAll+l lC 1 0 IS5e0760 SRA 15 FUNCTIOI\ TE S T ISSC0770 12 RR IF NCT ISSC0180 Hse L RFC72,1 R[~28 IS SUBR BUSY 15S00790 LC +5K I P 1 F YE5 15SC0800 tSC t\iO, EXIT Te CAlL+3 +1 fot'CX IS500810 ",cx RE120 15SC0820 EXIT TO CALl+2 RE24C IS FUNCTIOI\ LEGAL ISSC0830 ~EC12 S PR IF NCT ISSC0840 esc l RE197,l 15500850 KE084 lC RE228 IS SUBR I:WSY YE S, lCOP 155C0860 ~SC L REOA4,1 ISS00870 kf09l: XIC IS DEVICE REACY RE288-l t;R IF NCT 15500880 esc L RF204,E ObTAII\ ViORC CCUNT ISSOO890 lC I1 1 +IS5009CO e-5C 15SC0910 tlLX BH CN Z wO [I\T RFIC8 OR IF wI) CI\T NEG IS5C0920 BSC L REI92,l+ 0 ThRU 80 15 LEGAL IS500930 RE?76 S I3R 1 F OVER 80 IS5C0940 f: .JD PARAM KElCH tvL:X 1 +1 155C0960 SAVE UATA AeeR lC 1 0 15 S009 7(1 ST( RE764 II\CREtlENT ICC S CCUt\TER IS5C0980 tlCX L 1IICCT,1 IS500990 SET SLJ AI{ eLSY INCR STX C RE22ti IS501000 XIC !-tE2£.-4 1~ITIATE REAC +1 XR 1 PCIl\T5 Te RTN ADOR 15S01010 KF-12C ~'r x ISS01020 R[STCKf ACC 1I: 1<[32'+ ISS01030 ~E13? STX 1 RU80+1 Sf:T R[TURN ACDRESS ISS01040 I~ F 144 U:X ~ESTOKE STATUS L 1 *-* Af'~ C INDEX REGISTERS ISSOI050 l2 *-* KElSfl lCX 15S01060 I~F16K lCS *-* ISS01070 EXIT Rf:1eO b.SC l *-* ERROR CCCE ISS01080 ILLEGAL CALL REIG2 I I RE312 t-'L)( RR TC SfT RfTURr-,. A[DRS 15S01090 RE?16 ISSOII00 Kf2C4 SRA 1S CEVICE BLSY L HR IF YES ISS01110 PSC L REOG(:.,E ERRUR CCDE - eVCE r-.C:T ROY IS501120 RE30C lr. XIH = CAlllf\G ACCRES5 IS501130 ~E216 r.·C x 1 -1 ISSC1140 ~lx STC~E CAll /leCR IN 4G L 1 f,Pt 2 COl53 CC154 CC155 CC15t CC157 C0158 C0159 CC16C C0161 CC1c? *************************************************** 15501170 15SC1180 ***********************.*******************.******* ISS01190 kE22P L:C () SUPR Bu5Y If\DR 15501200 PSS E 0 15501210 RE240 r:c +1 CCf\5TANT 15501220 RE252 [;C 14FOl SEI\5E ~ITH RESET 15501230 RE264 CC *-* IIC DUFFER ACORE55· 15501240 rc 14ECO ILCC TC I~ITIATE READ 15501250 RE276 [;C +80 CCf\5TANT 15501260 KE2cA CC 14FCO 5EI\5E 05w ~ITHOUT RESET 15501270 RE3CO (;C 14COO CUt\5TANT FeR eve NCT ROY 15501280 KE312 CC 140G1 CST FeR BAC CALL 15501290 RE324 DC *-* SAVEC ADO 15501300 $PRET feu 128 PRE-OPEKATIVE ERROR TRAP IS501310 ~I[CT [~L 13? I/C COLNTER 15501320 $P5T4 ~~L lee PLST-UPERATIVE ERRCR TRAP 15501330 ************'i************************************** 15501340 * op~cn~PLET~ II\TERRUPT PRCCE551~G * 15501350 ************~*******'****************************** 15501360 * T~IS PCRTIC~ 15 EI\TEREO FRC~ Af\ INTERRUPT * 15501370 * LEV[L SURRT. If NC ERRCK HAS BfE~ DETECTED * 155C1380 * T~E RCLT11\E IS SET NOT BU5Y AI\O TbE ICC5 * 155013~0 * CCUNTER IS DfCREMENTEC TO INDICATE * 15501400 * II\TERRlPT PROCESSING CO~PLETEC. CTHER~15E * 15501410 * T~E SLrR. GeES TC THE P05T-CPERATIVE ERROR- * 15S01420 * TRAP A~C ~AITS LNTIL THE [PERATCR HAS * 15501430 * II\TERVE~EC ANt THE 25C1 BECOMES READY, AT * [5501440 * w~IC~ TI~E TbE CARDS ARE PCSITICNEO AI\D THE * IS501450 * llC CPERATICf\ IS RE-II\ITIATEO. * IS5C1460 *************************************************** 15501470 RE336 XIC RE252-1 5Ef\5E CS~ ~lTH RESET 15S01480 SLA 3 IS OPERATIC~ OK 15501490 BSC L RE360,C RR IF E~RCR 15501500 ~CX L $ICCT,-1 DECKE~ENT 10CS 15S01510 f\(P IN CASE OF SKIP 15501520 SRA It 15S01530 STC RE228 CLEAf{ RUUT BUSY INCIC 15501540 ~f34H esc RE048 EXIT 155C15~0 Kf3cO XIC RE25?-1 SEI\SE DSW FCR RfAO~ 15501560 rsc l RE365,E TO E~~OK EXIT I~ NCT ROY 15501570 xlC Rf?64 RE-INITIATE FUNCTIlN 15501580 ~CX KE348 Gf{ TO EXIT 15501590 KE3c5 LC RE300 LU NOT REACY E~ROR CODE 15501600 RSI L $P5T4 POST-UPERATIVE ERRCR TRAP IS5C1610 ~CX RE360 TRY AGAIN 15501620 Ef\L IS50L630 * CCNST~\TS * Assembler Programmer 'Tips ISS subroutines C~CSS-REfERE~CE S'Vt-'eCl VALLE REl CEF~ REfER(f\C[S REACO REC4A REC60 REe7? RECS4 RECS6 REI08 RE120 RE132 RE144 r~E 156 RE168 RElSO RE192 RE204 RE216 RE228 RE240 RE252 RE264 RE276 RE288 RE3CO RE312 R'E 324 RE336 RE348 RE360 RE365 SICCT SPRET SPST4 COCC COC4 COC7 C012 C015 COle C024 C028 C02e 002E 0030 C032 C033 0035 CC37 C038 004C C042 C043 C044 C046 C047 C048 0049 C04A C048 0054 C056 C0513 C032 C028 1 1 (;0055 CC058 (C072 C0082 COC84 COOBi: C0094 C01ce C01C2 00103 00104 COI05 C0106 C0107 C0109 C0112 COl19 C0121 C0122 00123 C0125 C0126 C0127 C0128 C0129 C0147 00154 C0155 C0159 C0131 00130 C0132 CCC51,R C0154,8 CCC57,B 00e77,8 CC085,8 CCllc,e CCO<10,B COOIH,B C0115,B C0055,tJ coee 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 C 0 0 00074,~ OCC73,~ COIC2,tJ C0083,B C0091,B CC093,8 CG087,B C0108,8 OCC78,R ccoe4,R aC098,M 00153," COO82,R C0147,R C0155,R 00096,~ OCCC;9,R C0157,R 00092,R C0086,R OOlll,R C0159,R 00107,R 00072,tJ CC1C1,R COO.,9,B C0158,B C0149,8 C0161,8 C011j6,B C0097,~ C015C,M C0113,tJ C01l4,R C0160,8 COO CVERFlC\rj SECTCRS SPECIFIED cce CVERFLCk SECTCRS REQUIRED C32 SY~8CLS CEFINec NC ERRCR(S) At\C NO WARNING(S) FLAGGeO I~ ABove ASSEMBLY Programming Tips and Techniques 6-41 Assembler Programmer Tips I LS subroutines ,----- ILS subroutines An ILS is included in a core load only if requested by an ISS that is a part of the same core load. The IBM-supplied ILS02 and ILS04 subroutines are a part of the resident monitor unless you delete them from the system library and replace them withILSs that you write for interrupt levels 2 and 4. These rules must be followed when writing an ILS: 1. 2. Precede the subroutine with an ILS statement that identifies the interrupt level involved. Precede all statements with an ISS branch table. If the associated interrupt level status word (lLSW) is not scanned (that is, a single ISS handles all interrupts Ont the level involved) in the ILS, a one-word table is sufficient; the minimum table siZI! is one word. A zero must follow the branch table. If the ILSW is scanned, the ISS branch table must include one word for each used bit of the ILSW: ISS branch table I LSW bit X (highest bit used) Define one word for each bit used. ILSW bit 1 ILSW bit 0 Each entry in the ISS branch table identifies the entry point within an ISS for the associated ILSW bit. The actual linkage is generated by the core load builder. Before processing by the CLB, each word in the ISS branch table has the following fonnat: • Bits 0 through 7 contain an increment that is added to the entry point address of the corresponding ISS subroutine to obtain the interrupt entry point address; w(thin the ISS for the ILSW bit. (In IBM-written ISSs, this increment is +4 for the primary interrupt level and +7 for the secondary interrupt level. See column +n in Figure 6-2.) • Bits 8 through 15 contain the value of @ISTV plus the ISS number of the ISS associated an ILSW bit. The value of@ISTV can be obtained from the cross-reference symbol table at the end of the resident monitor listing in Appendix G. @ISTV is the address of the interrupt transfer vector (lTV) in low core. Any ISS branch table entries that represent unused bits in an ILSW must have the value @ISTV. During the building of a core load, the CLB places the entry point address of an ISS in the location of the lTV that corresponds to the ISS number specified in the ISS statement. The CLB generates an ISS entry point address by adding the increment in bits 0 through 7 to the address in the location of the lTV pointed to by bits 8 through 15. Then the CLB replaces the ISS branch table word with this generated interrupt entry point address. (See Step 4 for the use of these addresses.) 3. 4. 5. 6-42 The ILS entry point must immediately follow the ISS branch table and must be loaded as a zero. The core load builder assumes that the first zero word in the program is the end of thf~ branch table and is also the entry point of the ILS. An interrupt causes a BSI to this entry point. The ILSW bit that is on is determined with a SLCA statement. At the completioll1 of this statement, the specified index register contains a relative value equivalent to that bit position in the ISS branch table. The address in the ISS branch table can then be used by a BSI instruction to reach the ISS that corresponds to an ILSW bit position. To clear the interrupt level when an ILS that you write is used with an IBM-supplied ISS, code your ILS to exit via the return linkage with a BOSC statement. Assembler Programmer Tips I LS subroutines 6. 7. 8. When you write an ILS, it must replace the equivalent IBM-supplied ILS. Delete the IBM ILS, and store your ILS as ILSOx, where x = 0, 1, 2, 3,4, or 5. The IBM-supplied ILS02 and ILS04 subroutines are stored as subtype one. An ILS that you write to replace either of these must be stored as subtype zero. The ISS branch table for the IBM-supplied version of ILS04 can have no more than 9 entries. An ILS that you write to replace ILS04 can support all 16 possible ISS branch table entries. The following listing is an example of an ILS subroutine. Programming Tips and Techniques 6-43 Assembler Programmer Tips I LS subroutines II ASH *XREF 0000 0001 0002 0003 0004 0005 0006 0001 0008 0009 OOOA 0008 OOOC 0000 OOOE OOOF 0011 0012 0013 0015 0016 0011 0018 0019 01)18 00 U: 001E 0020 0022 0023 0076 002A 0029 002A 002B OO?C OOf4 002C 6-44 o o o o o o o o o o o o o o o 00 0., o 00 o a o a 01 o 00 00 00 o 01 0 0 0 0 0033 0033 0033 0430 043C 0437 0134 0435 0436 0000 0818 280F 6910 6All 6812 618000E4 0818 1002 44A8002C 1000 6109 0810 1140 45BOFFFF 2000 65000000 66000000 61000000 CB03 4CC00009 0002 0000 0300 0000 oroo 00001 00002 00003 00004 00005 00006 00001 OOOOB 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00021 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00041 00042 00043 00044 00045 00046 00041 00048 00049 00050 00051 00052 00053 00054 00055 00051 0005R 000')9 00060 00061 00062 00064 00065 00066 00067 00068 00069 00070 00071 *****.********************************************* * * *NAME - ILSX4 * * * *FUNCTION/OPERATION - INTERRUPT LEVEL SUBROUTINE * * FOR LEVEL 4. * * *ENTRY POINT - ENTERED AT IX420 BY A HARDWARE * * BSI VIA LOCATION 12 DECIMAL. * * * *INPUT - NONE. * * * *OUTPUT - NONE. * * * *EXTERNAL SUBROUTINES - NONE. * * * *EXITS * * NORMAL - BOSC INDIRECT THROUGH IX420 * * ERROR - NONE * * * *TABLES/WORK AREAS - NONE * * * *ATTRIBUTES - REUSABLE * * * * *NOTES - INDEX REGISTERS 1, 2, AND 3, STATUS, * * ACCUMULATOR AND EXTENSION ARE SAVED UPON * * ENTRY AND RESTORED AFTER INTERRUPT SERVICED. * * * *************************************************** ILS 04 IX410 DC 10033 DEVICD *-* AND ISS NO. *-* DC 10033 DEVICD *-* AND ISS NO. *-* DC 10033 DEVICD *-* AND ISS NO. *-* DC 10430 1231 +4 AND ISS NO. 10 DC 1043C 1403 +4 AND ISS NO. 9 DC 10437 2501 +4 AND ISS NO. 4 DC 10734 1442 +7 AND ISS NO. 1 DC 10435 CONSOLE +4 AND ISS NO. 2 DC 10436 1134/1055 +4 AND ISS NO. 3 IX420 DC 0 INTERRUPT ENTRY STD IX480 SAVE ACC AND EXTENSION, STS [X430 *STATUS, STX 1 IX441+1 *XR1, STX 2 IX442+1 *XR2, STX 3 IX443+1 *XR3 LOX 13 $XR3X POINT TO TRANSFER VECTOR XIO IX495-1 SENSE KEYBOARD SLA 2 IS [T INTERRUPT REQUEST BST $IREQ,+1 *KEY, BR [F YES NOP LDX 9 NUMBER OF DEVICES ON LEVEL. XIO IX4QO-l SENSE ILSW SLCA 1 0 SHIFT AND DECREMENT XRl BS I I 1 I X 4 1 0- 1 B R TOO EV ICE ISS IX430 LOS 0 RESTORE STATUS, I X441 LOX Ll *--* *XRl IX442 LOX L2 *-* *XR2, IX443 LOX L3 *-* *XR3, LOD IX480 *ACC AND EXTENSION BOSC I IX420 TURN OFF INTERRUPT, RETURN IX4RO BSS E 2 ACCUMULATOR AND EXTENSION DC 0 IX4QO DC 10300 10CC TO SENSE TLSW DC 0 IX495 DC 10FOO SENSE 10CC FOR KEYBOARD SIREQ EQU 1002C ADD OF ISS FOR INT REQ $XR3X EQU /OOE4 ADDR OF TRANSFER VECTOR END UIJ00020 UIJ00030 UIJ00040 UIJ00050 UIJ00060 UIJ00070 UIJOOOBO UIJ00090 UIJOOIOO UIJ00110 UIJ00120 UIJ00130 UIJ00140 UIJ00150 UIJ00160 UIJ00170 UlJ00180 UIJ00190 UIJ00200 UIJ00210 UIJ00220 U1J00230 UIJ00240 UIJ00250 UIJ00260 UIJ00270 UIJ00280 UIJ00290 UIJ00300 UIJ00310 U1J00320 UIJ00330 UIJ00340 UIJ00350 UIJ00360 UIJ00370 UIJ003BO UIJ00390 UIJ00400 UIJ00420 UIJ00430 UIJ00440 UIJ00450 UIJ00460 UIJ00470 UIJ00480 UIJ00490 UIJ00500 UIJ00510 UIJ00520 UIJ00530 UIJ00540 UIJ00550 U1 J 0 0 560 UIJ00580 UIJ00590 UIJ00600 UIJ00610 UIJ00620 UIJ00630 U1J00650 UIJ00660 UIJ00610 UIJ00680 UIJ00690 UIJ00100 UIJ00710 UIJ00120 Assembler Programmer Tips INT REO service subroutine SYMBOL VALUE IX410 IX420 IX430 IX441 IX442 IX443 IX480 IX490 IX495 SIREQ $XR3X 0000 OOOq 0018 OOlC OOIE 0020 0026 0029 0028 002C 00£4 000 000 011 NO REL DEFN 1 1 1 1 1 1 1 1 1 0 0 00031 00041 00057 OOOSA OOOSq 00060 00064 00066 00068 00069 00010 REFERENCES 000'55 t 8 00062,8 00043,M 00044,M 00045,M 00046,M 00042,M 00061,R 00053,R 00048,R 00050,B 00041,R OVERFLOW SECTORS SPECIFIED OVERFLOW SECTORS REQUIRED SYMBOLS DEfINED ERROR(S) AND NO WARNING(S) fLAGGED IN ABOVE ASSEMBLY Assembler INT REO Service Subroutine Pressing the interrupt request key (INT REQ) on the console keyboard causes the ILS in use for interrupt level 4 (ILS04 or ILSX4) to execute a BSI I $IREQ. Thus, the function of the INT REQ key depends on the contents of location $IREQ. The system initializes $IREQ with the address $1420 in the resident monitor. This setting terminates the current job, and all control records are bypassed until the next JOB monitor control record is read. You can alter the function of the INT REQ key by coding your program to place, in $IREQ, the address of an INT REQ service subroutine that you have written. An INT REQ service subroutine that you write can read the console entry switches and set program indicators. You should remember that your subroutine is executed with interrupt level 4 on, preventing recognition of other interrupts on level 4 or 5. Because of this, the following should be kept in mind when you code an INT REQ service subroutine: • A LIBF or CALL to a subroutine from your service subroutine can cause a recurrententry problem. If the called subroutine is already in use when you press INT REQ, the new LIBF or CALL in your subroutine destroys the original return address and disrupts the operation of the called subroutine. • A LIBF or CALL to an ISS can cause an endless loop if the called ISS operates on level 4 and a test for operation completed is performed by your service subroutine. This loop occurs because the interrupt indicating the operation is complete is delayed until the INT REQ key interrupt is turned off. • Your subroutine must perform an XIO sense keyboard/console with reset before returning. • Your subroutine must increment the return address by 6 when returning to the ILS subroutine. A BSe instruction must be used to go back to the ILS where the interrupt is turned off. Note. When the core load of your program contains the TYPEZ, WRTYZ, TYPEO, or WRTYO subroutine, the XIO sense keyboard/console with reset can be omitted. In this case, code your subroutine to return to the return address plus one. Two sample subrou tines are included in this section to illustrate how the function of the INT REQ key can be altered temporarily. These subroutines can be called by either FORTRAN or assembler programs. Both subroutines perform the same function; when INT REQ is pressed, the console entry switches are read. If console entry switch zero is off, program execution continues from where it was interrupted. If console entry switch zero is on, the system exits to the next job. The first of the sample INT REQ service subrou tines (Figure 6-3) illustrates the coding that can be used by any core load. The second of the sample INT REQ service subroutines (Figure 6-4) illustrates the coding that can be used by a core load that contains TYPEZ, WRTYZ, TYPEO, or WRTYO. Programming Tips and Techniques 6-45 Assembler Programmer Tips I NT REQ service subroutine rlab~I-- Operation F T ~2 __.~~_ ~__30 i3233 Operands & Remarks 35 40 45 50 55 60 65 70 ~~~~~~}sX'j(:x~~,*,,)(,~7E,~,~,¥,1(,~~,~,~,~,*,~I**~I~I~I¥I*I~'~I~I¥I~I*'~~~I~I~'* ~~~C.AU~TIO T.H.I:r; :s.JB:~:d.u:iL:N.E: W':L:L: :C.t-JA:N:d,E: :iu, E: : : : : : 1~_-1--L . &Qt£I&-L1v T 5 0 F, I$. 1.1IUI ---L---'---L-L __ LM9i 2. 0 1 .-l.....L.-L_L __ ~,D, , 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 I • I , I I I I • I , , , , , , , I , , , I I , I I I ,£,M7~R.Vt ,PtO,/,NtT. , , I Ii I I 1 J , I I I I • 1,'1<1011 0,+.1, I , , I I I I I , I , I I , , L.L.l 1 IS.~~~ I)(,~t, , , • I ,S.Q~ ,Xt1<,i,=,AtlJD,R, ! , I , • I I I I , , , , • , , '..L..l-L-I I , , , I I I , I I I I , I I I , • , I , I • I/.O,O,2,C, , I , I , '--1- 1 I , , I , , , , , , I , , I I I 1 , I , I I , , I I I '--1-1 I , , , I I I , , , I , , I I I I , I I I I , , I , I I I I I I , IR'~I£,T, '~IRI1.1 , , , I I , , , ,,~.~;LqR/v. ,7,0, ,C,A,L,LJ,N.G, , , , , , ,P,G,M. , I' I I I I , ,W,/,L.L, ,8,[, ,~,T,£,R,E,D, ,W(jj/l!, ,T,J.!,£, ,!,J,/,7,E,R,R,U,P.7 ,p.R,[,S',Sl,~, , I , , I , , , I , I , , I I I I , I I I I , I I , 1 I I I , 1 , , , , , I I I I , I I I I , , I I I I '--1-.1 .t..N,T,R,'f, IPIOJIN.T. ,F,R,O,M, .f,L,S , • 1tA/,9 i,O, , I , I ,R,EA,D, ,TH,E, ,C,O,NS,O,L,e, S,W,/,T,C/-I,£,S, , I N,9 3 O, , , ,L/2..l-,~I-I,A.T, &A,S, B,e,£)J, J?£,A,D, ,$, I 4,2,0, "ZI+' , ,F,'=i::!.'t'S,I-I, ,7101 "JJle,X, Tt ,J,O,B, I/,F. ,N,{,GI , , 1/V9,2,0, , , , , S,~SI£1 ,K,E,~810.A/?tD, ,W,/,7,H, R,E,S,e,T, , INT,R",6, , I I ,/N.£',R,EM,E,N,71 .I(,t,7I U,RlJ, ,A,D,D,R, , I I , , I AkT,R," I ,RJiJ_·,UK,)J. 17101 ".L,S, I , , I I I I , I , I , • , I I I' I' I , I I , I L L I , [ I 1 I I , I , I I 1 , I • I I I I , I I I I , 0"""" I ,C/f~'A,T,£, ,t,VIEtI';, A,D,D/?, I I , , , , , I , , I,N,913,O, , , , I ,!?tEA,D, ,C,O,AJ,S,O,L,£, , I I I I , 1.3A 0 0, , ~'-'~I I I l,a~O,t., I Nt 91 2 10 1 I I , , , , , , J .Q£,C 17.0, I , $1 , I , , , , • • I I ISICIIJ,t;ltl .K't[,V.8,OA,~.o, J1!./,7,1-I I I , I I , 1 I I , I I , , , , , , , IS'IW. '--1-' I , 1 , , , t I , , , I I I I I , , I I , , 1 I ,.J.....l.~1 I I • , , , , , I I I I , I I I I , I I , , , ,--1-' , , I , I , , I I I I IV , I I I I 1-.L..l I I I I , , , r4J:,U €'1 ,Rtf. A ,D, .F,RtO,M, ,C,OlJ,S,O,L 16. , , , I 17,01 , , , , ¥Rtc",S,t,7, I , • ~,SIW' I T Cil E I /,O,O,c,6 1 , • I "'~'IC I I I , I , • , 1 '--1-1 , , , , I Figure 6-3. INT REQ service :mbr·)utine for any core load 6-46 , ,W,N.f,N, ,A, ,C,AL,L , ,ll<,£Q, , /,R,£,Q, ~ 815151 I J ~.-,~, ,_~.IOI I I ,~',0E,R.£D, I I I , '-L-,I IlL I I .....l.....L_L.L. I , ,.-1-1 ~'-I~I 8 IS , /, I ,B,E, , L1 I I I , .-L I I .....l.-..L.....L , , , , X 1,0, L,D, , , , IS, I , ,O ,F, ,/,MTtR, ,P,O,f<,T,N, I ~~l; J,N.T.CIR.R.U,P,l"t ,BR,A,NCJ-/. ,AD,DR, , I _LL...L , , , ZtL_LL...L ___L..L...L _L.L.L..L_. I I I ~-L.l.__L~._ ..-L., , , I ~ir !,$, ,POR7! O.N, ~LL....L R ~~QJdLE,S7 IK E. V, J D,G , '-L-,I L t I,N,T,R..LLJ-1" L 1 $, IJ<'E,Q, , I I ElJ,U , lly,T,~ I , I ~-,~, 1 I I , , S,T,X, I , . I Assembler Programmer Tips INT REQ service subroutine Operation ~bel 21 25 27 30 F T Operands & Remarks ---------..--.-... -.--.--.--.. -.- --.-- ._-- r-- 3233 35 40 45 50 55 _~_._~._~.~_!~!__- 60. ~I~I¥I~IX if o:¥l*,I~I~ ~~ ~ ~ ~'~~~I~I~'~I¥'~I¥I¥'~I~I~I~'¥I~,¥r~Jt(I*"*"~I~I~'*!~'~'~I-)(,~!~~r¥'~i_ ¥, , " ~, " ,A '" , , , , , , , , , , , , , I , , I I I I , I I , I ~LL-LLJ I ~ I C,A,L,L 70 7.1-/,£, ,S,u,B,RtO,U,T,/,M~ ,W./,L,L, ,C,I-I,A,N,G,£. ,7/-/'£'LLLL.L~r-WI I , CO~71£lv7S OF. ,$//?t.G, tiM .7''''[1 ,R.£,S/~l.M~ MO.N/,7,O,R..,.,1/7 ..L..._ I I ,71-1£ ,/,AJ7[RRU.A~ ,I?tE.OtU,c,S,71 /(,E,~ ./,S, ,PIR.£lSSl£IDI A,~~E.I;f ,A, , • leA LJL, 7 0 7IJ.lI.~ ~SlU/3.R.~U,~l.MEI j-l,A,S, ,B,E;E,M '[I'x',£.C,~~~D.\, ,A, '._..L..._ iE', I I ,BR A,MCil 70 7/..1.£1 ,S,e.t;O/J.D, .AA,R.T. .011'1 ,T/I.~ ,$,Uii.RtO,U,7J INl~ , , . *" *1 , ., ¥I , , ~, I I *1 I I ~l , I L-, 1 ,W / L,L, ,7 AI/(£. P.L,A,C,£,_, ,7,~/,S, ,S,U,B/?O,U,T,/,N.£, IClijfL--Lf2LI!JLJ'{~!LJ.L i,()S£,D, II F TYP,£,~ ,W.R,71'ftO, I ,71v'P,£,Z, I ,O,R. 1W.~T~Z,J.l.$Lh~~__..L_.J_..L_r, 17 J.I Et ICIOlR~ L O,A,D ,A,MD, I 'Nt I ,l,LI ,A.eE,~€,N,7; ,~L IUI$I-I.ll';lJ.Lnllf).L_,7iil~Li_ IN£. X,T , ,J 018 1 Fe ,71""!, ./,N,~ /<.E,Q, I~£' ",~ A,el,S,S,£;~~t~.L_L-LL_LuL.J_L_r\I I 'I' , ~1¥i~I~'*~ ¥I~,-)t,~ ~ *1 I I \ I I I I I I I ~, .' 'I I , , , , , , , , , , I , , , I , , , , , I , I l.-L--L..L_.J~l~I __.LJ ~ r - , , , , , , , , , I , , , , , , , I 11 1 J , / ,~E,Q, I I I I , , I I I \ I • , , , , I I I , I I • I I I I • I I I , • I , , , I , , ' , I ~ , V~,~,"*,~.¥¥,*M¥.~~~,~,~~,~,~M;,\(,~,~1~,~.i¢r}~i¥I"X~~~--.dfr- \/ • I , I I I , .L .L L ...L_L...J .._I_L.-l..L_!-- ---1-L._.l._.'.. _.. 1.-1_.1_.L..l ---L_r- .. L .. ..1__ L-1..... .J_ .LL.-L. ... L_.J ..L. i _ J ~L-L-L 71-11 S ,PORT I ON ,W 1 L L 18 E .E,N,T,£/?E.D, ,W,/-I.£/J. J~.L~_!.~, ... _!I,~~(2L __ !-¥, 1 I ,I S ,£,~£CU7£ D •• , I I I • , , , , ! , , , , • , , , , • , , '..L...L_L_L.L_L_.L_L.-l.__L.l ..L_+_ I I .L...~,;IQI , I I L,D,X, , 'I $ , T I X, I,RtO,l,O I I I' ~I , I I .1>, / LRrE,Q ~I , 1 I' L,D,X, B,S,e , I I I , , I , , , , , I 1 , , I , , , ,6.N.7/<,'Yt .PtO" ,1J.7. I , 1 I I_L....L' I , , , , • , , , I '...l.-LL _L...L--.L... LJ. 1 I I -_.L-r- '--L....L ...L - t - .1. J , ,S,AL~E, ,'K,Rtlll L , J 1. J ..L.....L ...L..L_LL...L..l.-L-Ll....L_!-L 1 I,M T/<, , , , , , ISlE, To ,X,R,l, = ,AD,D,R, ,O,r. ,liN. ~~ JRO/2,~N.L-f_ L 1 l$.I,R.£.Q,. I 1 15'£17. J/v.~E,~eu,A~ IBgAJt{ii __ ,AJ!JI2~L'r_ L 1 *,-t"¥, I I I , , , /(>.[,S,E, T. .X/21, ' I 1 I I , • '_LL_L.Ll....--1-_L.J .....L..rI / I~£l;), , , , , , ~E, ~~~JJ. ,~O, ,C,A,L,Ll /JIt;iL_il(i!~._L_L_L_.L.... _ I I • I I I I v.o! OLC\CI £1.Q1U, I I ~'-I'¥I I I • I I ,Rt OL1 10, + ,1, I ~_L.L.L 1 I" D,e, S, T,X, I • I I , , , , , • , , 1 1 , , , , , , L-l.-L.J------LJ.-LL...L-Ll.-L._ , , 11 I I 11 J , 11 I 1 J I , I I 1 • , , • , I I I , • , , , , I , , , , , , , 1 , , _..1.J........L.J.._.'_._L_LJ. ___ L.l. ..L _ I L_L-'---1--.l......J..-L_L...l_~_ ,7/-1I,S, ,POR 7 I O.N, ,Wo/,eL , ,8'[1 ,[,N,71~,R,E,D, ,W/-I.£iJ, ,Tl/.£L.J.bMT.t;~~U"?2_ L--, R £. 'OIUI£IS 7 k £ Y. I I IS, ,P.R,£,S,S,E.D,. I 1 1 • 1 , 1 I I , , , , • , , , LLl......l.-Ll_....L.-r,I 'I' , I 1 , , , , I I , • , , , , I I ., , , • , , '~...L..L...L..l---L...L....l.-.L.1_I_rI,N, ~ Rt [IQ,U1 1.0,O,2,C , • , , I , • I I , I • , , I , • , , I , • ..L.L...L.L.L..L_L_L_L_L..~ ~I I , *, , -x: 1 , " ¥I I I *1 , , I" .¥, , I ' I,N, T,Rt , , I I I , 1 i I I I I , I I' ~,210 L M,D,,><, L 8, S C I 'I' ,8S,51 I M9,1,O , X, / ",0, B,S" , I' ~I '" lD,C LID, " , , " I I I , , I , I I I , , I ~I ~I'¥I , , I , .1 I I I I I I , , 1...' I , I 1 , • I , , I I , I I , , I , , I I • II I , • , DC, 1 ~ICI I D,e , I [$.)14 cO t.,Q,U l [,N,D, , , I I _.l....l~L.L_i_'.1.L..r- , ! I C 1 , ., , , , , , I , , , , L-L.L.I • , , , I • I I I I I , , , , L...L' I I ' ..L - t - , I I I s6 • '_.1 I ! I I '.L..L-L_L.l I , • I • I , , • 1 I 1_.1 • I I I ,C.Rte,A,T,c, ,~V,~N, A,D,D,R. , I _L_L-LL.J_l-1._~_ 1.1V,9,2I O, I , , , J,qc,c, ,T.O, ,RiE;A.D, IC,O,N.S,OlIEI 1 1._.L._ /,3,A ,O,O, I , , , I~I~W" ,T,C,H,E,S, L l , I I I I , , , I , , , L.l. ..L..._ *I-'~J.....L...L' ,V,A,L'~~.j-,~E,A,~ .6R,O,k1L.C,O!!.J~j~L,~ ~.l.VfL__ I/.QO 1 I , , I , , , , '~._ ..L_L.J...._L-L-L_L_L..i_LJ._L. ..l.-L_L' , I , _L...._ O. I 1. J I ,£.M7,Rt VI .P,O,I I""T. ,,",~OM! " ~_L_LLJ_L._L 1_ / ,AI. 9,1,0, • , , , l?,£,A,D, ,7."'£1 ,c,O,MS,O,L,~, ,Sl~ 1,T,C/-I.E'S,.-1-r1,""91 2 ,0, I , , , ,L,O, l~/I,A,~ "IA'Sl.._~.££t)/I.~E;~Jl?t , I , , I $,/,4,2,0,\,Z,+" ,F.~J~~II, ,~Ol ,N!£,X,~ ,J,O,B, I~~ ,~~GI I , I,N,T,~) ,i. , , , ,J,N,C,~£,M.[,N,T, ,T/I,£, '~{'.LZ.tlK.}j.L ,A,D,D,RL.L._r1 AI. T.lR. .1 R. [ T,~ R/J, ,~o. J I LIS; , , I , , L-.L...'---L...L_..l-...JL..--L-~ , ~'_.l.-....L'I~,-+-+--,--,I'---'-'-+--+-+--II-I-_.L..--l'I_-,--I ....J,,---,-I---L...-I'_L-L.J. 1 I I I • , , , 1TW/ ,S, IPOiR7 I O.N, IWJ ,L,L I ,8,£, ,£,N;L("R.£,D,1!.J1£/J, ,T/1.t, ,,;1J1T.E ,Kif!llP..:Lil2£O,U,£,ST KE.Y. ,/,5, ,P,~€,SIS,[,A I I , I I , I 1 I 1....LLL_LL.L....L_L_L_LLLJ ..L_i- I 1 , , , I , I , I , I , , , .i_L-L_' I...J I • I , I I I I I I I • Figure 6-4. INT REQ servicc subroutinc for core load using TYPEZ, WRTYZ, TYPEO, or WRTYO Programming Tips and Techniques 6-47 FORTRAN Programmer Tips Use of EQUAT TIPS FOR FORTRAN PROGRAMMERS The tips in this section will help you when: • Referencing different data fIles by using the supervisor *EQUAT control record • Using valid input data during program execution • Controlling the console pJinter during program execution • Entering data for arrays so as to provide efficient dumping of a DSF program Tips for Use of the EQUAT'lControl Record The supervisor *EQUAT function is used to substitute a subroutine for another called subroutine in core loads that are being built. Thus, a program does not have to be recompiled or reassembled to reference different subroutines. For example, suppose that your FORTRAN mainline program prints on the 1132 Printer, and you want to have it print on the 1403 instead. Without an EQUAT control record, you would have to change the *IOCS control record and recompile the program. With EQUAT, you have only to specify on the EQUAT control record that PRNZ (the 1403 subroutine) is to be SUbstituted for PRNTZ (the 1132 subroutine) when the core load is built. When EQUAT is used, the core load builder compares each call in the program with the left-hand name of each specified subroutine pair on the EQUAT control record. Each tinIe a match is found, the core load builder substitutes the right-hand name of the EQUAT subroutine pair for the name in the calling statement of the program. Note that the EQUAT control record is;associated with the monitor JOB control record, which implies that all core loads that are built for the job be built from the same substitution list. The use ofEQUAT is not restricted to I/O substitutions. You might, for example, have several versions of a subroutine, each stored under a different name. With EQUAT, any of these subroutines can be used without recompiling or reassembling the calling programs. You must remember that th,e calling sequence of any substitute pair must be identical since the core load builder does no more than substitute one name for the other. Thus, CARDZ cannot be substituted for PRNZ because the 80-column count associated with CARDZ is incompatible with the 120-word count associated with PRNZ. The equatable FORTRAN I/O subroutines are: 1132 Printer 1403 Printer PRNTZ PRNZ 2501 Card Reader 1442 Card Rlltader Punch CARDZ ------------- 6-48 1055 Punch 1134 Reader 1627 Plotter Notes ------READZ *VCHRI -- extended precision WCHRI -- standard precision Console printer keyboard TYPEZ Input onl" TYPEZ PAPTZ *VCHRI,WCHRI Output only WRTYZ PAPTZ *VCHRI,WCHRI Output only FORTRAN Programmer Tips i nval id sou rce characters· paper tape data record format The following lists the possible entries in a FORTRAN *IOCS control record and the subroutine each entry implies: *IOCS entry Subroutine called CARD CARDZ 2501 READER READZ 1442 PUNCH PNCHZ TYPEWRITER WRTYZ KEYBOARD TYPEZ 1132 PRINTER PRNTZ 1403 PRINTER PRNZ PAPER TAPE PAPTZ PLOTTER PLOTX DISK DISKZ UDISK DISKZ The FORTRAN programmer should also remember that the name of a function subroutine as stored in the system library must be used in an EQUAT control record; not the function name that is coded in FORTRAN statements. EQUAT can also be used to allow a FORTRAN program to overlap the operations of the 1132 Printer with the synchronous communication adapter (SCA). The operations of these I/O devices cannot be overlapped unless the 1132 is serviced by PRNT2. EQUAT can change PRNTZ (the subroutine used by FORTRAN I/O for 1132 printing) to the name PRTZ2 (a special subroutine to interface between PRNTZ and PRNT2). 1132 printing is then performed by PRNT2 and can be overlapped with the SCA. Invalid Characters in FORTRAN Source Cards Any invalid FORTRAN character in a FORTRAN source card is converted to an ampersand, causing the compiler to print an error message. The error message that is printed depends on the kind of statement in which the invalid character is found. The FORTRAN character set is listed in Appendix C of the publication IBM 1130/1800 Basic FORTRAN IV Language, GC26-371S. FORTRAN Object Program Paper Tape Data Record Format Data records of up to 80 EBCDIC characters in paper tape PTTC/8 code can be read or written by FORTRAN object programs. Delete and newline codes are recognized. Delete codes and case-shifts are not included in the 80 characters. When a newline code is read before the 80th character, the record is terminated. If the 80th character is not a newline code, the 81 st character read is assumed to be a newline code. Programming Tips and Techniques 6-49 .------_. FORTRAN Programmer Tips keyboard input console printer control Keyboard Input of Data RE~cords During FORTRAN Program Execution Data records of up to 80 characters can be read from the keyboard by a FORTRAN READ statement. Data values must be right justified in their respective fields. keyboard operation If you want' to key in less than 80 characters, press EOF to stop transmittal. Also, pressing ERASE FIELD or the backspace key (+-) allows you to reenter a record when you make a mistake during data entry. If the keyboard appears to be locked, press REST KB. SeleGt buffer status after keyboard entry The input buffer is filled with blanks before you enter a data record. Therefore, when you press EOF before you have entered 80 charaCters, the rest of the buffer remains blank, If more data is necessary to satisfy the list items in the DATA statement, the remaining numeric fields (I, E, or F) are stored in core as zeros, and alphameric fields (A or H) are stored as blanks. Processing is continuous; errors do not result from the previous condiition. the correct case shift before entering data. Note. Information about buffer status after pressing ERASE FIELD or the backspace key (+-) is under "Functions of Console Operator Keys During Monitor System Control" and "Entering Jobs from the Console Keyboard," respectively, in Chapter 7. FORTRAN Program Control of the Console Printer You can code your progratn to control spacing, tabulating, and shifting on the console printer by assigning unique values for desired operations to variables. These variables must be assigned as integers, and A-conversion must be used in the FORMAT statement for these variables. The operations that can be performed and the values that are assigned to them include: Operation Value Backspace Carrier return Line feed Shift to print black Shift to print red Space Tabulate 5696 5440 9536 5184 13632 16448 1344 As an example of console printer control, assume that a variable, X, is printed in the existing black ribbon shift and that another variable, Y, is printed in red after a tabulation. Following the printing ofY, the ribbon is shifted back to black. The following statements perform these functions: - r---- 1 5 3 10 1.5 20 25 30 I =13 44 J= 13 632 1<, 151 84 I =J W12 IT E I( L ,3 )X t I .,J .VI, I< If 0 IRM AT (~: .1[2' .6 .,2 All .,IF 1Z .6 ,A t) 35 40 50 45 - - - 6··50 r- FORTRAN Programmer Tips OAT A statement // records read I/O errors FORTRAN logical unit 1, as specified in the WRITE statement, is the console printer. The sequence of operations to be performed are: • Print X • Tabulate • Shift to p rin t red • Print Y • Shift to print black Each control variable counts as one character and must be included in the count of the maximum line length. Length of FORTRAN OAT A Statement An error (DATA statement too long to compile, due to internal buffering) occurs if: (G 1 + G2 + ... + Gn) >355 where N is the number of constants in this DATA statement. Each G is a constant with the factor: G = 1 + C + (K 1 +K2 + ... + Kv) where C is the length in words of this constant and V is the number of variables loaded with this constant. Each such variable has a factor of: K = 1 for a nonsubscripted variable or K = 2 for a subscripted variable /I Records Read During FORTRAN Program Execution Any II~ record read by CARDZ, READZ, or PAPTZ during a FORTRAN program execution causes an immediate CALL EXIT. Only the II~ characters are recognized by CARDZ, READZ, or PAPTZ. Any other data punched in this record is not available to programs in the monitor system, and the record is not printed. After the IN record is read, the supervisor searches for the next valid monitor control record entered from the reader. For offline listing purposes, however, this record can contain comments, such as II END OF DATA. FORTRAN I/O Errors Ifinput/output errors are detected during execution, the program stops. The error is indicated by a code displayed in the console ACCUMULATOR (see Appendix B for a list of the codes and their causes). When an output field is too small to contain a number, the field is filled with asterisks and execution continues. The 1/0 subroutines used by FORTRAN (PAPTZ, CARDZ, PRNTZ, WRTYZ, TYPEZ, PNCHZ, READZ, PRNZ) wait on any 1/0 device error or device not in a ready condition. Ready the device, and press PROGRAM START to continue. Error detection in functional and arithmetic subroutines is possible by the use of source program statements. Refer to "Machine and Program Indicator Tests" in the publication IBM 1130/1800 Basic FORTRAN IV Language, GC26-3715. Programming Tips and Techniques 6-51 ---------------------------FORTRAN Programmer Tips dumping DSF programs to cards RPG object program considerations Dumping FORTRAN DSF Programs to Cards Arrays are always allocated backwards in core storage by the FORTRAN compiler. Because of this basic principal of the compiler, DSF output may be somewhat inefficient when dumped to cards if arrays are included in DATA statements. Such statements can cause cards to be punched with only one data word each. To circumvent this inconvenience, write every element of an array explicitly in a DATA statement, starting with the element of the highest order. RPG OBJECT PROGRAM CONSIDERATIONS An RPG object program requires the special interrupt level subroutines (ILSs named with an X, as ILSX4). You code any character in column 28 of an XEQ monitor control record and in column 12 of a STORECI DUP control record to cause the special ILSs to be included in a core load. If the program is stored in core image (STORECI), the special ILSs are stored with the program on disk. The storing of programs in disk core image format on disk is not recommended (see "Disadvantages of Storing a Program in DCI Format" in this chapter). 6-52 Chapter 7. Operating the 1130 Disk Monitor System This chapter contains procedures that are used frequently during the operations of the 1130 Disk Monitor System. These procedures include: • General procedures for readying the components of the 1130 for operation • Procedures for performing a cold start of the monitor system • General operating procedures that are used while the monitor system is in operation The procedures for readying the 1130 components are performed when a device is to be used and is not ready. The central processing unit must be the first device readied as the console POWER switch, when turned on, supplies power to the entire 1130 computing system. The procedures for the I/O devices need not be performed in the order presented; however, if the disk drives are readied first, other devices can be readied while the disk drives are reaching operating speed. Detailed procedures for changing forms, tapes, and cartridges are not included here; they are in the publication IBM 1130 Operating Procedures, GA26-5717. The functions of the cold start program and operating procedures for performing a cold start from cards or from paper tape are described in detail. The procedures used while the monitor system is in operation are: • Loading control records, program statements, and data records • Controlling the system with the PROGRAM STOP, PROGRAM START, INT REQ, and IMM STOP function keys on the console • Displaying and altering selected core storage locations • Manually dumping core storage Operating the 1130 Disk Monitor System 7-1 Readying Devices 1131 CPU READYING THE 1131 CENTRAL PROCESSING UNIT (with an internal disk) System response or Error indicator and corrective action Operator action 1. Move the console POWER switch to ON. Thls switch supplies power to the en tire system, and must be on before any of the I/O devices are readied. 2. Insert a cartridge in the single disk drive. 3. Move the DISK switch on the disk drive to ON. The disk drive requires approximately 90 seconds to reach operating speed. If the FORMS CHECK light comes on, insert or adjust the paper in the console printer. If the DISK UNLOCK light comes on, it indicates that the DISK switch on the disk drive is set to OFF. See step 3. The FILE READY light comes on when the disk drive reaches operating speed. If any other indicator lights on the console are on, press RESET. Indicator lights Function keys aB ON .........................;..::: ~~ m :~·:.:·:·:·:·:·:·;·.·:·;·.·.jOFF * : ':':':':':':':':':-:':':':':':':':':-: : * : : .:.:.:.:-:.:.:.:.:.:.:.:.:.:.:.:. ,: : :: DISK :: ::: FI LE ::: ~t.:.:.~:~.~.?.~. ~. . ;~ ~t.:.:.~:7.:~.~;Y.;.;.)~ PARITY CHECK ~nternal KEYBOAI~D KEYBOAR PROGRAM START ~J ~ PROGRAM STOP E ~ ~ *These indicators are blank on an 1131 CPU that does not contain an CONSOLE~ POWER ~~j··························] . . ·t RESET :::: ::: ~~;.....-...........-..............•....~~;~ PROGRA~ LOAD single disk drive. READYING THE 1131 CENTRAL PROCESSING UNIT (without an internal disk) Operator action 1. 2. Move the console POWER switch to ON. This switch supplies power to the entire system, and rhust be on before any of the I/O devices are readied. Ready the 2311 Disk Storage Drives as described under ·'Readying the 2311 Disk Storage Drive" in this chapter. System response or Error indicator and corrective action If the FORMS CHECK light comes on, insert or adjust the paper in the console printer. If any other indicator lights on the console are on, press RESET. ...J Readying Devices 2310 Disk Drive 2311 Disk Drive READYING THE 2310 DISK STORAGE DRIVE Operator action System response or Error indicator and corrective action 1. Be sure system power is turned on. 2. Insert the disk cartridges 3. Move the START/STOP switch to START. 4. Be sure the ENABLE/DISABLE switch on the 1133 Multiplex Control Enclosure is in the' ENABLE position. The READY light on the 1133 is on. 5. Move the START/STOP switch to START position for the cartridges being used. The drives require Approximately 90 seconds to reach operating speed. The indicators showing the drive numbers come on when the disks reach operating speed. 6. Move the ENABLE/DISABLE switch on the disk storage drive to ENABLE. START STOP «V (d If the CARTRIDGE UNLOCKED light comes on, it indicates that the START/STOP switch is set to STOP. See step 3. bdd CARTRIDGE UNLOCKED .......---- ENABLE DISABLE ~ l::J READYING THE 2311 DISK STORAGE DRIVE System response or Error indicator and corrective action Operator action 1. Be sure system power is turned on. 2. Be sure the ENABLE/DISABLE switch on the 1133 Multiplex Con trol Enclosure is in the ENABLE position. 3. Insert a disk pack in the 2311, if necessary. 4. Move the START/STOP switch to the START position. The disks require approximately 60 seconds to reach operating speed. The READY light on the 1133 is on. The green indicator showing the drive number comes on when the disks reach operating speed. Move the ENABLE/DISABLE switch on the disk storage drive to the ENABLE position. ~ 1 SELECT LOCK ~ ENABLE«\) DISABLEtJ ' - - - - - - - - - ' '-----------' START STOP tJ ~ Operating the 1130 Disk Monitor System 7-3 Readying Devices 1132 Printer 1403 Printer READYING THE 1132 PRINTER System response or Error indicator and corrective action Operator action 1. Move the printer MOTOR switch toONe The printer POWER ON light comes on. If the printer FORMS CHECK light comes on, insert or adjust the paper in the printer. 2. Press CARRIAGE RESTORE. 3. Press START. r-J D D D D D C] D The READY light comes on. ~ ~.:j~ . '.~.'" .~ '. '.~ '. '. 'D.· .· .~ ·. ·. ·. ·. ·. ·.:~ .:~ ,. PRINT SCAN CHECK ~~L::.:!.'."..".. .. CARRIAGE SPACE ON ':':...:.......:........\~ ~~: MOTOR :~: :~::.:,:,:.:.:::::::::::::::OFF I ndicator lights CARRIAGE STOP I[.:~:~:~~,:::'~ G ( Function keys READYING THE 1403 PRINTER System response or Error indicator and ,corrective action Operator action 1. Be sure system power is turned on. If any indicator lights on the printer other than PRINT READY are on, correct the condition (see the publication IBM 1130 Operating Procedures, GA26-5717). 2. Be sure the ENABLE/DISABLE switch on the 1133 Multiplex Control Enclosure is in the ENABLE position. The READY light on the 1133 is on. 3. Press the CARRIAGE RESTORE key on the printer. 4. Press START. The PRINT READY light comes on. Function keys Indicator lights 1[::c~:~~~::::]!·1 : READY CARRIAGE SPACE rPRiNT----- P'R;Tl CHECK: I I I END OF SINGLE CYCLE I I FORMS FORMS SYNC I LC!:!,E.£.K_ _ _ _ _ ~E..£KJ CARRIAGE STOP 7-4 Readying Devices 1442 Card Read Punch 1442 Card Punch READYING THE 1442 MODEL 6 AND 7 CARD READ PUNCH Operator action 1. Be sure system power is turned on. System response or Error indicator and corrective action The 1442 POWER ON and HOPR indicator lights are on. lf the CHIP BOX light is on, empty the chip box. If any indicator lights other than BOPR are on, correct the condition (see Appendix B). 2. Press the NPRO key. 3. Place the cards to be processed in the hopper, face down, 9edge first. 4. Press the START key. The HOPR light goes off. The READY light comes on. fHOPR -FEED--READl I READ I STA I PUNCH I STA CLU REG I PUNCH I OVERI RUN I I ndicator lights _ _ _ _ _ _ _ -II IL..:.. TRANS Function keys READYING THE 1442 MODEL 5 CARD PUNCH Operator action Follow the procedure for readying Models 6 and 7 with one exception; use blank cards in Step 3 rather than cards ready for processing. Operating the 1130 Disk Monitor System 7-5 Readying Devices 2501 Card Reader 1·134 PaDer Tape Reader READYING THE 2501 CARD READER System response or Error indicator and corrective action Operator action 1. Be sure system power is turned on. The card reader POWER ON and FEED CHECK lights are on. If any other indicators are on, correct the condition (see Appendix B). 2. Press NPRO. The FEED CHECK light goes off. 3. Place cards to be processed in the hopper, face d.own, 9edge first. 4. Press START. The READY light comes on. READ] CHECK . r;~:;~"":1 r····F·EE·~·w·1 .~ f.: :. ~. j~ ...................•..•.........•.......•..•......... CHECK jj Indicator lights ':';';';0;0;0;';';';';';0;':';0;';';';.:' Function keys READYING THE 1134 PAPER TAPE READER Operator action / 1. Be sure system power is turned on. 2. Insert a tape to be processed in the paper tape reader; position under the read starwheels any of the delete codes that follow the program ID in the tape leader. e. .'......... ....... . .•••••••• •••••••••• ' Delete) • • • • • • • • • • ....- Feed holes codes ~ ••••••••• •••••••••• •••••••••• < 7-6 Tape movement Readying Devices 1055 Paper Tape Punch READYING THE 1055 PAPER TAPE PUNCH Operator action 1. Be sure system power is turned on. 2. Insert a blank tape in the paper tape punch .. 3. Press the DELETE key on the punch and hold down while performing Step 4. Do not release the DELETE key. 4. With the DELETE key held down, press the FEED key and hold down to punch several inches of delete codes. 5. Release the FEED key before the DELETE key. Note: The tape tension lever must be down in order to ready the 1055. Operating the 1130 Disk Monitor System 7-7 Readying Devices 1627 Plotter READYING THE 1627 PLOTTER System response or Error indicator and c:orrective action Operntor action 1. Be sure system power is turned on. 2. Turn the 1627 POWER switch to the ON position. The POWER ON light comes on. If the pen is not in the up position, mov(~ the PEN switch first to DOWN, then to UP. If a single sheet of chart paper is used, be sure the CHART switch is in the OFF position. 3. With the pen in the UP position, use the 2 DRUM (X axis) and the 2 CARRIAGE (Y axis) controls to position the pen for the first plot. o o ,I CARRIAGE • SINGLE STEP CARRIAGE • 0.- 0 ~ 7-8 FAST RUN I \- I I OFF POWER ON V '\ DRUM SINGLE STEP DRUM FAST RUN UP PEN DOWN to t() )(:) CHART ON OFF -'"' " ~ Readying Devices 1231 OMPR READYING THE 1231 OPTICAL MARK PAGE READER System response or Error indicator and corrective action Operator action The 1231 POWER ON light is on. 1. Be sure system power is turned on. 2. Place the data sheets in the hopper with the side to be read facing up and the top edge positioned to feed first. 3. Move the FEED MODE switch to ON-DEMAND. 4. Press PROGRAM LOAD. The PROGRAM LOAD light comes on. S. Press RESET. The hopper is raised to the ready position. The RESET light goes off and the START light comes on. 6. Press START. The PROGRAM LOAD light goes off. 7. Press START again. The START light goes off. All indicator lights should be off, with one exception: the SYSTEM STOP light can be on. TIMING MARK CHECK FEED t@\ -----004 Perform the "Card System Preload Procedure" in this chapter. ~- Ready a cartridge for initializlItion 1. Place a disk cartridge or pack in a disk drive. 2. Ready the disk drive (see Chapter 7 for information about readying disk drives_)._ _.J Yes Initialize the cartridge ] ] using the DCI P program (see Chapter 9). Note: If your system has 2311 Disk Storage Drives, be sure all disks in a disk pack are initialized. Ready the 1132 Printer 1132 1. Move the printer MOTOR switch to ON. 2. Press CARRIAGE RESTORE. 3. Press START. 1403 Figure 8-3 (Part 1 of 3). Card 8-16 sy~tem initial load procedure ] Card System I nitial Load operating procedure Ready the 1403 Printer 1. Be sure the ENABLEI DISABLE switch on the 1133 Multiplex Control Enclosure is in the ENABLE position. 2. Press CARRIAGE RESTORE on the pri nter . 3. Press START on the pri nter. Ready the IBM system deck Place the user-punched control cards in the I BM system deck where indicated in Figure 8-2. Ready the 2501 Card Reader 1. Press NPRO. 2501 2. Place the first of the IBM system cards in the hopper, face down, 9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, are present, make sure the 1442 is not ready by pressing STOP on the 1442), 1442, Model 6 or 7 Ready the 1442, Model 6 or 7 1. Press NPRO. 2. Place the first ofthe IBM system cards in the hopper, face down, 9-edge first. 3. Press START. Figure 8-3 (Part 2 of 3). Card system initial load procedure Monitor System Initial Load and System Reload 8-17 Card System Initial Load operating procedure Start the reading of the IBM system deck 1. Set the console entry switches 12 through 15 to ind icate the physical drive number of the drive that contains the initialized cartridge (switGhes o through 11 must be off). Drive Drive Drive *Drive * Drive Drive Drive Drive III Drive '" Drive Drive 0 - all off 1 - switch 15 on 2 - switch 14 on 3 - switches 14 and 15 on 4 - switch 13 on 5 - switches 13 and 15 on 6 - switches 13and 14 on 7 - swi tches 13, 14, and 15 on 8 - switch 12 on 9 - switches 12 and 15 on 10 - switches 12 and 14 on *Not used on a 2311 Disk Storage Drive, Model 12 2. Turn the console mode switch to RUN. 3. Press I MM STOP on the (:onsole. 4. Press RESET on the console. 5. Press PROGRAM LOAD on the console . .------_ _.., .. I I Reading of the I BM system deck begins. L _ _ _ _ I I _ _ _ _ .J Finish procedure . I I I Continue placing IBM system cards in the reader hopper until all of the cards have bE~en placed in the hopper. If the system halts (halt codes displayed in the ACCUMULATOR on the console display panel), refer to Appendix B. If the system prints a message on the console printer, refer to Appendix A . ---- ------, The system prints a message on the principal printer when loading of the monitor system is complete. L____ I I I _ _____ ..1 Perform the "Cold s t a r ] J Procedure" in Chapter 7 to make the monitor system operational. Figure 8-3 (Part 3 of 3). Card system initial load procedure 8-18 Card System Reload operating procedure CARD SYSTEM RELOAD OPERATING PROCEDURE The materials that you need to perform a card system reload procedure are: • A system cartridge • An IBM-supplied cold start card and blank cards.(2 are enough) • IBM-supplied system cards • Load mode and REQ (and CORE, if used) cards that you punched. An R must he punched in column 8 of the load mode card The reload cards that are being used in the system reload must be arranged in the order shown in Figure 8·4. system reconfiguration Reconfiguration is done each time a reload procedure is performed and is necessary when a system cartridge is copied from a system with a different configuration. If reconfiguration is all that is being done by a reload operation, place the type 81 control record immediately after the PHID control records. phase and program revision or addition Be sure the phase identification (PHID) control records reflect the phase ID limits of the system programs being added or in which phases are being revised or added. The programs or phases being revised or added by the reload procedure must be placed in ascending phase ID sequence immediately behind the IBM-supplied PHID control records. The record immediately following the Jast phase being loaded must be an end-of-program card (see "End-of-Program (EOP) Card" in Appendix I). In this case, the EOP card can have words 1, 2, and 4 through 54 blank. The message END OF RELOAD is printed on the console printer when a system reload is complete. Monitor System Initial Load and System Reload 8-19 Card System Reload operating procedure System configuration deck ~--------===:==----- System loader-part 1 columns 73-75 10: DP1 (with 7 card core image loader 10: DCL) Figure 8-4. Card system reload ,,;ards The reload function can link to MODIF if a / / XEQ MODIF control record follows directly after the type 81 control card. This function can be performed together with any combination of the reload functions. The END OF RELOAD message is not printed, but the / / XEQ MODIF control record is printed on the principal printer. You perform a card system reload procedure as shown in Figure 8-5. 8-20 Card System Reload operating procedure Turn on system power Move the console POWE R switch to ON. Cartridge Perform the "Card System Preload Procedure" in this chapter. Cards Ready the system cartridge to be used 1. Place a system cartridge in a disk drive. 2. Ready the disk drive (see Chapter 7 for information about readying disk drives). Ready the 1132 Printer 1132 1. Move the printer MOTOR switch to ON. 2. Press CARRIAGE RESTORE. 3. Press START. Ready the 1403 Printer 1. Be sure the ENABLEI DISABLE switch on the 1133 Multiplex Control Enclosure is in the ENABLE position. 2. Press CARRIAGE RESTORE on the printer. 3. Press START on the printer. Figure 8-5 (Part 1 of 4). Card system reload procedure Monitor System Initial Load and System Reload 8-21 Card System Reload operatin!) procedure Ready the IBM system dock Place the load mode and REO (and CORE, if used) cards that you punched ii., the system deck where indicated in Figure 8-4. Figure 8-5 (Part 2 of 4). Card system reload procedure 8-22 Card System Reload operating procedure Ready the 2501 Card Rea.der 1. Press NPRO. 2501 2. Place the first of the reload deck in the hopper, face down, 9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, are present, make Ready the 1442, Model 6 01: sure the 1442 is not ready by pressing STOP on the 1442). 7 1. Press NPRO. 2. Place the first of the reload deck in the hopper, face down, 9-edge first. 3. Press START. Start the reading of the IBM system deck Drive 0 - all off Drive 1 - switch 15 on Drive 2 - switch 14 on * Drive 3 - switches 14 and 15 on *Drive 4 - switch 13 on Drive 5 - switches 13 and 1 ~ on Drive 6 - switches 13 and 14 on Drive 7 - switches 13, 14 and 15 on *Drive 8 - switch 12 on * Drive 9 - switches 12 and 15 on Drive 10 - switches 12 and 14 on 1. Set the console entry switches 12 through 15 to i nd icate the physical drive number of the drive that contains the system cartridge (switches 0 through 11 must be off). *Not used on a 2311 Disk Storage Drive, Model 12 2. Turn the console mode switch to RUN. 3. Press I MM STOP on the console. 4. Press RESET on the console. 5. Press PROGRAM LOAD on the console. Figure 8-5 (Part 3 of 4). Card system reload procedure Monitor System Initial Load and System Reload 8-23 Card System Beload operating procedure r I ----..., Reading of the I BM system deck begins. I 1 I IL _ _ _ _ _ _ _ _ _ _ ..1I Finish procedure Continue placing I BM s'~stem cards in the reader hopper until all of the cards have been placed in the hopper. r - - I I _10 - -- If the system halts (halt codes displayed in the ACCUMULATOR on the console display panel), refer to Appendix B. If the system prints a message on the console printer other than END OF RELOA.D, see Appendix A. ---I The system prints END OF RE LOAD on the console printer when the reload is complete. I I I __________ J L Perform the "Cold Start Procedure" in Chapter 7 to make the monitor system operational again. Figure 8-5 (Part 4 of 4). Card 8-24 sy~tem reload procedure Card System Preload operating procedure CARD SYSTEM PRELOAD OPERATING PROCEDURE The materials that you need to perform a card system preload procedure are: • A preload (UCART) cartridge • An IBM-supplied cold start card • Blank cards; the dump of the monitor system requires approximately 5400 cards The dump is accomplished by loading the Monitor II cold start card supplied with the cartridge from IBM. The forl!lat of the preload cartridge is such that the same cold start card that is used to make the monitor system operational is used to call the disk-to-card dump program (UCART). You perform a card system preload procedure as shown in Figure 8-6. Monitor System Initial Load and System Reload 8-25 Card System Preload operati ng procedure Ready the preload cartridge 1. Place the preload cartridge in a disk drive. 2. Ready the disk drive (see Chapter 7 for information about readying disk drive'';). 3. Set the console entry switches Drive *Drive Drive Drive Drive *Drive 12 through 15 to indicate' the physical drive number of the drive that contains the pfiaload cartridge (switches 0 through 11 must be off). 0 - all off 1 - switch 15 on 2 3 4 6 - switch 14 on switches 14 and 15 on switch 13 on switches 13 and 14 on *If your preload cartridge is on a 1316 Disk Pack, the DM2 system is on either physical drive 1 or 6. Ready the 2501 1. Press NPRO. 2. Place the cold start card in the 2501 hopper, face down, 9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, Ready the 1442, Model 6 or 7 1. Press NPRO. 2. Place the cold start card followed by blank cards in the hopper, face down, 9-edge first. 3. Press START. Start cold start 1. Turn the console mode switch to RUN. 2. Press IMM STOP on the console. 3. Press RESET on the cons,ole. 4 .. Press PROGRAM LOAD ,on the console. Figure 8-6 (Part 1 of 2). Card system preload procedure 8-26 are present, make sure the 1442 is not ready by pressing STOP on the 1442). Card System Preload operating procedure Ready the 1442 for punchin, ~ 1. Press NPRO. 2. Place blank cards in the Yes hopper, face down, 9-edge first. 3. Press START on the 1442. No 4. Press PROGRAM START on the console. r---I -----, Punching of the monitor system I begins. IL _ _ _ _ I I ____ ...1 Finish the procedure 1. Continue adding cards to the card punch hopper until the system halts with hexadecimal /03CC displayed in the ACCUMULATOR on the console display panel. If the system halts (halt codes displayed in the ACCUMULATOR on the console display panel) refer to Appendix B. 2. Remove the 9s cards (a 9 punched in columns 1 through 80) that separate the object decks punched by this procedure. The stand-alone utility programs, sample programs, and the DISKN subroutine for the 2311 Disk Storage Drives are the last decks punched during an initial load; remove these. If a 1442, Model 5, punch is being used, the first card through the punch is blank. Throw this card away. Reload Return to "Card System Reload Procedure" in this chapter. I nitial load Return to "Card System I nitial Load Procedure" in this chapter. Figure 8-6 (Part 2 of 2). Card system preload procedure Monitor System Initial Load and System Reload 8-27 Paper Tape Initial Load operating procedure PAPER TAPE SYSTEM INITIAL LOAD OPERATING PROCEDURE The materials that you need to perform a paper tape system initial load procedure are: • An initialized disk cartridge • DCIP (Disk Cartridge Inhialization Program) tape, BP16 • IBM-supplied system tapes, BPOI-BP14 • Load mode control record tape and system configuration record tape that you punched If the assembler or the FORTRAN compiler is not being loaded, the corresponding tapl~s (BPOS or BP07) can be omitted; however, if they are not loaded, they cannot be loaded during a system reload procedure. The assembler and the FORTRAN compiler can be loa~ed during an initial load procedure only. Load only those system library tapes (BP09 through BP14) that are required for your system. Tapes BPOI-BP14 that are being used in the initial load must be arranged in the order shown in Figure 8-7. Tape BPIS is the cold start record that is used to make the monitor system operational after the initial load is complete. Tapes BP16-BP20 are stand-alone utilities and are not loaded as part of the monitor system. However, you use BPI7 (PTUTL) to punch the load mode and system configuration tapes that are used during initial load and BPI6 (OCIP) to initialize the disk cartridge during initial load. Tapes BP21 and BP22 are sample programs that you can execute under monitor system control after the initial load is complete (see "Entering Jobs From the Paper Tape Reader" in Chapter 7). You perform a paper tape system initial load procedure a shown in Figure 8-8. 8-28 Paper Tape Initial Load operating procedure BP22 BP21 Console Printer Core Dump Program 1132/1403 Printer Core Dump Program Stand-alone Util ities Paper Tape Reproducing Program PTUTL Paper Tape Utility Program Cold Start Paper Tape Record---...... DCIP Disk Cartridge Initialization Program BP15 BP14 Communication subroutines BP13 Plotter subroutines BP12 BP11 Common LlBFs and CALLs BP10 Extended precision LlBFs and CALLs Standard LlBFs and CALLs End of system tapes control record (Type 81 record) Supervisor, core load builder, system I/O subroutines, core image loader, DUP part 2 Disk Utility Program Phase 10 (PHID) control record System configuration record you punched System loader, part 2, with resident monitor and cold start Load mode control record you punched Figure 8-7. Paper tape system load tapes Monitor System Initial Load and System Reload 8-29 Paper Tape Initial Load operati ng procedure Turn on system power - - ] Move the POWE R switch on the console to ON. ~------------r---Ready a cartridge for initiahzation 1. Place a cartridge in the single disk drive (the cartridge can be placed on any drive on the system). 2. Move the DISK switch Cln the disk drive to ON. The drive requires approximately 90 seconds to reach operati.ng speed (see Chapter 7 for readying the 2310 Disk Storage Drive). Ves Initialize the cartridgej]: using the DCIP program (see Chapter 9), Ready the 1132 Printer 1132 1. Move the printer MOTOR switch toON. 2. Press CARRIAGE RESTORE . 3. Press START. Ready the 1403 Printer 1. Be sure the ENABLE/ DISAB LE switch on the 1133 Multiplex Control EnGlosure is in the ENABLE: pm:ition. 2. Press CARRIAGE: RESTORE on the printer. 3. Press START on the printer. Figure 8-8 (Part 1 of 3). Paper tape system initial load procedure 8-30 Paper Tape Initial Load operati ng procedure Ready the IBM system tapes Place the user-punched control tapes in the I BM system tapes where indicated in Figure 8-7. Ready the paper tape reader 1. Insert BP01, system loader, Part 1, in the paper tape reader. When loading tapes, position under the read starwheels any of the delete codes that follow the program ID in the tape leader. Start the reading of the Monitor System 1. Set the console entry switches 12 through 15 to indicate the physical drive number of the drive that contains the initialized cartridge (switches o through 11 must be off). Drive 0 Drive 1 Drive 2 Drive 3 Drive 4 - all off switch 15 on switch 14 on switches 14 and 15 on switch 13 on 2. Turn the console mode switch to RUN. 3. Press IMM STOP on the console. 4. Press RESET on the console. 5. Press PROGRAM LOAD on the console. The core image loader is read into core storage from BP01, and the system waits with 1006C displayed in the ACCUMULATOR. 6. Press PROGRAM START to finish the reading of Part 1 of the system loader. When reading of BP01 is complete, the system waits with 100C9 displayed in the ACCUMULATOR. 7. Press PROGRAM START The system waits again with 13000 displayed in the ACCUMULATOR. again. 8. Place the user-punched load mode control record tape in the reader. 9. Press PROGRAM START. The system waits with 13000 in the ACCUMULATOR when reading of the tape is complete. Figure 8-8 (Part 2 of 3). Paper tape system initia110ad procedure Monitor System Initial Load and System Reload 8-31 Paper Tape Initial Load operating procedure A-;-J Continue the reading of the Monitor System 10. Insert BP02, sy!)tem loader, Part 2, in the paper tape reader. 11. Press PROGRAM START. The system waits with /3000 displayed in the ACCUMULATOR when reading of BP02 is complete. 12. Insert the user-punched system configuration tape in the reader. 13. Press PROGRAM START. The system waits with /3000 displa~led in the ACCUMULATOR when reading of the user-punched tape is completn. Load tapes BP03 th1rough BP14 1. Insert the next higher numbered tape in the paper tape reader. 2. Press PROGRAM START. No The system waits with /3000 displayed in the ACCUMULATOR when readil'1g of each tape is complete. was> last: tapl;! BP147 Yes Perform the "Cold Start Procedure" in Chapter 7 to make the monitor system operational. Figure 8-8 (Part 3 of 3). Paper tape system initial load procedure 8-32 Paper Tape System Reload operating procedure PAPER TAPE SYSTEM RELOAD OPERATING PROCEDURE The materials that you need to perform a paper tape system reload procedure are" • A system cartridge • Cold start paper tape record, BP15 • System tapes • Load mode control record tape and system configuration record tape that you punched The paper tapes to be used in the reload must be arranged in the order shown in Figure 8-9. The tapes for the system programs and/or phases that are being added or expanded must be arranged in ascending tape number order. Also, all programs being loaded must have phase ID numbers within the limits of the IDs punched in the PHID tape, BP03. Note. If the assembler and/or FORTRAN compiler have been deleted or were n01 loaded during an initial load, they cannot be loaded during a system reload procedure. An initial load must be performed to load these 2 programs onto a cartridge. You perform a paper tape system reload procedure as shown in Figure 8-10. BP08 End-of-system tapes ......--control record (type 81 ) Revised programs or program phases Phase 10 (PHIO) "'--control record System configuration records ....--that you punched System loader, part 2, with ......--resident monitor and cold start ......--Load mode control record that you punched BP01 ......--System loader, part 1 BP15 ....--Cold start paper tape record Figure 8-9. Paper tape system reload tapes Monitor System Initial Load and System Reload 8-33 Paper Tape System Reload operating procedure Turn on system p o w e r - - J Move the POWER switch on the console to ON. ~------------~--- Ready the system cartridgo to be used 1. Place a system cartridge in the single disk drive (the cartridge can be placed on any drive on the system). 2. Move the DISK switch on the disk drive to ON. The drive requires approximately 90 seconds to reach op\'3rating speed (see Chapter 7 fo,r readying the 2310 Disk Storage Drive). Ready the 1132 Printer 1132 1. Move the printer MOTOR switch to ON. 2. Press CARRIAGE RESTORE. 1403 Ready the 1403 Printer 1. BesuretheENABLEI OISAB LE switch on the 1133 Multiplex Control Enc~osure is in the ENABLE position. 2. Press CARRIAGE RESTORE on the pri nter . 3. Press START on the printer. Figure 8-10 (Part 1 of 4). Paper tape system reload procedure 8-34 3. Press START. Paper Tape System Reload operating procedure Perform a cold start 1. I nsert tape BP15, cold start paper tape record, in the paper tape reader. 2. Set the console entry switches 12 through 15 to indicate the physical drive number of the drive that contains the system cartridge (switches 0 through 11 must be off). A cold start is recommended prior to a reload operation in order to restore certain parameters in DCOM on the system cartridge. Drive Drive Drive Drive Drive 0 1 2 3 4 - all off switch 15 on switch 14 on switches 14 and 15 on switch 13 on 3. Turn the console mode switch to RUN. 4. Press I MM STOP on the console. 5. Press RESET on the console. 6. Press PROGRAM LOAD on the console. The system waits with /3000 in the ACCUMULATOR when reading of the cold start record is complete. Ready the IBM system tapes Place the load mode and system configuration control record tapes that you punched between the IBM reload tapes where indicated in Figure 8·9. Figure 8-10 (Part 2 of 4). Paper tape system reload procedure Monitor System Initial Load and System Reload 8·35 Paper Tape Svstem Reload operating procedure Start the reading of the rel,oad tapes 1. Insert tape BP01, system loader, Part 1, in the paper tape reader. 2. Press PROGRAM STAnT on the console. The core image loader is read into corn storage from BP01, and the system waits with 100SC displayed in the ACCUMULATOR. 3. Press PROGRAM STAFtT again to finish the reading of Part 1 of the system loader. When reading of BP01 is complete, th4! system waits with 100C9 displayed in the ACCUMULATOR. 4. Press PROGRAM STAFlT again. The system waits again with 13000 displayed in the ACCUMULATOR. 5. Place the user-punched load mode control record tape in the reader. 6. Press PROGRAM STAHT. The system waits with 13000 in the ACCUMULATOR when reading of the tape is complete. 7. Insert tape BP02, system loader, Part 2, in the paper tape reader. 8. Press PROGRAM STABT. The system waits with 13000 in the ACCUMULATOR when reading of BP02 is complete. Configure system 1. Insert the user-punched system configuration tape in the reader. 2. Press PROGRAM STAFtT. Figure 8-10 (Part 3 of 4). Paper tape system reload procedure 8-36 The system waits with 13000 in the ACCUMULATOR when reading of the system configuration tape is complete. Paper Tape System Reload operating procedure Load tapes BP03, revised programs or phases, and BP08 1. Insert the next tape. The system waits with 13000 in the ACCUMULATOR when reading of each tape is complete. 2. Press PROGRAM START. No Yes Perform the "Cold Start Procedure" in Chapter 7 to make the mon itor system operational. Figure 8-10 (Part 4 of 4). Paper tape system reload procedure Monitor System Initial Load and System Reload 8-37 8-38 Stand-alone Utilities console printer core dump Chapter 9. Stand-alone Utility Programs The stand-alone utility programs are each self-loading and complete with subroutines. These programs are separate from the monitor system library and enable you to perform operations without monitor system control. The stand-alone utility programs are: • Console Printer Core Dump • Printer Core Dump • Disk Cartridge Initialization Program (DCIP) • Paper Tape Reproducing • Paper Tape Utility (PTUTL) The first 3 of these are available in cards and paper tapes; the last 2 on paper tape only. This chapter: 1. 2. Describes the general functions of each of the stand-alone utility programs. Presents sample operating procedures for using these programs. You may use these operating procedures as they are presented, or you may modify them to meet the needs of your computing system. For those who are already familiar with similar procedures, the headings in each block can be used as reminders as you perform the procedure. For those who need more information, detailed steps for performing these procedures are provided. Not all steps of each procedure need to be done every time the procedure is used; do only those steps that are necessary. "Appendix B lists the hal,t codes that are displayed in the ACCUMULATOR on the console display panel if errors occur during these procedures. CONSOLE PRINTER CORE DUMP Selected portions of core storage are printed on the console printer when you use the Console Printer Core Dump Program. dump format Each core location is dumped as a 4-digit hexadecimal word with a space separating each word. The first word dumped is from the starting address that you specify through the console entry switches. The materials that you need to use the Stand-alone Console Printer Core Dump Program are: • Console Printer Core Dump Program card -or• Console Printer Core Dump Program paper tape, BP20 Figure 9-1 is the operating procedure for the stand-alone Console Printer Core Dump Program. Stand-alone Utility Programs 9-1 Stand-alone Utilities console printer core dump Ready the console 1. Press IMM STOP. 2. Press RESET. 3. Turn the console mode switch to RUN. Set the number of print positions to a multiple of 5 so each line will be printed in the same format. 4. Set the margins on the console printer. 5. Set the address (in binary) of the starting core location in the console entry switches. Ready the paper tape reader Tape 1. Insert tape BP20, console printer core dump, in the paper tape reader. 2. Position under the read starwheels one of the delete codes beyond the program 10. Card Ready the 2501 card reader 1. Press NPRO. 2501 Ready the 1442, Model 6 or 7 2. Place the console printer core dump program card in the hopper, face down, 9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, are present, make sure the 1442 is not ready by pressing STOP on the 1442). 1. Press NPRO. 2. Place the console printer core dump program card in the hopper, face down, 9-eclge first. 3. Press START. Figure 9-1 (Part 1 of 2). 9-2 Consoll~ printer core dump operating procedure Stand-alone Utilities console printer core dump Start the dump program Press PROG RAM LOAD on the console keyboard. Temporarily interrupt the dump Yes 2. Press PROGRAM START on the console keyboard to continue No r---I I 1. Press I MM STOP on the console keyboard. ----, The dump continues until complete. I I L _____ ~_-----1 Perform a "Cold Start Procedure" to continue monitor system operations (see Chapter 7). Figure 9-1 (Part 2 of 2). Console prin ter core dump operating procedure Stand-alone Utility Programs 9-3 Stand-alone Utilities Printer Core Dump PRINTER CORE DUMP PROGRAM This program dumps core storage (in hexadecimal) beginning at location $ZEND on either the 1403 Printer or the 1132 Printer. The printer selected is the one that is ready; when both are ready, the 1403 is selected. dump format Each line begins with a 4-digit hexadecimal address that is followed by sixteen 4-digit hexadecimal words. A space separates the address and each word in the printed line. An additional space is inserted between each group of 4 words. To decrease dump time, the program does not print consecutive duplicate lines. Before printing a line, the program compares the next 16 words of core with those just primed. If they are identical, the program goes on to the next 16 words of core. The program continues comparing lines until the first line not identical to the last line printed is found. The printer then spaces a line and the 16 words of the unidenticalline are printed. The address printed at the beginning of this line is that of the first word of the unidenticalline. The materials that you need to use the Stand-alone Printer Core Dump Program are: • Printer Core Dump Program card deck, SDMP punched in column 73 through 76 -or• Printer Core Dump Program paper tape, BP19 Figure 9·2 is the operating procedure for the stand-alone Printer Core Dump Progranl. 9-4 Stand-alone Utilities printer core dump Ready the console 1. Press IMM STOP. 2. Press RESET. 3. Turn the console mode switch to RUN. Ready the printer 1. Press CARRIAGE RESTORE. 2. Press START. Ready the paper tape reader Tape Cards 1. Insert tape BP19, printer core dump program, in the paper tape reader. 2. Position under the read starwheels one of the delete codes beyond the program 10. Figure 9-2 (Part 1 of 3). Printer Core Dump Program operating procedure Stand-alone Utility Programs 9-5 Stand-alone Utilities Printer Core Dump Ready the 2501 card reader 1. Press NPRO. 2501 1442 2. Place the printer core dump program card deck in the hopper, face down, 9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, are present, make sure the 1442 is not ready by pressing STOP on the 1442). Ready the 1442, Model 6011' 7 1. Press NPRO. 2. Place the printer core dump program card deck in the hopper, face down, 9-edge first. 3. Press START. Start the dump pr09r a : - . ] Press PROGRAM LOAD cln the console keyboard. Figure 9-2 (Part 2 of 3). Printer Core Dump Program operating procedure 9-6 Stand-alone Utilities printer core dump 1132 Temporarily interrupt the dump (cannot be done when an 1132 printer is used) Yes 2. Press PROGRAM START on the console to continue. No r I I L 1. Press I MM STOP on the console keyboard. --, The dump continues until complete. I _ _ _ _ .- _ _ _ ..JI Perform a "Cold Start Procedure" to continue monitor system operations (see Chapter 7). . Figure 9-2 (Part 3 of 3). Printer Core Dump Program operating procedure Stand-alone Utility Programs 9-7 Stand-alone Utilities DCIP DISK CARTRIDGE INITIALIZATION PROGRAM (DCII?) The Disk Cartridge lnitialization Program (DCIP) is composed of: • A disk initialization subroutine • A disk copy subroutine • A disk dump subroutine • A disk patch subroutine • A disk analysis subroutine • A disk compare subroutine lnitialization of a cartridge is required before the monitor system can be loaded onto the cartridge. If sector @IDAD and/or sector @DCOM are destroyed on a disk, disk initialization is the only DCIP subroutine that can be performed on the disk. The following text describes the functions of DCIP and provides sample operating procedures for using all of the functioris of DCIP. Disk Initialization Subroutine This subroutine prepares a new disk cartridge for use and makes an old cartridge available to be used for other purposes. The initialization subroutine: • Tests sectors to determine which, if any, are defective and fills in the defective cylinder table accordingly. • Writes a sector address on every sector, including defective sectors. • Establishes a file-protected area for the disk cartridge. • Places an ID on the disk cartridge. • Establishes a disk communications area (sector @DCOM), a location equivalence table (LET), and a core image buffer (CIB). The monitor system disk I/O subroutines operate with up to 3 defective cylinders on a cartridge. That is, 3 cylinders that contain one or more defective sectors. A cartridge cannot be initialized if cylinder 0 is defective, or if a sector address cannot be written on every sector. The contents of sectors @IDAD, @DCOM, and @RIAD in cylinder 0 are established during initialization (see Chapter 2 for a general description of the contents of these sectors). A message and the program that prints it are written in sector @IDAD. The message is: THIS IS A NONSYSTEM CARTRIDGE This message is printed when an attempt is made to cold start a nonsvstem cartridge that is initialized with DCIP. Disk Copy Subroutine This subroutine copies the contents from one cartridge (the source cartridge) onto another cartridge (the object cartridge). Before the copy is performed, the subroutine checks to ensure that the cartridge being copied and the object cartridge have been initialized. The cartridge ID, copy code, and defective cylinder data are not copied from the source cartridge. 9..8 -------.--Stand-alone Utilities DCIP operating procedures Disk Dump. Subroutine This subroutine dumps sectors of a cartridge that you select on the principal printer. Each sector is preceded by a 3-word header and is printed in 20 lines; sixteen 4-digit hexadecimal words per line. Two sectors are printed on each page. The first digit of the first header word is the drive number; the remaining 3 digits are the physical sector address of the sector being dumped. The second header word is the actual address of the sector being dumped. The third word is the logical sector address, taking into account any defective cylinders. If you dump a sector that is in a defective cylinder, the third word of the header contains DEFC. Disk Patch Subroutine This subroutine allows you to change the contents, word-by-word, of selected disk sectors. The contents of the sector being modified are printed, on the principal printer, both before and after the changes are made. A one-word buffer is used to store the contents of a specified word as you are modifying it. Six special characters are used to control the use of this buffer. These characters and their functions are listed in the disk patch operating procedure in Figure 9-7 under "DCIP Operating Procedures".in this chapter. Disk Analysis Subroutine This subroutine reads each sector of a selected cartridge 16 times. If a read error occurs, the address of the sector being read is printed. You can then dump the contents of the sector in error if you wish. If a sector address is incorrect, the incorrect address is printed, and the correct address is then written on the sector. Disk Compare Subroutine This subroutine of DCIP reads the corresponding sectors of 2 cartridges and compares the contents word by word. The addresses from both cartridges of any sectors that do not compare are printed. DCIP Operating Procedures The operating procedures in this section include a program load procedure (Figure 9-3) for DCIP and procedures (Figures 9-4 through 9-9) for performing the 6 functions of DCIP. The foHowing general comments should be kept in mind while using any of the DCIP functions: 1. 2. 3. 4. 5. If a disk drive is not ready, the system halts with /50XO displayed in the ACCUMULATOR on the console display panel; X is the number of the physical drive that is not ready. If your system has 2 card readers, ready only the reader that you use for cold start. The messages printed during DCIP functions refer to the console entry switches as bit switches. All console entry switch settings that you enter are printed on the console printer as 4-digit hexadecimal numbers.' If you turn on an invalid console entry switch during any of the DCIP functions, ENTRY ERR ... RETRY is printed. To continue, turn off the incorrect switch, turn on the correct one, and press PROGRAM START. Stand-alone Utility Programs 9-9 Stand-alone Utilities OCIP operating procedures 6. A DCIP function can be stopped at any time by pressing INT REQ on the consol(~ keyboard. The system prints the DCIP option message. This gives you the choice of repeating the current function or selecting a new one. Following the option message, you can change disk cartridges or packs, if necessary, before continuing. If you wish to discontinue using DCIP at this point, perform a cold start procedUire (see Chapter 7) to make the monitor system operational. Note. If you press INT REQ while a disk is being copied or initialized, the results of the use of the object cartridge (in the copy operation) or the partially initialize:d cartridge are unpredictable. The materials that you need to perform the function of DCIP are the IBM-supplied ., DCIP card deck (DCIP punched in columns 73 through 76) or paper tape (BP16) and any of the following depending on the function you are using: • An uninitialized disk for disk initialization • A system or nonsystem cartridge and an initialized disk for the copy function. The copy function is usable only if your system can contain more than one disk at a time. • A system or nonsystem cartridge for the dump function • A system or nonsystem cartridge for the disk patch function • A system or nonsystem cartridge for disk analysis • Two system or nonsystem cartridges whose contents are supposed to be the same for the disk compare function. The compare function is usable only if your system can contain more than one disk at a time. Have all of the cartridges you are follows. ~oing to use ready before you load the DCIP program as Stand-alone Utilities load DCIP Ready the console 1. Press I MM STOP. 2. Press RESET. 3. Turn the load mode switch to RUN. Ready the printer 1. Press CARRIAGE RESTORE. Note. If the 1403 or 1132 Printer is not 2. Press START. ready when you load DCIP, or if your system does not have a 1403 or 1132, the console printer is the principal print device. Ready the disk drives to be used during the DCIP functions 1. Place the disk cartridges or packs to be used in the disk drives. 2. Turn the disk drives on (see Chapter 7 for more information about readying disk drives). Figure 9-3 (Part 1 of 4). Load DCIP operating procedure Stand-alone Utility Programs 9-11 Stand-alone Utilities load DCIP Ready the paper tape reader Tape 1. Insert tape BP16, Disk Cartridge Initialization Program, in the paper tape reader. 2. Position under the read starwheel one of the delete codes beyond the program 10. Cards Ready the 2501 Card Reader 1. Press NPRO. 2501 1442 Ready the 1442, Model 6 .I)r 7 1. Press NPRO. 2. Place the Disk Cartridge Initialization Program card deck in the hopper, face down, 9-edge first. 3. Press START. Figure 9·3 (Part 2 of 4). Load DCIP operating procedure 9-12 2. Place the Disk Cartridge Initialization Program card deck in the hopper, face down,9-edge first. 3. Press START (if both a 2501 and a 1442, Model 6 or 7, arEt present, make sure the 1442 is not ready by pressing STOP on the 1442). Stand-alone Utilities load DCIP Start the loading of DCIP Press,PROGRAM LOAD on the console. Continue the reading of tape BP16 Yes 2. Press PROGRAM START again when the system waits with IOOC9 in the ACCUMULATOR. No r--I I I I I I I 1. Press PROGRAM START on the console. - ---, DCIP is read into core storage and the system prints: TURN ON: SWO TO INITLZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4TOANALYZE SW5TOCMP I L ':'W~~N~LZ N~ ~S~ _ I I I I I I I .J Figure 9-3 (Part 3 of 4). Load DCIP operating procedure Stand-alone Utility Programs 9-13 Stand-alone Utilities load DCIP SeSect the DCIP function to be performed 1. Turn off all console entry switches. 2. Turn on the console entry switch that corresponds to the DCI P function you are dOing. 3. Press PROGRAM STAFIT. If switch 0 or 6 is on If SWi1[ch 1 is on Figure 9-4 Figure 9-5 Figure 9-6 If switch 3 is on Figure 9-7 If swi·tch 4 is on Figure 9-8 lif switch 5 is on Figure 9-9 Figure 9-3 (Part 4 of 4). Load DCIP operating procedure 9-14 > > > > > > Stand-alone Utilities DCIP initialize procedure (:) 'r\_ - --., con~e prin~. J r- - -I ENTER DR NO. (BITS 12-15) L ~ p.::te'::':>n'-:he _ Initialize a cartridge 1. Turn off console entry switch O. 2. Enter through console entry switches 12 through 15 the physical drive number ( in binary) of the drive that contains the cartridge being initialized. 3. Press PROGRAM START ENTE R CART I D is printed. 4. Turn off all console entry switches. 5. If the pack has not been previously initialized, be sure that the access arm is at Sector O. On a 2311 cartridge, turn off the disk drive and' turn it on again before initializing each disk surface. A valid cartridge ID is a hexadecimal number between /0001 and 17FFF. 6. Enter through the console entry switches the cartridge I D (binary representation ). The cartridge ID you entered is printed, and the system waits with the cartridge ID in hexadecimal displayed in the ACCUMULATOR. 7. Press PROGRAM START. Interrupt the initialize function to reenter the physical drive number and the cartridge I D. No Press INT REO. r --;'~D~ ~i;-m;;age is l Start initialization I I Press PROGRAM START again. rI -- I I ----,I The cartridge is initialized. The entire surface is cleared, disk addresses are written, and three distinct patterns are written on each sector and read back for testing purposes. L _ I I _ _ _ _ JI I I I L -1 I printed. TURN ON: SWO TO INITLZ SW1 TO COPY SW2 TO DUMP SW3 TO PATCH SW4 TO ANALYZE SW5 TO CMP I I I I I _S~ T~I~L~E~D~K_ .J Restart the initialize function 1. Turn off all console entry switches. 2. Turn on switch O. 3. Press PROGRAM START. Figure 9-4 (Part 1 of 5). Operating procedure for DCIP initialize function Stand-alone Utility Programs 9-15 Stand-alone Utilities DCIP initialize procedure r - - ---, Any of the following messages are printed: NO DEF CYLS (if all of the cartridge is usable) or DEF CYLS: XXXX ... (if defective cylinders are fClund) and/or DEF CART (if more than 3 defective cylinders are printed in the previous message. This message is also printed if cylinder 0 is defective, or if sector addresses cannot be written on every sector.) After any of the previous messages are printed, this message is pri nted: TURN ON SWO FOR MORE TESTING L ________,__ ..J '~ Yes Figure 9-4 (Part 2 of 5). Operating procedure for DCIP initialize function 9-16 Stand-alone Utilities DCIP initialize procedure Continue testing the cartridge 1..Turn off all console entry switches. 2. Turn on switch O. 3. Press PROGRAM START. ENTER REPEAT CNT: (BITS 11-15) is printed. 4. Enter through console entry switches 11 through 15 the A maximum of 31 (decimal) can be entered. number (in binary) of times you want the cartridge tested. (This provides an additional opportunity to find marginal cylinders and reduce chances of disk errors later on.) 5. Press PROGRAM START. r I I I L - - - _... - - --, Initialization is repeated. Each cylinder is tested the number of times you specified. I I _ _ _ _ JI Figure 9-4 (Part 3 of 5). Operating procedure for DCIP initialize function Stand-alone Utility Programs 9-17 Stand-alone Utilities DCIP initialize procedure Continue or finish DCIP operations 1. Turn off all console entry switches. 2. Press PROGRAM START. --- --, r --The DCI P option message is I I printed. I I I I I L TURN ON: SWO TO INITLZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TOCMP SW6 TO INITLZ NEW DISK Note. If your system has 2311 Disk Storage Drives, be sure all disks in a disk pack are initialized. I I I I I ..J Do one of the following: No Yes Perform a "Cold Start Procedure" (see Chapter 7) from a system cartridge. Perform an initial system load on the cartridge just initialized (see Chapter 8). Figure 9-4 (Part 4 of 5). Operating procedure for DCIP initialize function 9-18 Stand-alone Utilities DCIP initialize procedure Select the DelP function to be performed 1. Change cartridges or packs and ready the disk drives, if necessary. 2. Turn off all console entry switches. 3. Turn on the console entry swi~ch that corresponds to . the DCIP function you are doing. 4. Press PROGRAM START. If switch 0 or 6 is on Figure 9-4 If switch 1 is on Figure· 9-5 If switch 2 is on Figure 9-6 If switch 3 is on Figure 9-7 If switch 4 is on Figure 9-8 If switch 5 is on Figure 9-9 Figure 9-4. (Part 5 of 5). Operating procedure for DCIP initialize function Stand-alone Utility Programs 9-19 Stand-alone Utilities DCI P copy procedure I---~- I I I -, I I ENTER: SOURCE DR (BITS 0-3) OBJECT DR (BITS 12-15) is printed on the console printer. I ..J L- 1 Copy a cartridge 1. Turn off console entry switch 1. 2. Enter through console entry switches 0 through 3 the physical drive number (in binary) of the drive that contains the cartridge being copied (source drivel. 3. Enter through console switches 12 through 15 the physicaM drive number (in binary) of the drive that contains the cartridge onto which information is being copied (object drive). 4. Press PROGRAM START. The source and object cartridge I D's are printed as follows: SRC 10 = XXXX OBJ 10 = YYYY A system wait follows. No Interrupt the copy function to reenter the physical drive numbers for the source and object drives. Press INT REO. Yes Start the copy function Press PROGRAM I STA~I~ Figure 9-5 (Part 1 of 8). Operating procedure for DCIP copy function 9-20 Stand-alone Utilities DCIP copy procedure The OCIP option message is printed. TURN ON: SWO TO INITLZ SW1 TO COPY SW2 TO DUMP SW3 TO PATCH SW4 TO ANALYZE SW5 TO CMP SW6 TO INITLZ NEW DISK Restart the copy function 1. Turn off all console entry switches. 2. Turn on switch 1. 3. Press PROGRAM START. r I Yes No I I I I I I I L ------SOURCE or OBJECT is printed in place of X. , I I The DCI P option message is printed. TURN ON: SWOTO INITLZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TO CMP S~6~I~LZNE~D~ I I I I I I --.I Figure 9-5 (Part 2 of 8). Operating procedure for DCIP copy function Stand-alone Utility Programs 9-21 Stand-alone Utilities DCIP copy procedure -, . -----I The object cartridge is a DM2 No I UCART mastef cartridge. I The DCI P option message is printed. I I I I TURN ON: SWO TO INITLZ SW1 TO COpy SW2 TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TO CMP I L ~62.0 ~TLZ N~ ~K_ The object cartridge is a DM2 system cartrdige I I I -.J -, I ..J No Continue Contir1ue the copy function Press PROGRAM START. Figure 9-5 (Part 3 of 8). Operating procedure for DCIP copy function 9-22 Stand-alone Utilities DCIP copy procedure .., r I I L Copying of the specified cartridge begins. Interrupt the copy function to begin initialization Press I NT REO . I I .-J -- --r THe DCI P option message is I I I I I I printed. TURN ON: SWO TO INITLZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TO CMP SW6 TO INITLZ NEW DISK L - -- --- --, I I I I I I _J Initialize the cartridge 1. Turn off all console entry switches. 2. Turn on switch O. 3. Press PROGRAM START. Figure 9-4 Figure 9-5 (Part 4 of 8). Operating procedure for DCIP copy function Stand-alone Utility Programs 9-23 Stand-alonl9 Utilities DCI P copy procedure - - -- ----, r The contents (less defective I cylinder data and the carUidge I I I I D) of the sou rce cartridgo are I I I I I I I L copied onto the object cartridge. Word 5 of sector @IDAD I)f the source cartridge is incremonted by one when written on the object cartridge. Because of this, the copy number of the object cartridge is always one greater than the copy number of the source cartridge. I I I I I I ____ ...1 r---------, I I A disk read, write, or seek error has occurred. Yes I I I I No I /5003 is displayed in the ACCUMULATOR The ACCUMULATOR EXTENSION contains /XYYY, where X is the drive code, and YYY is the address of the sector in error. IL ____ Figure 9-5 (Part 5 of 8). Operating procedure for DCIP copy function I I I I I ___ .J Stand-alone Utilities DCIP copy procedure No Yes Have sector in error rewritten or reread Continue copy function 1. Turn off all console entry switches. 1. Turn off all console entry switches. 2. Turn on console entry switch O. 2. Press PROGRAM START. 3. Press PROGRAM START. r I I I L r -------- l The sector in error is rewritten or reread and the copy function continued. --- I ____ JI I I I L - -- - -- -, The read or write error is ignored, and the contents of the object cartridge reflect the last attempt to copy the sector in error. --- - - - I I I .J Figure 9-5 (Part 6 of 8). Operating procedure for DCIP copy function Stand-alone Utility Programs 9-25 Stand-alone Utilities DCIP copy procedure r I I I I I I I The copy function is comple:ted and the DCI P option messagE~ is printed. TURN ON: SWOTO INITLZ SW1 TO COPY SW2TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TOCMP SW6 TO INITLZ NEW DISK L -- - - - - I I I I I I I I ...J No Yes Figure 9-5 (Part 7 of 8). Operating procedure for DCIP copy function 9··26 Perform a "Cold Start Procedure" (see Chapter 7) to make the system operational. Stand-alone Utilities DCIP copy procedure Select the DCIP function to be performed 1. Change cartridges or packs and ready the disk drives, if necessary. 2. Turn off all console entry switches. 3. Turn on the console entry switch that corresponds to the DCIP function you are doing. 4. Press PROGRAM START. If switch 0 or 6 is on Figure 9-4 If switch 1 is on If switch 2 is on Figure 9·5 Figure 9·6 If switch 3 is on Figure 9·7 If switch 4 is on Figure 9·8 If switch 5 is on Figure 9·9 Figure 9-5 ,(Part 8 of 8). Operating procedure for DCIP copy function Stand-alone Utility Programs 9-27 Stand-alone Utilities DCIP dump procedure r---------l IENTER ... PHYS DR NO. (BITS 0-3). I SECTR ADDR (BITS 4-15)1 lis printed on the console printer I L __________ J Dump specified sectors of ,a disk cartridge 1. Turn off console entry switch 2. 2. Enter through console entry switches 0 through 3 the physical drive number (in binary) of the drive that contains the cartridge from which data is being dumped. The sector address is. right-adjusted hexadecimal number, maximum 10657. (A logical sector address, obtained from LET or FLET, must be adjusted for defective cylinders.) 3. Enter through the console entry switches 4 through 15 tho physical address of the first sector being dumped. 4. Press PROGRAM STARl: ENTER NO. OF SCTRS TO DUMP is printed. 5. Enter through the console entry switches the number of consecutive sectors to be dumped. The number is a right-adjusted hexadecimal value; the maximum value depends on tne starting address entered In Step 2. 6. Press PROGRAM START. r I I I L ---------, I ()umping of the cartridge begins. I I .J Figure 9-6 (Part 1 of 4). Operating procedure for DCIP dump function 9-28 Stand-alone Utilities DCIP dump procedure ---------, A disk read error has occurred. I I ..J No No Yes Have sector in error reread 1. Turn off all console entry switches. 2. Turn on switch O. 3. Press PROGRAM START. ----, r I I The sector in error is reread. I I _ _ _ ..J L Continue dump function 1. Turn off all console entry switches. 2. Press PROGRAM START. Figure 9-6 (Part 2 of 4). Operating procedure for DCIP dump function Stand-aione Utility Programs 9-29 Stand-alone Utilities DCIP dump procedure r I I -Th:ea;:rror is ignored. The .., sector in error is printed as it was last read, and the dump continues. L r---- I I I I I I I I L ___ ,_J -._.- -, The dump continues until al\ the specified sectors are dumped. I I The DCI P option message is printed. I TURN ON: SWOTO INITLZ SW1 TO COpy SW2TO DUMP SW3TOPATCH SW4 TO ANALYZE SW5TO CMP !..W6..!O !!:!!TLZ N~ D~K_ I I I I I .J No Yes Figure 9-6 (Part 3 of 4). Operating procedure for DCIP dump function 9-30 I I Perform a "Cold Start Procedure" (see Chapter 7) to make the system operational. Stand-alone Utilities DCIP dump procedure Select the DCIP function to be performed 1. Change cartridges or packs and ready the disk drives, if necessary. 2. Turn off all console entry switches. 3. Turn on the console entry switch that corresponds to the DCIP function you are doing. 4. Press PROGRAM START. If switch 0 or 6 is on Figure 9-4 If switch 1 is on -1 ~------------, Figure 9-5 > '----- If switch 2 is on Figure 9-6 If switch 3 is on Figure 9-7 If switch 4 is on Figure 9-8 If switch 5 is on Figure 9-9 Figure 9-6 (Part 4 of 4). Operating procedure for neIP dump function Stand-alone Utility Programs 9-31 Stand-alone Utilities DCIP patch procedure r - I I I L - - - -. --, ENTER: PHYS DR NO. (BITS 0··3) SeTR ADDR (BITS 4-~ 5) is printed on the console printer. ~--- I I I ...J Start the patch function 1. Turn off console entry switch 3. 2. Enter through console ,en try switches 0 through 3 the physical drive number lin binary) of the drive thclt contains the cartridge being patched. 3. Enter through console entry switches 4 through 15 the address of the sector boing patched 4. Press PROGRAM ST AIRT. 5. Enter through the com,ole enrty switches the relative address of the sector word being changed. 6. Press PROGRAM START. The sector address is a right-adjusted hexadecimal number, maximum /0657. The specified sector i~ dumped, and the following message is printed: ENTER RLTV ADDR OF SCTR WD TO CHANGE. The relative address of the sector word is a right-adjusted hexadecimal number in the range /0000 through /013F . . Note: If the sector address is being changed, enter /FFFF (-1). The KEYBOARD SELECT indicator on the console keyboard is turned on. Figure 9-7 (Part 1 of 4). Operating procedure for DCIP patch function 9-32 Stand-alone Utilities DCIP patch procedure .---y----, I I I I I Six special character keys of the console keyboard are used to control patch functions. The 6 keys and their functions are: EOF - causes the last 4 hexadecimal characters entered through the keyboard to be stored at the relative address displayed in the ACCUMULATOR EXTENSION. > - causes the relative address in the ACCUMULATOR EXTENSION to be incremented by one word. < - causes the relative address in the ACCUMULATOR EXTENSION to be decremented by one word. The address cannot be decremented past the first data word (relative address /0000) by this character. /FFFF must be entered through the keyboard. R - causes printing of the message that requests the relative address of the sector word to be changed. Thus, the relative address can be changed by more than one word. - causes all remaining words of the sector from the address in the ACCUMULATOR EXTENSION to the end of the sector to be filled with the last 4 hexadecimal characters entered through the keyboard. Then patching is terminated. * - terminates the patch function. The modified sector is stored on the disk, and is dumped to the principal printer. L Figure 9-7 (Part 2 of 4). Operating procedure for DCIP patch function Stand-alone Utility Programs 9-33 Stand-alone Utilities DCIP patch procedure Continue the patch function 1. Enter through the keyboard the 4 hexadecimal characters that comprise the newword to be stored. The characters are printed on the console printer as you enter them. 2. Use any of the special control characters previously listed to perform the desired patch functions. ENTRY ERR ... RETRY is printed if you press an i nval id key; use the correct key to continue. No .,-----, The DCIP option message is printed. TURN ON: SWO TO INITLZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4 TO ANAL Y:ZE I I I I I I I Figure 9-7 (Part 3 of 4). Operating procedure for DCIP patch function 9-34 Stand-alone Utilitie~ DCIP patch procedure Select the DCIP function to be performed 1. Change cartridges or packs and ready the disk drives, if necessary. 2. Turn off all console entry switches. 3. Turn on the console entry switch that corresponds to the DCIP function you are doing. 4. Press PROGRAM START. If switch a or 6 is on Figure 9-4 If switch 1 is on Figure 9-5 If switch 2 is on Figure 9-6 If switch 3 is on Figure 9-7 If switch 4 is on Figure 9-8 If switch 5 is on Figure 9-9 Figure 9-7 (Part 4 of 4). Operating procedure for DCIP patch function Stand-alone Utility Programs 9-35 Stand-alone Utilities DCIP analysis procedure r----------, I I L --=-=-r -- ENTER DR NO. (BITS 12-15) is printed on the console keyboard. I I _J Start the analyzing of disk sectors 1. Turn off console enrty switch 4. 2. Enter through console entry switches 12 through 15 the physical drive number (in binary) of the drive that contains the cartridge beiing analyzed. 3. Press PROGRAM STAR1r. r--: -----, Each disk sector is read 16 times. L __ _ I ____ --.II --------, I ____ JI A disk read error has occurred. No Yes Figure 9-8 (Part 1 of 4). Operating procedure for DCIP analysis function 9-36 Stand-alone Utilities DCI P analysis procedure Dump the sector in error 1.. Turn all console entry switches off. 2. Turn on console entry switch O. 3. Press PROGRAM START. r---I I IL -----, The sector containing the error is dumped, and sector analysis continues. ___ _ I ___ ...1I Continue disk analysis 1. Turn off all console entry switches. 2. Press PROGRAM START. Figure 9-8 (Part 2 of 4). Operating procedure for DCIP analysis function Stand-alone Utility Programs 9-37 Stand-alone Utilities DCIP analysis procedure r I An incorrect sector address has been read. I The system writes the correct sector address on the disk, and sector analysis continues. Yes I L Disk analysis continues until all sectors have been analyzed. I The DCIP option message is printed. I TURN ON: SWOTO INITlZ SW1 TO COpy SW2TO DUMP SW3TO PATCH SW4 TO ANALYZE SW5TO CMP I I I I I L ~6 ~ '~TLZ N':'~ ~~S':... - - - I _ .J Perform a "Cold Start Procedure" (see Chapter 7) to make the system operational. Yes Figure 9-8 (Part 3 of 4). Operating procedure for DCIP analysis function -, I I I I - -- ..J I I I I No 9-38 - --, r--I I - - - - - - _.- Stand-alone Utilities DCIP analysis procedure Select the DCIP function to be performed 1. Change cartridges or packs and ready the disk drives, if necessary. 2. Turn off all console entry switches. 3. Turn on the console entry switch that corresponds to the DCIP function you are doing. 4. Press PROGRAM START. If switch 0 or 6 is on Figure 9-4 If switch 1 is on Figure 9-5 If switch 2 is on Figure 9-6 If switch 3 is on Figure 9-7 I f switch 4 is on Figure 9-8 If switch 5 is on Figure 9-9 Figure 9-8 (Part 4 of 4). Operating procedure for DCIP analysis function Stand-alone Utility Programs 9-39 Stand-alone Utilities DCIP compare procedure r ENTER: SOURCE DR (BITS 0-3) OBJECT DR (BITS 12-15) is printed on the console printer. I I I L l I ! ____ .J Start the compare function i. Turn off console entry switch 5. 2. Enter through console entry switches 0 through 3 the physical drive number (in binary) of the drive that contains one of the cartridges being compared (source drive). 3. Enter through console G.1try switches 12th rough 15 the physical drive number (in binary) of the drive that contains the other cartridge that is being compared (object drive)' 4. Press PROGRAM START. The program compares each logical sector of the source cartridl~e with its counterpart on the object cartridge. If the contents of the 2 sectors do not compare, this message is printed: CMP ERR ON SCTRS xxx:< yyyy The compare function continues until it is complete. The DCI P option messc'Jge ili printed. L TURN ON: SWO TO INITLZ SWl TO COPY SW2TO DUMP SW3 TO PATCH SW4TO ANALYZE SW5 TO CMP SW6 TO INITLZ NEW DISK Figure 9-9 (Part 1 of 2). Operating procedure for DCIP compare function 9-40 Stand-alone Utilities DCIP compare procedure Compare more cartridges 1. Change cartridges or packs and ready the disk drives. if necessary. Yes 2. Turn off all console entry switches. 3. Turn on console entry switch 5. No 4. Press PROGRAM START. No Perform a "Cold Start Procedure" (see Chapter 7) to make the system operational. Yes Reload the DCIP Program (Figure 9-3), If one of the DCIP functions other than CMP is selected, this message is printed: CMP OPTION USED ... RELOAD DCIP Figure 9-9 (Part 2 of 2). Operating procedure for DCIP compare function Stand-alone Utility Programs 9-41 Stand-alone Utilities paper tape reproducing procedure PAPER TAPE REPRODUCING PROGRAM This program, available only with the paper tape system, copies information from one paper tape onto another. The program reads and punches characters with no intermediate conversion. The materials that you need to reproduce paper tapes are: • The Paper Tape Reproducing Program tape, BP18 • The tape being reproduced • Blank tape Figure 9-10 is the operating procedure for the stand-alone paper tape reproducing program. Load the paper tape r'eprclducing program, BP18 1. Insert tape BP18 in thl3 paper tape reader. 2. Position under thE! read starwheels one of tht;l delete codes beyond the program 10. 3. Move the console mode switch to RUN. 4. Press IMM STOP on the console. 5. Press RESET on the console. 6. Press PROGRAM LOA,D on the console. The program is read into core storage, and the system waits with /1111 displayed in the ACCUMULATOR. 7. Remove BP18 from the paper tape reader. Ready a tape to be reproduced 1. Insert the paper tape that is to be reproduced. 2. Position under the readl starwheels one of the delete codes. Figure 9-10 (Part 1 of 4). Paper tape reproducing 9-42 op~rating procedure Stand-alone Utilities paper tape reproducing procedure Ready a blank tape 1. Insert the blank tape in the paper tape punch. 2. Press the DE LETE key on the punch and hold down to punch several inches of delete codes in the tape. Do not release t~e DELETE key. 3. With the DELETE key held down, press the FEED key and hold down to punch a header of sufficient length. 4. Release the FEED key before the DE LETE key. Start the paper tape reproduction operation Press PROGRAM START on the console. Temporarily interrupt the tape reproducing program '(es No 1. Press PROGRAM STOP on the console. 2. Press PROGRAM START on the console to continue. .Figure 9-10 (Part 2 of 4). Paper tape reproducing operating procedure Stand-alone Utility Programs 9-43 Stand-alone Utilities paper tape reproducing procedure -, r I I I The paper tape reproducing program continues until either the paper tape reader or punch becomes not ready. I I I 12222 displayed in the ACCUMULATOR indicates that the paper tape reader ready. I ..J I L jis not 13333 displayed in the ACCUMULATOR indicates that the paper tape punch is not ready. Ready the paper tape punch 1. Insert a blank tape in the paper tape punch. Punch 2. Punch several inches of deletl' codes and a header. 3. Press PROGRAM START on the console keyboard. Reader Ready the paper tape reader 1. Insert the next tape to be reproduced. Yes No 2. Position, under the read starwheels, one of the delete codes. 3. Press PROGRAM START on the console keyboard. Figure 9-10 (Part 3 of 4). Paper tape reproducing operating procedure 9-44 Stand-alone Utilities paper tape reproducing procedure r--I I I I I --- -, An unlimited number of tapes can I be reproduced with this procedure. I Be sure to punch a trailer and header in the output tape after I each tape is reproduced. This is I done so that the output tape can I be cut apart after the reproducing procedure is completed. I I __ _ L ---......I Finish procedure 1. Punch a trailer of delete codes in the output tape. 2. Remove the tapes from the paper tape reader and punch. Perform the "Cold Start Procedure" in Chapter 7 to make the monitor system operational. Figure 9-10 (Part 4 of 4). Paper tape reproducing operating procedure Stand-alone Utility Programs 9-45 Stand-alon.~ Utilities Loadino PTUTL STAND-ALONE PAPER TAPE UTILITY PROGRAM (I'TUTL) This program, available only with the paper tape system allows you to enter records from the the 1134 Paper Tape Reader or the console keyboard. Program output is to the 1055 Paper Tape Punch and/or the console printer. This program is also included as an executable program in the Monitor System Library (see Chapter 4). The materials that you net:d to use the PTUTL program are: • The PTUTL (Paper Tape Utility Program) tape, BP17 • Blank tape if output from the PTUTL program is to be punched into tape • Previously punched tape if they are being changed Figure 9-11 is the operating procedure for loading the stand-alone PTUTL program, and Figure 9-12 is the operating procedure for using both the stand-alone PTUTL and the PTUTL mainline program from the system library. Load the PTUTL Program, BP17 1. I nsert the PTUTL tape, BP17, in the paper tape rreador. 2. Position one of the delete codes beyond the prollram 10 under the read starwheels. 3. Move the console modle switch to RUN. 4. Press I MM STOP on the console. 5. Press RESET on the console. 6. Press PROGRAM the console. LOt~D on 7. Press PROGRAM START to finish the reading of PTUTL. When the reading of B?17 is complete, the system waits with IOOC9 in the ACCUMULATOR. 8. Press PROGRAM START again. The system waits with 11111 in the ACCUMULATOR. Figure 9-11. Loading the stand-alone PTUTL tape 9-46 The core image program is read into core storage, and the system waits with I006C displayed in the ACCUMULATOR. displa~'ed Stand-alone Utilities PTUTL operating procedure Read system library version of PTUTL into core System library 2. Press PROGRAM START on the console keyboard. Stand-alone r- I I I L -- 1. Insert the tape that j ncl udes the II XEa PTUTL control record. --. -, I I I _ _ _ .J The system halts with 11111 displayed in the ACCUMULATOR on the console display panel. Ready the paper tape reader Paper tape 1. Insert the source tape. 2. Position under the read starwheels one of the delete codes. Keyboard Ready the paper tape punch Paper tape 1. Insert a blank tape in the paper tape pu nch. 2. Punch several inches of delete codes and a header. Console printer Figure 9-12 (Part 1 of 4). PTUTL operating procedure Stand-alone Utility Programs 9-47 Stand-alone Utilities PTUTL operating procedure Make changes andlor additions 1. Turn on the appropriate console entry switches to perform the PTUTL functions you want. Console entry switch on o PTUTL function performed Print record after reading Read records from the paper tape reader 2 Accept keyboard inlPut 3 Punch records on the paper tape pu nch 14 Wait after punching with 13333 in the ACCUMULATOR 15 Wait after printing with 12222 in the ACCUMULATOR All other console entry switches must be off. 2. Press PROGRAM STAI1T. Figure 9-12 (Part 2 of 4). PTUTL operating procedure 9-48 Stand-alone Utilities PTUTL operating procedure r I I The indicated functions are performed. --, I If you want to omit a record just read and printed (switches 0, 1, and 15 on) from an output tape, do not change the switches and press PROGRAM START again. A record just read and printed (switches 0, 1, and 15 on) is replaced by keyboard input if you turn on console entry switch 2 just before pressing PROGRAM START. The system subroutine TYPEO is used by PTUTL during keyboard input. These operating features of that subroutine apply: 1. An input record cannot exceed 80 characters. 2. Pressing the backspace key the last character entered. (~) canceis 3. Pressing ERASE FIELD cancels the entire record so you can reenter the record. 4. Pressing EOF indicates that input of a record is complete. L __ _ - - - --' . Figure 9-12 (Part 3 of 4). PTUTL operating procedure Stand-alone Utility Programs 9-49 Stand-alone Utilities PTUTL operating procedure Yes Finish procedure 1. Turn off all console entry switches. 2. Press PROGRAM START. Standalone System library Continue with next monitor Job 1. Insert the tape for the next monitor job to be processed. 2. Press PROGRAM START. Figure 9-12 (Part 4 of 4). PTLITL operating procedure 9-50 Perform the "Cold Start Procedure" in Chapter 7 to make the monitor system operational. Stand-alone Utilities PTUTL example PTUTL Example This example shows you how to change previously punched records. Assume that the following records are punched in a tape: II JOB II * (comments record) II ASM II DUP ASM control records Source program You have decided to alter the comments record, insert a II PAUSE control record after the comments record, and delete the II DUP control record. The procedure you follow is: System response Your action The system waits with /1111displayed in the ACCUMULATOR on the console display panel. 1. Load into core storage and start execution of PTUTL. 2. I nsert the sou rce tape and ready the paper tape punch and the console printer. Punch a leader of delete codes in the output tape. 3. Turn on console entry switches 1, 3, and 14. 4. Press PROGRAM START. 5. In addition to the console entry switches already turned on, turn on 0,2, and 15. 6. Press PROGRAM START. The comments record is read and printed on the console printer. The system waits with /2222 in the ACCUMULATOR. 7. Press PROGRAM START again. The K.B. SELECT indicator on the console keyboard turns on and /3333 is displayed in the ACCUMULATOR. 8. Enter the new comments record in the proper format. 9. Press EOF. 10. Turn off console entry switch 1. 11. Press'PROGRAM START. 12. Enter the 13. Press EOF. 14. Turn off console entry switches 0,2, and 15. The /I JOB control record is read, punched in the output tape, and the system waits with /3333 in the ACCUMULATOR. The new comments record is punched in the output tape; the system waits with /2222 in the ACCUMULATOR. The K.B. SELECT indicator turns on, and /3333 is displayed in the ACCUMULATOR. /1 PAUS control record. The /I PAUS control record is punched in the output tape; the system waits with /2222 in the ACCUMULATOR. Stand-alone Utility Programs 9-51 Stand-alone Utilities PTUTl. example Vouraction 9-52 System response 15. Turn on console entry switch 1. (Switches 3 and 14 sho,uld still bean.) 16. Press PROGRAM STABT. 17. Turn off all console en1try switches except 1. 18. Turn on console entry switches 0 and 15. 19. Press PROGRAM STAHT. The /I DUP record is read and printed on the printer but is not punched in the output tape. The system waits with /2222 in the ACCUMULATOR. 20. Press PROGRAM STAHT again. The next input record is read into the I/O buffer, overlaying the /I DUP control record. (The /I DUP control record is deleted.) 21. Turn off console entry :!lWitches O'and 15. 22. Turn on console entry switch 3. (Switches 1 and 3 should be on.) 23. Press PROGRAM STAR:T. 24. Turn off all console entry switches. 25. Press PROGRAM START. The // ASM control record is read and punched in the output tape; the system waits with 13333 in the ACCUMULATOR. The remainder of the source tape is read in and reproduced in the output tape, record for record. The paper tape reader not-ready wait (13005 in the ACCUMULATOR) occurs when all of the source tape has been reproduced. A CALL EXIT is executed. Chapter 10. Remote Job Entry Program The remote job entry (RJE) feature of the IBM System/360 Operating System allows you to enter jobs into the operating system job stream via communication lines from terminals (work stations) at distant locations. RJE includes a unique job entry control language (JECL) that controls operations of the work station. For a general description of RJE, RJE terminology, and JECL, see the publication IBM System/360 Operation System Remote Job Entry, GC30-2006. This chapter provides information for operators and programmers using an 1130 as a remote work station in an RJE environment, and describes machine and device requirements, input and output at the work station, communication considerations, operating procedures, user-exit subroutine, and generation and loading of the work station program. Messages printed by the RJE program are included in Appendix A. MACHINE AND DEVICE REQUIREMENTS The RJE program for an 1130 work station requires at least an 1131 Central Processing Unit, Model2B, a card reader,and a line printer (with a 120 character print line). The 1130 computing system must be connected to a 600-2400 bit-per-second line VIa a synchronous communications adapter in binary mode. An optional compress-expand feature requires 16K words of core storage if the 1132 Printer is used, or 8K words if the 1403 Printer is used. The compress-expand feature eliminates blanks from data transmitted across the communication line. An IBM-supplied RJE exit subroutine stores data from your IBM System/360 Operating System job on an 1130 disk. The data thus stored can be processed by other programs that you write. You can write an exit subroutine to replace the one supplied by IBM and direct the output from your System/360 job to any available 1130 I/O device. When you write an exit subroutine, an 1130 system with 16K words of core storage is required. Information about writing an exit subroutine is included under "User-Exit Subroutine" in this chapter. COMMUNICATiON CONSIDERATIONS The 1130 RJE Wor~ Station Program provides the standard RJE communications interface to the System/360 Operating System (the operating system) RJE communications network by using the SCAT2 and SCAT3 binary synchronous communications subroutines. These subroutines are stored in the monitor system library and provide the following capabilities: • Point-to-point contention operation on leased lines • Point-to-point operation on switched lines • Multipoint operation with the 1130 system as slave station All data transmissions between the operating system and an 1130 work station are in EBCDIC transparent mode, except headings, which are transmitted in normal mode. The 1130 RJE Work Station Program communicates with the operating system in 3 modes: monitor, receive, and transmit. monitor mode The work station program enters monitor mode from either transmit or receive mode. In this mode, the work station waits for output from the communication line or input from the card reader or console keyboard. Remote Job Entry Program 10-1 receive mode The work station. program enters receive mode when output is available for the work station. in this mode, the work station program reads output from the line until it receives an end-of-data indication from the operating system or until the operator discontinues the output (presses PROGRAM STOP on the console keyboard). The work station program then enters monitor mode. transmit mode This mode is entered at work station startup and when input is available at the work station. The work station program writes to the communication line in transmit mode. Transmission to the line continues until a logical end of file (the .. null command) or an RJEND command is encountered in the input stream. (RJE work station commands are described in the publication IBM System/360 Operating System Remote Job Entry, GC30-2006.) If monitor mode is entered from transmit mode with a logical end-of-file indication caused by a .. null command, transmit mode is not entered again until operator intervention indicates that more input is available. Communication Considerations for Switched Lines The operating system disconnects the line if a switched communication line is inactive for a period of approximately 21 seconds. This occurs when: • A work station output device error is not corrected within the specified time. • A user-written exit subroutine fails to return control within the specified time (see "User-Exit Subroutine" in this chapter). • An operator response to an RJE message is not entered within the specified time. Note. Some RJE messages allow approximately 3 minutes for an operator response. The RJE Work Station Program operator messages are included in Appendix A. INPUT AT THE WORK STATION Input to the RJE program is accepted from the card reader, the keyboard, and from one or more disk storage units. card input System/360 jobs (with or without JED statements) and job entry control language (JECL) statements are accepted as input from the card reader. The first JECL statement at work station startup must be an RJSTART command submitted from the card reader. After that, JECL statements are not sequence checked. keyboard input The only valid input from the keyboard is work station commands and responses to RJE operator messages. Input is accepted from the keyboard between jobs being entered from the card reader when the operator indicates that he has input to submit (only in a point.-to-point line configuration). The 1130 RJE Work Station Program checks this input. only for the JECL identifier (. .. followed by at least one blank). disk input A special 1130 RJE control card is used to specify that input is from one or more disk storage units. This control card, .. DATA, is described under" JECL for the 1130 Work Station" in this chapter. A .. DATA control card can be placed in the card input stream or on d;isk. 1130 work station commands are placed on disk with the STOREDAT AE operation of the Disk Utility Program (see "DUP Control Records" in Chapter 5). The .. DATA control card contains information that allows the RJE program to read input alternately from the card reader and from the disk. Data to be read from disk must be stored there prior to RJE processing by you. This data must be stored in 80-character records in 8-bit packed code (EBCDIC) format (eight records per disk sector) in consecutive sectors. Data can be stored on disk by: • Using the STOREDATAE function of the Disk Utility Program prior to executing the RJE Work Station Program • Specifying that output from a job be placed on a disk 10-2 After the information on disk has been read to the end of file (see "JECL for the 1130 Work Station" in this chapter for a description of the end-of-file indications), the RJE program resumes reading from the card reader. Note. Although work station commands can be submitted from disk, only System/360 jobs and input data sets are recommended to be placed on disk in order to simplify work station operation. changed LOGON affect on input If you are logged on because of a LOGON command entered from the card reader or disk, and you enter a new LOGON command from the keyboard, all pending input meant for the previous LOGON from the card reader and/or disk is submitted under the new LOGON ID entered from the keyboard. To prevent this, the LOGON that was entered from the card reader or disk must be resubmitted as the last command entered from the keyboard before card or disk input is continued. Generation of the 1130 RJE Work Station Program The 1130 RJE Work Station Program is supervised by the 1130 Disk Monitor System Version 2. You store the IBM-supplied RJE program in the user area by using the *STORE function of the Disk Utility Program (DUP). You then define your work station configuration by executing a program that is part of the RJE program and that is named RJEOO. This program reads a data card that you code with the following optional parameters: [ LlNE=P ] LlNE=S LlNE=M (x,y) ,UEXIT=(addreSs 1, address 2)J [,COMPRESS=NO J [ ,UEXIT=USER ,COMPRESS=YES LINE=P specifies that the work station is connected over a point-to-point leased line. LINE=S specifies that the work station is connected over a point-to-point switched line. LINE=M (x,y) specifies that the work station is connected over a multipoint line, where x is the polling character y is the selection character. UEXIT=(address 1, address 2) specifies the starting and ending addresses of the area on disk that has been reserved for storing data directed to the user exit, where address 1 is the starting address address 2 is the ending address. The addresses must be in the form xaaa, where x is the logical disk drive number from 0 to 4 aaa is the sector address. This area must be reserved prior to executing the RJE Work Station Program. UEXIT=USER specifies that the IBM-supplied user-exit subroutine is replaced by one that you have written. COMPRESS=NO specifies that blanks are not to be eliminated from data transmitted across the communication line. COMPRESS=YES specifies that blanks are to be eliminated from data transmitted across the communication line. Remote Job Entry Program 10-3 These optional parameters can be used in any order, and if more than one of them is specified, they must be separated by commas. The default options assumed when the RJE Work Station Program is first generated, are a leased point-to-point contention line, no reserved disk space for user-exit output, and no elimination of blanks. When this data card is used to reddfme the RJE configuration and the LINE and/or COMPRESS parameters are omitted, th~ program assumes the last parameters specified as the current line configuration; however, if the UEXIT parameter is omitted, space is not reserved on disk for user-exit data. The RJEOO program saves the information specified by these parameters in a disk data file reserved for common constants used by the RJE program. work station RJE generation The following example shows the coding for generating the 1130 Work Station Program: The first 2 cards are the monitor control records needed to load the program that processes the information in the third card. The third card specifies that the RJE work station is on a multipoint line, that its polling character is A, and its selection character is B, and that it will compress input to the operating system program and expand output from the operating system program. For storing data that is directed to the user exit, an area is reserved on disk drive 2 starting at sector 1BO and ending with sector 2BO. 10-4 JECL FOR THE 1130 WORK STATION The job entry control language (JECL) used with the 1130 work station is described under "Job Entry Control Language" in the publication IBM System/360 Operating System Remote Job Entry, GC30-2006, with one addition:The additional command allows you to alternate the source of input between disk and cards. The format of this command is: 10 Operation Operand DATA DMSj,C l l, D, xaaa [, bbbbl f is the JECL identifier and must be in columns one and two. DATA must be preceded and followed by at least one blank. DMS identifies the c:ad as an 1130 JECL command. C indicates that input follows from cards. D indicates that input follows from disk, where x is the logical disk drive number, aaa is the disk sector address (hexadecimal), and bbbb is a hexadecimal number specifying the length of the disk data file in blocks, two blocks per 80-character record (I6 blocks per sector). If D is specified, the logical disk drive number and the sector address are required, but the block count is optional. When the block count is not specified, you must indicate 1he end of data on disk by using a .. DATA command to transfer reading data either to the card reader or to another disk area. The optional block count for disk data causes the RJE program to read data from disk until the specified number of blocks has been read, unless an end-of-file indicator ( .. DATA command, .. null command, or .. RJEND command) is read first. When the specified number of disk blocks is read or an end-of-file indicator is read, reading from disk stops, and input continues from the card reader. Data on disk must start at the beginning of a sector and continue on to consecutive sectors if necessary. Each sector must contain eight 80-character records in 8-bit code (EBCDIC), except the last sector, which can be less than 320 words. The .. DATA command is not recognized between a / / DD DATA statement and the corresponding /* in an IBM System/360 Operating System job. Note 1. Restart problems may occur if jobs are chained on disk (that is, referenced by only one .. DATA command from the card reader), and a line error occurs that requires the work station to resubmit the R1START command and all unacknowledged input. To avoid these problems, reference each job with a .. DATA command from the card reader. Note 2. You must specify the cartridges that are used during R1E on a monitor lOB control record. A logical drive number as specified on the lOB control record must be used in the .. DATA command. Remote Job Entry Program 10-5 End-of-File Indicators The end-of-file indicator on disk is the .. DATA command. This command passes reading to another disk file or to the card reader. The end-of-file indicators for the card reader are the .. null command and the .. RJEND command. Note. The .. null command and the .. RJEND command can be read from disk and have the same effect as if they were read from the card reader; that is, reading is stopped both from the card reader and from the disk. OUTPUT T'O THE WORK STATION Output to the work station consists of job output and messages. Job output, consisting of SYSOUT data sets created by the job, is directed to the printer, the card punch, or a user-exit subroutine. Each job output data set is directed to the device associated with the SYSOUT class specified in the DD statement for that output data set. RJE system messages are directed to the console printer or the line printer. You can specify carriage control for printer output with a special control character as the first byte of each data record; either System/360 machine code or ASA control characters are allowed. Output is single spaced with a skip to channel one when channel 12 is sen:;ed in the carriage tape and control characters are not specified or are not recognized by the equipment. You can specify stacker-select for punched output, if available, by specifying a special control character as the first byte of each data record; either System/360 machine code or ASA control characters are allowed. Stacker one is selected if control characters are not specified or are not recognized by the equipment. The 1130 RJE Work Station Program includes a user-exit subroutine that accepts data sets directed to it and writes them on disk in an area that you reserve prior to executing the RJE program. The IBM-supplied user-exit subroutine can be replaced by an exit subroutine that you write. Your subroutine can process data directed to the user-exit and write output to any available device (see "User-Exit Subroutine" in this chapter for more detailed information). If you do not write a user-exit subroutine, the IBM RJE program user-exit subroutine writes data sets consecutively on disk, each data set beginning at a disk sector boundary. However, when the RJE program is reloaded at a later time, data sets previously written on disk are unprotected and may be destroyed since any user-exit data sets written after RJE is reloaded begin at the first sector of the reserved area. For each data set written, information is printed on the principal printer. The primary output device for messages is the console printer. The secondary device i:; the line: printer. You select the line printer as the message device by turning on console entry switch O. Note. Data directed to disk can be referenced later by a .. DATA command. To do this, you rmist define your data set as fixed blocked or unblocked with a logical record length of 80 bytes and no control characters. 10-6 Discontinuing and Continuing Output Job output is discontinued by operator intervention. The operator presses the console keyboard PROGRAM STOP key, then the PROGRAM START key, and the system prints the J90 OCR=message. The operator then responds by typing D to discontinue output. Output is also discontinued by the 1130 RJE Work Station Program when a user-exit subroutine is not present for output directed to the user-exit and one of the following errors occurs: • An area is not reserved for user-exit output. • The reserved output area is exhausted. • An unrecoverable disk write error occurs. These errors are indicated to the operator in error messages. To correct the first 2 problems, terminate the RJE program by submitting an RJEND command (after all pending input has been transmitted), and then specify a reserved area on disk by executing the RJEOO program (see "Generation of the 1130 RJE Work Station Program" in this chapter). Reload the RJE program (see "Work Station Startup" in this chapter), and discontinue output immediately by operator intervention. Then, enter a CONTINUE command with the BEGIN operand; otherwise, data is lost. To correct the third error, enter a CONTINUE command with the BEGIN operand. The data set is then written again, starting at a new sector. In general, once output is discontinued, no other output is transmitted to the work station until the disposition of the discontinued output is specified by a CONTINUE command. Other conditions that cause output to be discontinued are: • A change in form number is found at the operating system • The work station program requests discontinuation • All irrecoverable error occurs during an output operation If either of the first 2 conditions occurs, you specify the disposition of the output with the CONTINUE command. The third condition requires error recovery procedures. Remote Job Entry Program 10-7 User-Exit Subroutine The operating system RJE program passes physical records to the user-exit subroutine, either the one that is supplied with the RJE program or the one that you write to repla.ce it. This section describes th{~ programming requirements that must be included in your subroutine. The subroutine entry point must be named UEXIT, and the subroutine must be stored in the user area (after deleting the resident module with the same name). You should save: and restore the contents of registers 1 and 3 at the beginning and end of your subroutine. To specify that your subroutine be executed, use the UEXIT=USER parameter in the configuration data card used to generate the RJE program. The user-exit subroutine gains control when output becomes available for it. Upon entJry, the return address is stored in the first word of the subroutine, and index register 1 contains the address of a parameter list that describes the output being passed to the subroutine. ThIs parameter list with th~ following format is aligned on an even word boundary. +0 Starting address +1 Ending address +2 Logical record length +3 Co'ntrol character type +4 Record format +5 -" End of data Data characters are packed 2 characters per 1130 word. The blocks start on a word boundary, but they end in the middle of a word if they contain an odd number of characters. 10-8 starting address The starting address is the 1130 core storage address of the block of data being received from the operating system. This address has the following format: the 15 leftmost bits are the core storage address, and the rightmost bit indicates whether the data starts in the first 8 bits or the second 8 bits of the first word at that location. Zero indicates that data begins in bit zero at the starting address; one indicates that data begins in bit 7 at the starting address. ending address This is the ending address plus one of the data block being received from the operating system. The formai of the ending address is the same as the starting address. logical record length When fixed length records are being passed, this word contains the length of logical records. If variable or undefined records are being passed, this word is zero. control character type This is a code that indicates the type of control characters being used. O--No control characters I-IBM System/360 machine code 2-ASA code record format This word 'contains a code that indicates the type of data records being transmitted. I-Fixed unblocked 2-Fixed blocked 3-Variable unblocked 4-Variable blocked 5-Undefined end of data When this word is zero, the end of data is indicated. The user-exit subroutine that you write must use the same I/O subroutines that the 1130 RJE program uses. Device I/O Subroutine 1132 Printer 1403 Prin ter 1442, Model 6 or 7, Card Read/Punch 2501 Card Reader 1442, Model 5, Card Punch Console Keyboard Disk PRNT2 PRNT3 CARDI READ 1 PNCHI TYPEO DISKZ Note. Your user-exit subroutine must return control to the RJE program within approximately 21 seconds in order to maintain communication with the operating system. OPERATING PROCEDURES This section includes information about beginning and ending RJE jobs, as well as information about console keyboard operation during execution of the RJE program. Work Station Startup To start RJE operation, the 1130 RJE Work Station Program must be loaded into core storage. This program is loaded by specifying the program name RJE in a monitor XEQ control record. The work station program then loads into core the programs and subroutines from the system library that correspond to the configuration of your system. To load these programs and subroutines, the work station program uses information stored on disk by the RJE generation program and information in the disk monitor system that specifies the principal I/O devices. Note. The console printer cannot be the principal print device. The following example shows the coding to start and end the execution of the RJE program: 1 10 5 15 20 25 30 35 40 45 50 II JOB II XEQ !2,)& .. ~" ST AIR. 7 -. r- 1--- JECL statements and operating system jobl .. 171 &'~,Il'l Remote Job Entry Program 10-9 The RJSTART command must be the first RJE command entered. An error message is printed when the RJSTART command is not the first entered. To continue, place an RJSTART command in the card reader, and press START on the card reader and PROGRAM START on the console keyboard. If the work station is connected to the operating system over a switched line, a message to call the central system is printed. The RJSTART command is followed either by input to be sent to the operating system or by an end-of-file indicator (see the following section "The Null Command"). When contact is made with the operating system, the RJST ART command and all other commands, if any, before the first job entry (the System/360 job with or without the JED card) or'before the end-of-file indicator, are transmitted. The work station is logically attached to the RJE system when the RJSTART command is acknowledged. All pending messages and immediate job output is received at the work station. All pending input, if any, is transmitted, or the work station program waits for output from the operating system. The sequence of events is system dependent. The Nu" Command The null command is provided for the 1130 work station to indicate the end of file on the card reader. This command is coded with the identifying characters (. .) in columns I and 2. All other columns remain blank. The null command must be the last card in the input stream. jWhen this command is read, the card reader is effectively closed even though communication is maintained with the operating system. Operator intervention is required to resume input from the card reader after the null command has been read (see the following section "Console Keyboard Procedures" in this chapter). Console Keyboard Procedures Four RJE functions that you can start from the 1130 console keyboard are: • Indicating card reader input • Indicating keyboard input • Discontinuing output • Initi~ting You 1. 2. st~rt an abnormal closedown of the RJE program any of these by: Pressing PROGRAM STOP on the console keyboard Pressing PROGRAM START The message J90 OCR== is printed on the console printer. Your response to this message indicates the function to be performed. The replies to this message are listed with other RJE m¢ssages in Appendix A. If you type B when message J90 is printed, keyboard input is indicated. The system prints the message J93 PROCEED and the K.B. SELECT light on the console turns on when the RJE program can service keyboard input. You can then enter commands, each ended by pressing EOF. After entering the last command, press EOF an extra time to indicate the end of keyboard input; the last EOF must not be entered until the keyboard select (K.B. SELECT) light turns on. You indicate abnormal closedown of the RJE program by typing T in response to the J90 message. This reply causes the work station program to be terminated and the contents of core storage to be printed. 10-10 The operating system notes an error condition and logically detaches and disconnects the work station if it is connected over a switched line. The work station is logically detached if connected with the central system over a leased or multipoint line and a line operation is in progress when you request termination through the keyboard. Also, if the RJE program is not reloaded, the work station is logically detached if the central system tries to contact the work station while the communication line is idle. Note 1. If the console keyboard procedure is used when the console printer is already in use, the message is not printed. However, the PROGRAM START key must be pressed to continue processing. Note 2. The INT REQ key cannot be used when the RJE program is being used. Pressing INT REQ prevents information in the skeleton supervisor that is modified by the RJE program from being restored. As a result, the disk monitor system may function improperly. Error Recovery Procedures Facilities are provided to recover from both communication errors and local device errors at the 1130 work station. Operator intervention may be necessary to correct the condition causing the error. Error messages are printed when errors occur, except for a forms check error on the console printer. In the latter case, when the FORMS CHECK light on the console keyboard turns on, you must turn on console entry switch 1 to retry the operation. Communications on the line are maintained only if the error is corrected within approximately 21 seconds. If errors cannot be corrected within the time allowed, the operating system logically detaches the work station from the RJE system. In addition, if the work station is connected over a switched line, the operating system breaks the connection. RJE messages and error messages are described in Appendix A. Unrecoverable communication errors result when communication is lost with the operating system because of either line errors or a failure at the central system. In either case, the work station is logically detached by the operating system and restart procedures are necessary. The response received when restart procedures are executed indicates whether the error is due to a line error or a failure at the central system. Restart Procedures Restart procedures must be used when the message J51 LINE ERROR OCR= is printed. These procedures involve regaining communication with the operating system and submitting an RJST ART command and are indicated when you type A in response to the J51 message. A complete description of this message is included in Appendix A. The restart procedures cause output to automatically resume either where it was interrupted (after a line error) or at the beginning of the job (after a failure at the central system). If output is being written to disk at the time of a line error you should immediately discontinue the output and enter a CONTINUE command with the BEGIN operand. If output is being punched in cards or printed at the time of a line error, a duplication of the last transmission block may occur when the program is restarted. The printer skips to a new page when RJE is restarted if the data set being printed is without control characters. If a line error occurs during an input operation, all unacknowledged input must be resubmitted. Furthermore, a line error in the middle of a job implies that the whole job must be resubmitted from the beginning. Before the job can be transmitted again with the same job name, the old job that was partially sent to the central system must be deleted. Deletion is sometimes automatic, but if not, you must delete the job. Note. The work station restart procedure after a central system failure is similar to the restart procedure after an unrecoverable line error. The primary difference is that after a system failure, an inprocess data set is rewritten from the beginning rather than from the last valid block. Remote Job Entry Program 10-11 Messages Sent to Work Stations Detailed descriptions of all messages sent to an 1130 work station from the operating system RJE program are in "Messages Sent to Work Stations" in the publication IBAJ System/360 Operating System Remote Job Entry, GC30-2006. RJE Program Console Entry Switches Three :console entry switches are used by the RJE Work Station Program Console Entry Switch Console Entry Switch Function o(off) Indicates that RJE messages from the central system are printed on the console printer o (on) Indicates that RJE messages from the central system are printed on the line printer If on when the console printer becomes not ready, the operation is retried. 2 If on, the error statistics accumulated by the subroutines SCAT2 or SCAT3 are printed on the console printer at the end of the RJE run. Error Statistics Error statistics are accumulated during an RJE run by the subroutines SCAT2 and SCAT3. If you want these error statistics printed, turn on console entry switch 2 prior to the end of the RJE run. The error statistics accumulated during the last RJE run can be printed if you execute a program called RJST A that is a part of the RJE program package. 10-12 Appendix A. Monitor System Operational and Error Messages This appendix includes all monitor system operational and error messages and codes, except for the messages for the stand-alone utility programs. The messages for these programs are included in Chapter 9 with the descriptions of the programs. The messages in the appendix are ordered alphabetically by an error prefix letter. Unless otherwise noted, the messages are printed on the principal printer. All monitor system control records are also printed on the principal printer. The messages, in sequential order, are: Error code prefix Figure number Figure title including program name A·1 Assembler error detection codes A A·2 Assembler error messages C A·3 FORTRAN error codes C A-4 FORTRAN error messages o A-5 DUP/MUP error messages E A-6 System loader error messages G A-7 SGJP error messages J A-8 RJE work station error messages J A-9 RJE work station messages M A-10 Phase 1. System control record program error messages M A-11 Phase 2. System control record program error messages A-12 SYSUP - DCOM update error messages Note A-13 RPG compiler error notes R A-14 Core load builder error messages S A-15 Auxiliary supervisor error messages Monitor system mainline programs messages Monitor System Operational and Error Messages A-I Assembler error codes and messages ASSEMBLER ERROR CODES AND MESSAGES At the completion of an assembly, the following messages are printed on the principell printer: XXX OVERFLOW SECTORS SPECIFIED XXX OVERFLOW SECTORS REQUIRED XXX SYMBOLS DEFINED XXX ERROR(S) AND XXX WARNING(S) FLAGGED IN ABOVE ASSEMBLY If LIST DECK or LIST DECK E control records are used, the error detection codes listed in Figure A-I are punched in columns 18 and 19. These error detection codes are also printed if the program is listed. Figure A-I includes the error flag (code), your coding violation that caused the error, and the assembler action. For the first error detected in each ~tatement, the assembler stores and then punches (or prints) the appropriate code; the code for a second error is stored, overlaid by any subsequent errors, and the code for the last error detected is punched (or printed). Thus, if more than 2 errors are detected in the same statement, only the fIrst and last are indi,cated in columns 18 and 19 when LIST DECK or LIST DECK E is used, or are printed when the program is listed. At the end of an assembly, a message is printed indicating the number of assembly errors detected in the source program (see the last of the assembly messages previously listl:!d). Since no more than 2 errors are flagged per statement, the error count in the message may exceed the actual number of error flags. Assembler error messages are listed in Figure A-2. These messages include the message number and message, the cause of the error, and the action you must take to correct the error. A-2 Assembler Error Codes Flag Coding error A Add ress error Assembler action An attempt has been made to specify a displacement field, directly or indirectly, outside the range of -128 to +127. C Condition code error A character other than +, -, Z, E, C, or 0 is detected in the first operand of a short branch statement or the second operand of a long BSC, BOSC, or BSI statement. F The label is ignored. Multiply defined label error A duplicate symbol is encountered in the label field. o The statement is processed as if L format were specified, unless the statement is valid only in short form. The statement is then processed as if X format were specified. Label error An invalid symbol is detected in the label field. M The displacement is set to zero. Format code error A character other than L, I, X, or blank is detected in column 32; L or I format is specified for a statement that is val id only in short form, or I format is specified when not allowed. L The displacement is set to zero. The first occurrence of a symbol in the label field is used to define its value; subsequent occurrences of the symbol in the label field cause a multiply defined indicator to be inserted in the symbol table entry (bit 0 of the first word). Operation code error An operation code is not valid. The statement is ignored and the address counter is incremented by 2. If theopcode is punched beginning in column 26, the character punched in column 26 will not appear in the listing. An ISS, ILS, ENT, LlBR, SPR, EPR, or ABS is incorrectly placed. The statement is ignored. Q Warning flag A possible problem code is detected; that is, a modify memory statement with a displacement of z~ro. R Relocation error An expression does not have a val id relocation. The expression is set to zero. An absolute displacement is not specified. The displacement is set to zero. An absolute origin is specified in a relocatable program. The specified origin is ignored. An absolute operand is not specified in a BSS or BES statement. The operand is assumed to be zero. A relocatable operand is not in an END statement of a relocatable mainline program. Columns 9 th~ough 12 are left blank; the entry is assumed to be relative zero. The operand of an ENT statement is not relocatable. The statement is ignored. Figure A-I (Part I of 2). Assembler error detection codes Monitor System Operational and Error Messages A-3 Assembler Error Codes Flag Coding error S Syntax error T Assembler action An invalid expression (that is, an invalid symbol, adjacent operators, invalid constant) is used. The expression is set to zero. An invalid character is used in a record. If an invalid character is used in an expression, label, operation code, format, or tag field, additional errors may occur. The main program entry: point is not specified as the operand :in an END statement. Columns 9 through 12 are left blank; the entry is assumed to be relative zero. The syntax of an EBC statement is incorrect (that is, a delimiter ,S not in column 35, a zero character cout;lt). Columns 9 through 12 are left blank; the address counter is incremented by 17. An invalid label is used as an operand in an E NT or ISS statement. The statement is ignored. An operand label occurs in more than one ENT statement. All entries are built as usual. Tag error Column 33 contains a character other than blank, 0, 1,2, or 3 instruction statement. U A tag of zero is assumed. Undefined symbol A symbol used in an expression is not defined. The value of the expression is set to absolute zero. w An x- or y-coordinate, o~ both, is not within the specified range; or an operand is invalid. The operand is set to zero. x A character other than R or I is in column 32; or a character other ~han D or N is in column 33. The field is set to zero. z An invalid condition is in a conditional branch or interrupt order. The condition bits in the first word are set to zero. Figure A-I (part 2 of 2). Assembler error detection codes A-4 Assembler Error Messages Error number and message Cause of error Your response A01 The available working storage is less than the specified number of overflow sectors plus one. Do one of the following: MINIMUM W.S. NOT AVAILABLE ... ASSEMBLY TERMINATED 1. Reduce the specified number of overflow sectors (the number specified is zero if an *OVERFLOW SECTORS control record is not used). 2. If your system has more than one disk drive, use a monitor JOB control record to specify system working storage on the cartridge that has the most working storage available. A02 SYMBOL TABLE OVERFLOW ... ASSEMBLY TERMINATED The number of sectors of symbol table overflow is greater than the number of overflow sectors available. Use an *OVERFLOW SECTORS control record to increase the number of overflow sectors for this assembly (maximum 32 sectors). A03 DISK OUTPUT EXCEEDS W.S. I ntermediate output (pass 1) or final DSF output (pass 2) exceeds the capacity of working storage less the specified number of overflow sectors. If this error occu rs during pass 1, restart the assembly using an *TWO PASS MODE control record. A04 A05 A06 SAVE SYMBOL TABLE INHIBITED XXX ERRONEOUS ORG, BSS, OR EOU STATEMENTS LOAD BLANK CARDS If this error occurs during pass 2, see the corrective actions for message A01. One of the following occurs when an *SAVE SYMBOL TABLE control record is used: 1. The program is relocatable. Add an ABS statement to your program and reassem bl e. 2. The program contains assembly errors. Correct the program errors and reassembl e. 3. The sou rce program contains more than 100 symbols. Reduce the number of symbols and reassemble. XXX is the number of ORG, BSS, BES, and/or EOU statements undefined in the first pass. At the end of pass 1, these statements are printed on the principal printer. If the error is due to forward referencing, the error is not detected during pass 2. When forward references are attempted, correct them and reassemble the program. A card containing a punched column between 1 through 71 is read while a symbol table is being punched (*PUNCH SYMBOL TABLE specified for this assembly). The system waits with /100F displayed in the console ACCUMULATOR. 1. Press NPRO on the card reader. 2. Place blank cards in front of the card just read 3. Press reader START. 4. Press console PROGRAM START. Note: If output is being punched on a 1442, Model 5, a punched card cannot be detected. In addition, the card punch may be damaged if an attempt is made to punch a hole where a hole already exists. Figure A-2 (Part 1 of 2). Assembler error messages Monitor System Operational and Error Messages A-S Assembler Error Messages Error number and message Cause of error You r response AID7 The control record option does not agree, character for character, with its valid format. The control record is ignored. ABOVE CONTROL STATEMENT INVALID An invalid library Ilame is detected on an *MACLIB control record, or multiple *MACLIB control records are detected. A08 MACLIB UNDEFINED An attempt is made to define a stored macro when a macro library is not associated with this assembly. Reassemble speCifying a valid macro library. A09 PARAMETER LIST OVERFLOW ... ASSEMBL Y TERMINATED The disk parameter-list spill area is undefined or exceeded. Reassemble specifying a larger parameter-list disk area (see "*OVERFLOW SECTORS" in Chapter 5). Al0 MACRO AREA OVERFLOW ... ASSEMBLY TERMINATED The disk area for macro definitions is UndE!fined or exceeded. Reassemble specifying a larger macro-definit'ion disk area (see "*OVERFLOW SECTORS" in Chapter 5). J\12 NEST LEVEL EXCEEDS 20 ... ASSEMBLY TERMINATED An attempt is made to nest more than 20 macro calls. Redefine the macro nest and reassemble. A21 *LEVEL CONTROL STATEMENT MISSING A program is assembled as an ISS subroutine without the required *LEVEL control record. Reassemble using an *LEVEL control record. l\22 INVALID LIST DECK OPTION ... ASSEMBL Y TERMINATED LIST DECK or LIST DECK E is specified when macros are called. Reassemble and do not specify either LIST DECK or LIST DECK E options. Figure A-2 (Part 2 of 2). Assembler error messages A-6 FORTRAN messages and error codes FORTRAN MESSAGES AND ERROR CODES compilation messages Near the end of compilation, the FORTRAN compiler prints core usage information and the features supported as follows: FEATURES SUPPORTED EXTENDED PRECISION ONE WORD INTEGERS TRANSFER TRACE ARITHMETIC TRACE ORIGIN IOCS CORE REQUIREMENTS FOR XXXXX COMMON YYYYY VARIABLES YYYYY PROGRAM YYYYY where XXXXX is the program name specified in the *NAME control record or in the SUBROUTINE or FUNCTION statement. YYYYY is the number of words allocated for the specified parts of the program. During a subprogram compilation, the compiler prints the following message: RELATIVE ENTRY POINT ADDRESS IS XXXX (HEX) where XXXX is the address of the entry point relative to the address of the first word of the subprogram being compiled. The compiler prints the following messages for successful and unsuccessful compilations, respectively: END OF COMPILATION COMPILATION DISCONTINUED compilation error messages During compilation, the compiler checks to determine if certain errors occur. If one or more of these errors are detected, the compiler prints the error messages at the conclusion of compilation, and the object program is not stored on disk. Only one error is detected for each statement. In addition, due to the interaction of error conditions, the occurrence of some errors may prevent the detection of others until the errors detected first are corrected. With the exception of the messages listed in Figure A-4, the error messages printed by the FORTRAN compiler have the following format: C nn ERROK iN STATEMENT NUMBER xxxxx+yyy where C nn is the error code number in Figure A-3. xxxxx is all zeros until the first numbered statement is encountered in your program. When a valid statement number is encountered, xx xxx is replaced by that statement number. Statement numbers on specification statements and statement functions are ignored. When xxxxx is all zeros, yyy is the statement line in error (excluding comments and continuation lines). When xxxxx is a valid statement number, yyy is a cour.t of statements from that numbered statement (counted as 0) to the statement in error. If the erroneous statement has a statement number, yyy is not printed. For example: DIMENSION E(I,6,6) DIMENSION F(4,4),G(2,7), IH(34,21 ),1(5 ,8) DIMENSION 1(3,2,6)) FORMAT (I50,F5.2)) 10 WRITE (1 'C) ARRAY WRITE (1 'C) ARRAYS (error C 08) (recall that the 1 in column 6 indicates a continuation line) (error C 16) (error C 27) (error C 07) Monitor System Operational and Error Messages A-7 FORTRAN messages and error codes This example causes the following error messages to be printed: C 08 ERROR AT STATEMENT 00000+001 C 16 ERROR AT STATEMENT 00000+003 C 27 ERROR AT STATEMENT 00000+004 C 07 ERROR AT STATEMENT 10 +001 Look up the error numbers in Figure A-3 to determine the causes of the errors. Note that a FORTRAN compiler error message can be caused by an invalid character in the source statement. [n that case, the character in question is replaced with an ampersand in the listing. Errors in spe:cification statements and any other obvious errors should be examined first. Since variables are not defined when a statement contains a compiler error, valid statements that reference the variables may also be flagged. A-8 FORTRAN Error Codes Error code Cause of error COl Nonnumeric character in statement number C02 More than 5 continuation cards, or continuation card out of sequence C03 Syntax error in CALL LINK or CALL EXIT statement C04 Unrecogr.izable, misspelled, or incorrectly formed statement C05 Statement out of sequence COO A statement follows a STOP, RETURN, CALL LINK, CALL EXIT, or GO TO statement, or an I F statement does not have a statement number C07 Name longer than 5 characters, or name not starting with an alphabetic character C08 Incorrect or missing subscript within dimension information (DIMENSION, COMMON, REAL, or INTEGER) C09 Duplicate statement number Cl0 Syntax error in COMMON statement C11 Duplicate name in COMMON statement C12 Syntax error in FUNCTION or SUBROUTINE statement C13 Parameter (dummy argument) appears in COMMON statement C14 Name appears twice as a parameter in SUBROUTINE or FUNCTION statement C15 *IOCS control record in a subprogram C16 Syntax error in DIMENSION statement C17 Subprogram name in DIMENSION statement C18 Name dimensioned more than once, or not dimensioned on first appearance of name. C19 Syntax error in REAL, INTEGER, or EXTERNAL statement C20 Subprogram name in REAL or INTEGER statement, or a FUNCTION subprogram contdining its own name in an EXTERNAL statement C21 Name in EXTERNAL that is also in a COMMON or DIMENSION statement C22 IFIX or FLOAT in EXTERNAL statement C23 Invalid real constant C24 I nvalid integer constant C25 More than 15 dummy arguments, or duplicate dummy argument in statement function argu ment list C26 Right parenthesis missing from a subscript expression C27 Syntax error in FORMAT statement C28 FORMAT statement without statement number C29 Field width specification greater than 145 C30 In a FORMAT statement specifying E or F conversion, w greater than 127, d greater than 31, or d greater than w, where w is an unsigned integer constant specifying the total field length of the data, and d is an unsigned integer constant specifying the number of decimal places to the right of the decimal point C31 Subscript error in EQUIVALENCE statement C32 Subscripted variable in a statement function C33 I ncorrectly formed su bscript expression C34 Undefined variable in subscript expression C35 Number of subscripts in a subscript expression, and/or the range of the subscripts does not agree with the dimension information C36 Invalid arithmetic statement or variable; or, in a FUNCTION subprogram the left side of an arithmetic statement is a dummy argument or in COMMON C37 Syntax error in I F statement C38 I nvalid expression in I F statement Figure A-3 (Part 1 of 3). FORTRAN error codes Monitor System Operational and Error Messages A-9 FORTRAN Error Codes Error code Cause of -errol' C39 Syntax error or invalid simple argument in CALL statement C40 I nvalid expression in CALL statement C41 Invalid expres;sion to the left of an equal sign in a statement function C42 Invalid expres;sion to the right of an equal sign in a statement function C43 I n an IF, GO TO, or DO statement, a statement number is missing, invalid, incorrectly placed, or is til1e number of a FORMAT statement C44 Syntax error in READ, WRITE or FIND statement C45 *IOCS record missing with a READ or WRITE statement (mainline program only) C46 FORMAT statement number missing or incorrect in a READ or WRITE statement C47 Syntax error in input/output list; or an invalid list element; or, in a FUNCTION subprogram, the input list element is a dummy argument or in COMMON C48 Syntax error in GO TO statement C49 Index of a computed GO TO is missing, invalid, or not preceded by a comma C50 *TRANSFER TRACE or * ARITHMETIC TRACE control record or CALL PDUMP statement pre:lent, with no *IOCS control record in a mainline program C51 Incorrect nesting of DO statements; or the terminal statement of the associated ClO statement is a GO TO, IF, RETURN, FORMAT, STOP, PAUSE, or DO statement C52 More thari 25 nested DO statements C53 Syntax error in DO statement C54 Initial value in DO statement is zero C55 In a FUNCTION subprogram the index of DO is a dummy argument or in COMMON C56 Syntax error in BACKSPACE statement C57 Syntax ermr i,n R EWI NO statement C58 Syntax error iI:, END FI LE statement C59 Syntax enror in STOP statement C60 Syntax enror il1 PAUSE statement C61 I nteger constant in STOP or PAUSE statement greater than 9999 C62 Last executable statement before END statement is nota STOP, GO TO, IF, CAL.L LINK, CALL I:XIT, or RETURN statement C63 Statement contains more than 15 different subscript expressions C64 Statement too long to be scanned, because of compiler expansion of subscript expressions or compiler addition of generated temporary storage locations C65* All variables undefined in an EQUIVALENCE list C66* Variable made equivalent to an element of an array in such a manner as to cause the array to el(tend beyond the original of the COMMON area C67* Two variables ,of array elements in COMMON are equated, or the relative locations of two variables or array elements are assigned more than once (directly or indirectly). This error is also given if an attempt is made to allocate a standard precision real variable at an odd address by means of an EQUIVALENCE statement C68 Syntax error in an EQUIVALENCE statement; or an illegal variable name in an EQUIVAL.ENCE list CG9 Subprogram does not contain a RETURN statement, or a mainline program contains a RETURN st61tement C70 No DEFINE FiLE statement in a mainline program that has disk READ, WRITE, or FI N 0 statements C71 Syntax error in DEFINE FILE statement C72 Duplicate DEFINE FILE statement, more than 75 DEFINE FILES, or DEFINE FILE statement in sl,.lbprogram Figure A-3 (part 2 of 3). FORTRAN error codes FORTRAN Error Codes Error code Cause of error C73 Syntax error in record number of disk READ, WRITE, or FIND statement C74 Defined file exceeds disk storage size C75 Syntax error in DATA statement C76 Names and constants in a OAT A statement not in a one-to-one correspondence C77 Mixed mode in OAT A statement C78 Invalid hollerith constant in a DATA statement (see "Length of FORTRAN DATA Statement" in Chapter 6) C79 Invalid hexadecimal specification in a DATA statement C80 Variable in a DATA statement not used elsewhere in the program or dummy variable in DATA statement C81 COMMON variable loaded with a OAT A specification C82 DATA statement too long to compile, due to internal buffering. Refer to the section TIPS FOR FORTRAN PROGRAMMERS * The detection of a code 65, 66, or 67 error prevents any subsequent detection of any of these three errors. Figure A-3 (Part 3 of 3). FORTRAN error codes Monitor System Operational and Error Messages A-ll FORTRAN Error Messages Error number and mesSage Cause of error C85 ORIGIN IN SUBPROGRAM An ORIGIN control record was detected in'3 subprogram compilation. C86 INVALID ORIGIN An attempt has been made to relocate a word at an address exceeding 7FFF (hexadecimal). C96 WORKING STORAGE EXCEEDED The working storage area on disk is too small to accommodate the compiled program in disk system format. C97 PROGRAM LENGTH EXCEEDS CAPACITY The error occurs when the program in internal compiler format is too large to be contained in core working storage, and the program must be reduced in size in order to compile. C98 SUBROUTINE INITIALIZE TOO LARGE During compilation of subprograms a subroutine initialize statement (CALL SUBIN) is generated. The CALL SUBIN statement initializes all references to dummy variables contained within the subprogram to the appropriate core location in the calling program. The nature of the FORTRAN compiler limit!; the size of any statement in internal compiler format to 511 words. In the case of CALL SUBIN, the size is calculated by the foliowinlJ formula: 5 = 5 + ARG +N where ARG is the number of arguments in th,e subroutine parameter list and N is the total number of times the dummy arguments are u:ied within the subprogram. 5 is the total size of the CALL SUBIN statement; if S ever exceeds 511, an error occurs and the above error message i!: printed. C99 CORE REQUIREMENTS EXCESSIVE Figure A-4. FORTRAN error messages A-12 The error occurs when the total core requirements exceed 32767 words. OUP and MUP messages and error messages OUP AND MUP MESSAGES AND ERROR MESSAGES OUP messages When a Disk Utility Program (DUP) function is performed without errors, an informational message is printed on the principal printer. Information messages are described in the following text. At the end of a DEFINE VOID, one of the following messages is printed: ASSEMBLER VOIDED FORTRAN VOIDED RPG VOIDED COBOL VOIDED At the end of a DEFINE FIXED AREA function, the following message is printed: CART ID XXXX CYLS FXA XXXX DBS AVAIL XXXX FLET SECTOR ADDRXXXX where CYLS FXA XXXX is the decimal number of cylinders minus one in the fixed area (the additional cylinder is used for FLET). DBS A VAIL XXXX is the hexadecimal number of disk blocks remaining in the fixed area after the last program or data file stored there. FLET SECTOR ADDR XXXX is the hexadecimal sector address of the first cylinder in the fixed area (the sector address of FLET). At the end of a dump of LET or FLET, the following sign-off message is printed: END OF DUMPLET/FLET All other DUP operations, except MUP are followed by this message: CART ID XXXX DB ADDR XXXX DB CNT XXXX where DB ADDR XXXX is the hexadecimal starting address of the program or data me. DB CNT XXXX is the hexadecimal number of disk blocks being deleted, stored, or dumped. The error messages printed by DUP are listed in Figure A-5. These messages include the message number and message, the causes of the error messages, and your corrective actions where appropriate. MUP messages The sign-off message of the Macro Update Program (MUP) is: UPDATE COMPLETED Informational messages that can be printed during a MUP run are: ABOVE MACRO PURGED that follows a PURGE control record, and ABOVE MACRO RENAMED AS SSSS DDDD MNAME where SSSS is the sector address in hexadecimal. DDDD is the displacement in hexadecimal. MNAME is the new macro name. The error messages printed by MUP are listed in Figure A-5. These messages include the message number and message, the causes of the error messages, and your corrective actions where appropriate. Monitor System Operational and Error Messages A-13 DUP/MUP Error Messages Error number and message Cause of error D01 NAME IS NOT PRIME ENTRY The primary entry point narne of the program in working storage does not match the name on the DUP control record. 002 INVALID HEADER FIECORD TYPE One of the following is detected: Your response 1. A non-DSF program 2. A mispositioned header 3. Foreign data 4. An erroneous subtype 003 INVALID HEADER LENGTH Word 6 of the DSF header is outside the range of 3 through 46. Other causes are similar to those of message 002, except for subtype. 006 SECONDARY ENTRY XXXXX IN LET The specified secondary entry point name is already in LET. Delete the specified entry point name before storing this subroutine. 006 ENTRY POI NT NAME ALREADY IN ILET/FLET The specified name is already in LET or or FLET. Delete the specified name from LET or F LI:T before storing this program or data file. 012 IINVALID DISK I/O SPECIFIED The disk I/O subroutine coded (column 9) on the STORECI control rEicord is other than 0, 1, N, Z, or blank. 013 INVALID FUNCTION FIELD An invalid DUP function is specified on the DUP control record. 014 INVALID FROM (CC 13-14) One of the following: 1. Unacceptable chanllcter:3 are in columns 13 and 14 of the DUP c:ontrol record. 2. The F ROM field specified is not valid with this DUP function. 016 INVALID TO FIELD (CC 17-18) One of the following: 1. Unacceptable characters are in columns 17 and 18 of the DUP control record. 2. The TO field specified is not valid with this DUP function. 016 INVALID NAME FIELD (CC 21-26) One of the following: 1. A required name is not specified. 2. The specified name contains a syntax error. Figure A-5 (Part 1 of 8). DCP/MUP error messages A-14 DUP/MUP Error Messages Error number and message Cause of error 017 INVALID COUNT FIELD (CC 27-30) Columns 27 through 30 are blank or include alphabetic characters. The count field requires a decimal number. 018 INVALID FUNCTION DURING TEMPORARY JOB This function is not allowed during the JOB T mode. 019 CARTRIDGE NOT ON SYSTEM The cartridge specified as the TO or FROM cartridge is not specified on the JOB control record as being used for this job. 020 CARTRIDGE 10 OUTSIDE VALID RANGE (0001-7FFF) 021 INVALID STOREMOD. SIZE OF REPLACEMENT EXCEEDS SIZE OF ORIGINAL The replacement version of the program or data file is larger than the current stored version. 022 PROGRAM NOT IN WORKING STORAGE One of the following: Your response Correct the cartridge 10 and retry. Delete the old version of the program or data file and retry. 1. The disk block count for the requested program Ih working storage is zero. 2. The program is not in working storage. 023 INVALID SYSTEM OVE R LA Y SUBTYPE SPECIFIED The system overlay subtype indicator (column 11) on a STORE control record is not in the range 0 through 9. 024 COUNT FIELD TOO LARGE One of the following: 1. The count field extends beyond column 30 of a DEFINE FIXED AREA control record. 2. Column 31 is not a minus sign. 025 REQUIRED FORMAT NOT IN W.S. During a STOREMOD, the format of the LET or F LET entry does not agree with the format in working storage. 026 NAME NOT FOUND IN LET/FLET The name specified on a DE LETE or DUMP control record is not in LET or FLET. 027 SOURCE NOT IN DSF The format indicator of the FROM cartridge indicates that working storage on this cartridge does not contain a DSF program. 030 INVALID RECORD TYPE An invalid type binary record has been read when storing from cards or paper tape. Figure A-S (Part 2 of 8). DUP/MUP error messages Monitor System Operational and Error Messages A-IS OUP/MUP Error Messages Error n ... mber and message Cause of error Your response 031 PROGRAM OR DATA EXCEEDS DESTI NATION DISK AREA The number of disk blocks required to store a program or data file! exceeds the amount of space available in the specified TO field" 032 INVALID CORE IMAGE CONVERSION The core load builder has inhibited the continuation of STORECI. The specific reason has been printed by the core load builder (see "Core Load Builder Error Messages" in this appendix). 033 ILET/FLET OVERFLOW. A CORE DUMP FOLLOWS A ninth sector of LET/FLET is required (or a seventh sector of LET on a nonsystem cartridge) for the LET/FLET entry. You must delete a program with a LET or f: LET entry of similar size before this program can be stored. A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows you to locate the condition that caused the error. Use of the affected cartridge is not recommended until the problem is investigated. 041 INVALID STORECI CONTROL RECORD A control record read after a STORECI is not a LOCAL, NOCAL, FILES, or G2250 record, or a mainlinE! name is specified ona LOCAL, NOC:AL, or G2250 record. 042 STORECICONTROL RECORDS INCORRECTLY ORDERED LOCAL, NOCAL, FILES, and G2250 control records are intermixed. 043 INCORRECT CONTINUATION A comma at the end of a record indicates continuation to tho next record; however, it is not continued . 044 II_LEGAL CHARACTER IN RECORD An illegal character, probably a blank, is in the record. 045 ILLEGAL FILE NUMBER One of the following: 1. A nonnumeric character i·s in a file number. 2. A file number is more long. 046 I L.LEGAL NAME th~1n 5 characters One of the following: 1. A name is more than 5 characters long. 2. A name contains characters other than A through z, 0 through 9, or $. 3. A name contains embedded blanks. Figure A-5 (Part 3 of 8). DUP/MUP error messages A-16 All records of a given type must be loaded together. DUP/MUP Error Messages Error number and message Cause of error 047 One of the following: ILLEGAL CARTRIDGE ID Your response 1. The specified cartridge lOis not in the range 10001 through 17FFF. 2. The specified cartridge 10 contains an invalid character. 048 SCRA BUFFER OVERFLOW The supervisor control record area (SCRA) cannot contain all the LOCAL, NOCAL, FI LES, or G2250 information. 070 LAST ENTRY IN LET/FLET NOT 1DUMY A DELETE operation cannot find the end of LET or FLET. The header for this LET/FLET sector contains the count of unused words in this sector. This count should point to the last 1DUMY entry; however, the entry to which it now points is not a 1DUMY. 071 1 DUMY ENTRY IN LET/FLET IS FOLLOWED BY A SECONDARY ENTRY POINT The name on the DE LETE control record points to a secondary entry point that follows a 1 DUMY entry point. The primary entry is not in LET/FLET. 072 FIRST ENTRY IN LET/FLET SECTOR IS A SECONDARY ENTRY POINT The LET/FLET table is improperly constructed; the first entry is not a primary entry. 080 FIXED AREA PRESENT The FORTRAN compiler, RPG compiler, or assembler cannot be eliminated if a fixed area is defined on the disk. 081 ASSEMBLER NOT IN SYSTEM The assembler has been previously deleted from the system. 082 FORTRAN NOT IN SYSTEM The FORTRAN compiler has been previously deleted from the system. 083 INCREASE VALUE IN Co.UNT FIELD (CC 27~30) The count field read is a value of zero or one; the first DEFINE FI XED AREA requires one cylinder for FLET plus one cylinder of fixed area. Thereafter, as little as one cylinder of additional fixed area can be defi ned. 084 DEFECTIVE SLET 085 FIXED AREA NOT PRESENT The cartridge must be reloaded. The control record specifies a decrease in the fixed area, or specifies the fixed area as the TO field, and a fixed area is not on the cartridge. Figure A-5 (Part 4 of 8). DUP/MUP error messages Monitor System Operational and Error Messages A~ 17 DUP/MUP Error Messages Error number and message Cause of error D86 One of the following: DECREASE VALUE IN COUNT FIELD 1. Enough working storago is not available to allow the fixed area to be defined or expanded by the amount specifici in the count field (cc 27 through 30). If a large program is in working storage this error may also occur. If you do not need the contents of working storage, precede the IIDUP card with a IIJOB eard to reinitialize #WSCT in [lCOM. If the contents of working storage are needed, save the requimd inforr!lation, then run with the following cards: I/JOB, IIDUP, and *DEFINE FIXED AREA. 2. The number of unused cylinders in the fixed area is insufficient to decrease the fixed area the amoLint specified in the count field. This message is preceded by a count of the number of cylinders available: XXXX CYLS AVAILABLE. The count is a decimal number. D87 RPG NOT IN SYSTEM The RPG compiler has been previously deleted from the system. D88 COBOL NOT IN SYSTEM The COBOL compiler (a program product) has been previously deleted from the system. D90 CHECK SUM ERROR One of the following: INVALID DISKZ CALL. A CORE DUMP FOLLOWS While performing a DUP function, an attempt has been made to read or write sector 0, or to read or write with a negative word count. This is a system error. D92 Your response 1. A check sum error is d£ltected in a binary card or paper tape record. 2. Binary cards are out of order. A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows you to locate the condition that caused the error. Use of the affected cartridge is not recommended until the problem is i nvesti gated. D93 CARTRIDGE OVERFLOW While performing a DUP function, an attempt has been made to read or write a sector beyond 1599 decimal. D100 LIBRARY NOT FOUND The library named on aLi B, BUI LD, JOIN, or CONCAT statement cannot be found on drives currently in use. If the statement is a LIB, BUI LD, or JOI N, all statements are i~lnored until the next LIB, BUILD. or ENDUP statement is encou ntered. I f the statement is a CONCAT, processing continues with the next control statement. Figure A-5 (Part 5 of 8). DLP/MUP error messages A-18 Correct the name field in the statement in error, or change the 1/ JOB control record to include the drive on which the named library resides, or define the macro library using a *DFI LE elr *STOR E DAT A control record. OUP/MUP Error Messages Error number and message Cause of error Your response 0101 One of the following: XX indicates the column in which the error was found. INVALID SUBFIELO COL XX 1. If on an INSERT or DELETE statement, the sequence number is incorrectly specified; that is, it is negative, nonnumeric, or the sequence numbers are reversed. Correct the error and rerun the portion of the job that is affected. 2. If on a SELECT statement, an incorrect parameter is specified. 3. If on a NAME statement, an invalid parameter was detected, and processing continues with the next LI B, BUI LD, or ENDUP statement. 4. If on an INSERT or DELETE statement, processing continues with the next control statement. 5. If on a SE LECT statement, processing continues with the remainder of the statement. D102 ILLEGAL REQUEST One of the following: Correct the error and rerun the portion of the job that is affected. 1. An invalid statement was detected. 2. An INSERT or DELETE statement is not preceded by an UPDATE or RENAME statement. 3. An OUTPUT operation was requested using a cartridge configured for paper tape. Processing continues with the next control statement. 0103 LIBRARY OVERFLOW One of the following: Do one of the following: 1. The Iibrary last specified by a LIB or BUI LD statement does not have enough room to perform the operation. 1. Purge unneeded macros or delete unneeded statements to obtain additional space in the current library. I f this is not possible, define a larger library using an *OFI LE or *STOREDATA control record, join the old library to a new one, and delete the old library. Once the additional space is obtained, rerun the portion of the job that is affected. 2. If on a JOIN or an ADD statement, the operation is suppressed and the library is restored to its previous state. 3. I f on an I NSE RT statement, the statements listed prior to the message are the only ones that can be included. 2. If on an INSERT statement, you may have to alter the I NSE RT statement as the statements in the macro library may have been resequenced. Processing continues with the next LI B, BUILD, or ENOUP statement. Figure A-5 (part 6 of 8). DUP/MUP error messages Monitor System Operational and Error Messages A-19 DUP/MUP Error Messages Error number and massage Cause of error Your response 0104 The macro name specified on an OUTPUT, PURGE, RENAME, or UPDATE statement cannot be found in the library being processed. Processing continues with the next control statement. Do one of the following: MACRO NOT F:OUND 1. Correct the macro name on the statement in error. 2. Specify the correct macro library. Then, rerun the portion of the job that is affected. 0105 SEQUENGE NUMBER NOT FOUND The sequence number on an I NSE RT or DE LETE statement is out of the range of the macro and cannot be found, or the sequence numbers on multiple I NSE RT and/or DE LETE statements for the same macro are out of ordelr. Processing continues with the next control statement. Place a correct sequence number on the statement in error, and rerun the portion of the job that is affected. 0106 LIBRARY NOT SPECIFIED An attempt was made to operate on a macro without specifying a macro library. Place a LI B or BUI LD statement before the statement before the statement in error, and rerlJn the portion of the job that is affected. Processing continues wIth the next LI B, BUILD, or ENDUP statement. 0107 SPILL OVERFLOW Macro text insertions have caused the capacity of working storage spill to be exceeded. Processing continues with the next LI S, BUI LD, or ENDUP statement. 0108 CONTROL STATEMENT READ An * or II statement has been read, and the MUP run is terminated. Control is returned to the supervisor for a /I statement or to DUP for an * statement. 0109 I\lAME STATEMENT NOT FOUND The operation attempted rE~quires a NAME statement, and one has not been processed after the last LI B or BLJ I L C) statement. Processing continues with the next LI B, BUILD, or ENDUP statement. 0110 IINVALID NAME One of the following: 1. The name field on a LIB, BUILD, JOIN, CONCAT, UPDA,TE, ADD, PURGE,RENAME,~OUTPUT statement was left blank. 2. The name specified is irNalid. 3. Apostrophes are improperly placed. If on a LIB, BUI LD, or JOIN statement, processing continues with the next LI B, BUILD, or ENDUP statemlmt. If on a CONCAT, UPDIATE, ADD, PURGE, RENAME, or OUTPUT statement, processing continues with the next control statement. Figure A-5 (part 7 of 8). DU1P/MUP error messages A-20 Correct the sequence numbers in the unprocessed INSERT statements, if necessary, and rerun these statements. Additional disk drives may have to be defined to provide adequate working stc1rage. Insert a NAME statement, and rewn the pClrtion of the job that is affected. DUP/MUP Error Messages Error number and message D112 Cause of error Your response NONBLANK CARD READ ENTER BLANK CARDS 1. Remove the stacked input from the card hopper. 2. Press NPRO to clear out nonblank cards. 3. PlacE' blank cards followed by the NPRO nonblank cards and the stacked input in the hopper. 4. Press reader START and console keyboard PROGRAM START. D116 LIBRARY NOT INITIALIZED One of the following: Do one of the following: 1. The library named on a LIB, JOI N, or CONCAT statement is not properly initialized. 1. Initialize the library with a BUI LD statement, and rerun the portion of the job that is affected. 2. The library specified on a BUI LD statement is not a data file. 2. Correct the BU I L D statement and rerun the portion of the job that is affected. If on a LIB, or JOIN statement, processing continues with the next LIB, BUI LD, or ENDUP statement. If on a CONCAT statement, processing continues with the next control statement. D117 INVALID PARAMETER One of the following: 1. A parameter has been detected that was not defined in the NAME statement. 2. More than 20 parameters are specified in a NAME statement. 3. A parameter greater than one character was used in the format or tag field. If the error occurs during an OUTPUT operation, the operation is terminated and processing continues with the next control statement. If the error occurs during a listing operation, this is a warning message, and the invalid parameter is printed as lIN where N is 1 through 20. Note: N may be truncated if the field size is exceeded. Note. I n addition to the OUP error messages just listed, the following message: NO SUCH ERROR MESSAGE NUMBER can be printed immediately followed by a 2-digit hexadecimal number. This message is an indication of a system error. The message is likely to be printed if DUP operations are performed while the physical core size and the configured core size do not agree. This situation is not supported by most system programs. Figure A-5 (Part 8 of 8). DUP/MUP error messages Monitor System Operational and Error Messages A-21 System Loader messages and error messag~s SYSTEM lOt,.DER MESSAGES AND ERROR MESSAGES Informational messages are not printed during an initial load. At the completion of a reload, the following message is printed: END OF RELOAD The error messages and the corrective action that you perform are listed in Figure A-6. Procedures A and B that are referenced under the column "Your response" are included at the end of the figure. A-22 System Loader Error Messages Your response Error number and message From phases 1 and 2 EOl CHECKSUM ERROR Follow procedure A or restart initial load. If the input is paper tape, this message can be caused by a paper tape read error. I n such a case, follow procedure B. E02 INVALID RECORD OR BLANK Follow prqcedure A or restart initial load. E03 SEQ ERROR OR MISSING RECORDS Follow procedure A or restart initial load. The missing record may be end-ofprogram record. E04 ORG BACKWARD Inspect the deck for records missing or out of sequence. Correct the deck and restart from the record in error. E05 INITIALIZE THE CARTRIDGE The cartridge I D cannot be found in DCOM because DCOM is defective or an attempt is being made to initial load a cartridge that has not just been initialized or has been improperly initialized. Initialize and initial load the cartridge. From phase 1 only Ell INVALID DRIVE NO. Set all bit switches off. Set bit switches to select physical drive number and press PROGRAM START. Drive Drive Drive Drive Drive Drive O-AII switches off l-Switch 15 on 2-Switch 14 on 3-Switches 14 and 15 on 4-Switch 13 on 5-Switches 13 and 15 on Drive Drive Drive Drive Drive 6-Switches 13 and 14 on 7-Switches 13, 14, and 15 on 8-Switch 12 on 9-Switches 12 and 15 on 10-Switches 12 and 14 on E12 ID SECTOR DATA INVALID Initialize using DCIP or DISC and follow with an initial load. E13 CONFIG DECK ERROR System configuration deck may be missing, out of place, or may contain an error in one or more records. Correct the deck and restart load. E14 FILE PROTECT ADDR TOO HIGH This error occurs on a reload only. The last program in the user area extends into the last two cylinders on the cartridge. These cylinders are required by the system loader during a reload operation. The file protect address must be lowered before a reload can be accomplished. E15 PHID RECORD ERROR Follow procedure A or reload and restart. E16 INITIAL LOAD THE CARTRIDGE The ID sector indicates that this cartridge has not been loaded since initialization by DCIP or DISC. Only an initial load may be performed. E17 ERROR IN LOAD MODE RECORD Follow procedure A or restart load. E18 PAPER TAPE ERROR The paper tape system loader has found a word count greater than 54. This is probably due to incorrect sequencing of tapes, a faulty tape, or a paper tape reader malfunction. Correct error and restart load. E19 INVALID SLET/RELOAD TABLE CHECKSUM System loader will ignore the checksum and continue if PROGRAM START is pressed. However, the cartridge should be initialized and an initial load performed. From phase 2 only E20 FI XED AREA PRESENT Programs may not be added to a cartridge with a fixed area defined. Press PROGRAM START to restore the resident image and DCOM. E21 SYSTEM DECK ERROR A defective record follows the sector break record. Correct the deck and restart the initial load or continue the reload from the preceding sector break record. Figure A-6 (Part 1 of 3). System loader error messages Monitor System Operational and Error Messages A-23 System Loader Error Messages Ernor number and message Your response E22 SCRA OVERLAY - STOP The cushion area used for allowing expanded or added phases has been used up. An initial load must be performed to store these phases on the cartridge. Press PROGRAM START to restore the resident imagf:l and DCOM. E23 PHASE ID OUT OF SEQUENCE The ACCUMULATOR displays the phase ID that is out of sequence (from last card read). Place the decks in proper order and continue from the sector brealk record of the correct phase. E24 PHASE MISSI NG Error occurred when phase I D (word 11) of last record read was processed. Inspect load mode record, PHID record and phase 10 of previously loaded phase to determine which phase is now required. Locate missing phase, place deck in reader starting with sector break record of missing phase and continue. E2!5 PHASE ID NOT IN PHID RECORD The ACCUMULATOR displays the extraneous phase 10. To ignore the phaSE! press PROGRAM START. To load the phase correct the PHID record and re~.tart the load. E26 PHASE I D NOT IN SLET If the error occurred during processing of the reload table, the ACCUMULATOR displays the phase I D sought, and the extension displays the I D of the phase requestinn the SLET search. Press PROGRAM START to place zeros in the entry and process the next. If the extension displays zeros, a phase is being added, and the phase which should pn3cede it cannot be found. The ACCUMULATOR displays the phase I D se.arch'3d for. Press PROGRAM ST ART to restore the resident image and DCOM. E27 DEFECTIVE SLET SLET is defective. Initialize the cartridge and perform an initial load. E28 SLET FULL The ACCUMULATOR displays the 10 of a phase that may not be added because the SLET table is full. Press PROGRAM START to ignore the phase and continue. An initial load should be performed as SLET is probably defective. E29 PROGRAM NOT PRESENT A program or phases of a program defined in the primary PHID record cannot be reload'3d unless the program is currently on the cartridge. Press PROGRAM ST ART t'O ignore the phases of th is program. E30 RELOAD TABLE FULL If this error occurs before the '81' record is read the ACCUMULATOR dispil:lys the 10 of a phase which may not be loaded because the reload table is full. Press PROGRAM START to ignore the phase and continue. E31 MISSING PHASE 10 DUE TO DE FEeTI VE SLET OR RE LOAD TABLE The ACCUMULATOR displays the ID of a phase listed in the reload table as a phase requiring SLET information but the phase itself does not appear in SU:T. Initialize the cartridge and perform an initial load. E3;2 MISSING SYSTEM I/O PHASE All system I/O subroutines must be on the cartridge and in SLET. Initialize the cartridge and perform an initial load. Procedure A If cards are being read from a 1442 Card Read Punch: 1. 2. 3. 4. 5. Lift the remaining cards from the hopper and press nonprocess run out (NPRO). Correct the card in error (first card nonprocessed out) and place the two nonprocessed cards ahead of the cards removed from the hopper. Place the deck back in the hopper. Press reader START. Press console PROGRAM START. Figure A-6 (Part 2 of 3). A-24 Syst:~m loader error messages System Loader Error Messages If cards are being read from a 2501 Card Reader: 1. 2. 3. 4. 5. Lift the remaining cards from the hopper and press NPRO. a. Correct the card in error (last card in stacker prior to NPRO) and place this card followed by the single nonprocessed card ahead of the cards removed from the hopper or, b. If the error occurred after the PHI D card was read and before the type 81 card was read the system loader is in double buffer mode. Correct the card in error (in this case the second from last card in the stacker when the error occurred) and place the last two cards from the stacker and the nonprocessed card ahead of the cards removed from the hopper. Note, however, that the last card in the stacker will be the next card processed since it is already in the double-buffer. Place the deck back in the hopper. Press reader START. Press console PROGRAM START. If the input is paper tape, procedure A is applicable only to errors E 15 and E 17. Procedure B 1. 2. 3. 4. Place a mark on the tape adjacent to the highest sprocket tooth under the read starwhee!s as a point of reference. Count back (from that mark) the number of frames displayed in the ACCUMULATOR and mark the tape. Reposition the tape in reader so that the last mark is at the point of reference. Press console PROGRAM START. Note: Corrective actions for error messages E04, E21, E23, and E24 are not applicable to paper tape since a faulty tape must normally be replaced in full. Figure A-6 (Part 3 of 3). System loader error messages Monitor System Operational and Error Messages A-25 SGJP Error Messages SATELUTE GRAPHIC JOB PROCESSOR ERROR MESSAGES Figure A-7 lists the error messages that are printed by the satellite graphic job proce:;sor (SGJP). The numbered messages are printed on the console printer; the messages preceded by IKyxxxz are displayed on the 2250 screen. SGJP is described in detail in the publication IB1l1 System/360 Operating System alld 1130 Disk Monitor System User's Guide for Job Control from an IBM 2250 Display Unit Attached to an IBM 1130 System, GC27-6938. Error number (if any) and message Cause of error Your response G01 INITIALIZATION FAILURE Contact has not been made with SGJP in !he System/360 during an attempt to initialize the telecommunications line via the GTNIT data transmission subroutine. Ensure that the System/360 operator has issued a VARY ON command for the 113012250 subsystem on which this error message is printed. Then, using the console keyboard, type either an R to retry the operation or a C to cancel SGJP. G02 LINE ERROR An attempt to transmit data to the System/360 is unsuccessful because of an I/O error; standard retries are u nsuccessfu I. Using the console keyboard, type either an R to retry the operation or a C to cancel SGJP. G03 SYNCHRONIZATION ERROR The operation is not completed, either because both the System/3:60 and the 1130/2250 subsystem are in read mode, or because the System/3EiO terminated commu nication. Using the console keyboard, type either an R to retry the operation or a C to canceL SGJP. I Kyxxxz message text THE SATELLITE GRAPHIC JOB PROCESSOR MUST RESTART SGJP is terminated becauso an internal error occurred. If the error recurs, refer to the publication, 1£ M Systeml3'60 Operating System Messages and Codes, GC28-6631, under the message code (I K yxxxz) for further explanation of the error condition. Perform the END function, which causes the LOG ON frame to reappear. Perform the LOG ON operation again. I Kyxxxz message text THE SATELLITE GRAPHIC JOB PROCESSOR MUST TERMINATE SGJP must be terminated because an internal error occurred. If the error recurs, refer to the publication, IBM Perform the END function. This returns SGJP to the state it was in before the initial (CANCEL key) attention. Systeml360 Operating System Messages and Codes, GC28-6631, under the message code (I Kyxxxz) fc~r further explanation of the error co,ndition. Figure A-7. SGJP error messages A-26 Remote Job Entry messages and error messages RJE MESSAGES AND ERROR MESSAGES The error messages that are printed by the RJE program are listed in Figure A-8. The first digit of the messages has the following meaning: 0-Error in RJEOO I-Error in the initializing part of RJE 2-Error during the processing of the RJE program; does not require an operator reply through the console keyboard 5-Error during the processing of the RJE program; requires a reply through the console keyboard from the operator Messages that are not caused by errors but are printed by the RJE program are listed in Figure A-9. Monitor System Operational and Error Messages A-27 RJE Error Messages IError number and message Cause of error System action Your response .101 INVALID CARD The control card that contains the work station generation information is invalid or contains invalid information (see "Generation of the 1130 RJE Work Station Program" in Chapter 10). The work station prepares to read a new data card. Enter a val id data card. Jll0 INVALID PRINTER Information from the disk monitor system indicates that the principal print device is not an 1132 Pri nter or a 1403 Printer. The work station program exits to the disk monitor supervisor. Reload the RJE Work Station Program after performing a system reload that specifies the 1132 or the 1403 as the principal print device (see Chapter 8 for information about system reload). Jl1 INVALID READER I nformation from the disk monitor system indicates that the principal I/O device for system is not a 1442 Card Reader or a 2501 Card Reader. The work station program exits to the disk monitor supervisor. Reload the RJE Work Station Program after performing a system reload that specifies the 1442 Card Reader or the 2501 Card Reader as the principal I/O device (see Chapter 8 for information about system rei a-ad) . J12 LOGICAL DRIVE X NOT IN SYSTEM The area on disk reserved for your exit data is on 21 logical disk drive that is not present during this RJE run. The logical drive number replaces X in the message. The work station program exits to the disk monitor supervisor. Change your exit parameters elr ready the requested logical drive, and reload the RJE Work Statlion Program. J13 TOO MANY EOUATS The number of subroutines equated by you and the RJE program in the curront job is more than 25. The work station program exits to the disk monitor supervisor. Reload the RJE Work Station Program with a smaller number of subroutines specified in the *EOUAT control record. Note: The RJE program intemally requires the following number of EOUATS. Compress/expand feature2 pairs 2501 Card Reader-2 pairs 1132 Printer-1 pair J14 DISK ERROR OCR= A permanent error is encountered while attempting to read data from disk during the initialization part of the RJE program. The program continues according to your response. Enter one of the following codes: T - I ndicates exit to the disk monitor supervisor requesting a terminating dump of the contents of core storage on the printer. X - Indicates exit to the disk monitor supervisor without printing the contents of core storage on the printer. Figure A-8 (Part 1 of 5). RJE Work Station Program error messages A-28 RJE Error Messages Error number and message Cause of t!rror System action Your response J20 RJSTART MISSING The requirement for an RJST A RT command is not satisfied. The program waits for your response. Enter an RJSTART command through the card reader, and press PROGRAM START on the console to resume processing. J21 •. DATA INVALID A .. DATA command contains invalid parameter. The program waits for your response. Use the operator communication request facility (see message J90 in Figure A-9). Note: This message is also printed if the requested logical disk drive is not present. J22 INVALID INPUT The input entered from the console keyboard does not start with the JECL identifier ( .. ) followed by at least one blank. The program waits for more input from the keyboard. Enter a work station command or press EOF. J23 INPUT ABORTED BY CENTRAl,. The central system has terminated input from the work station and sends a message that explains why input was terminated (see "Messages Sent to Work Stations" in IBM The program waits for input from the line. When the message from the central system is printed, take the indicated action. To resume input, follow the procedures described under "Console Keyboard Procedures" in Chapter 10. The RJE program closes the communication line, if it is open, and waits for your response. Enter one of the following codes through the console keyboard: System/360 Operating System Remote Job Entry, GC30-2006, for a I ist of the messages). J51 LINE ERROR OCR= An unrecoverable error is encountered while reading or writing on the communication line, or the line cannot be opened. A - Indicates that input is available at the card reader. If you select this option, the first card in the card reader must be an RJSTART command. On a switched line, the line must be disconnected before the restart is tried. If this is not done automatically by the work station program, you must do it. Dial again when J91 ESTABLISH LINE CONNECTION is printed. T - Indicates exit to the disk monitor supervisor, requesting a terminating dump of core storage to the printer. x - I ndicates exit to the disk monitor supervisor, without printing the contents of core storage on the printer. Figure A-8 (Part 2 of 5). RJE Work Station Program error messages Monitor System Operational and Error Messages A-29 RJE Error Messages Error number and message Cause of error System action Your response J52 A permanent error is encountered while attempting to read input from disk. This message is printed only if your disk input is being read at the time' the error occurs. Reading of input data files and card reader input is discontinued. Any available output from the central system is accepted after you make your response. The system continues according to your response. Enter one of the following codes (within approximately 3 minutes on a switched line): DISK ERROR INPUT OCR= A - Indicates that input is available at the card reader. 8 - I ndicates that commands are to be read from the console keyboard. C - Indicates that available output is accepted. (Any pending keyboard input is processed first.) T - Indicates exit to the disk monitor supervisor, requesting a terminating dump of the contents of core storage on the printer. Note: You may have to resubmit a job that has been partially entered, but must precede this by eithelr obtaining the output of, or deleting, the job in question. J!53 DISK ERROR OUTPUT OCR= An unrecoverable error is encountered while attempting to write data on disk. This message is printed only if data is being written on disk by the 18M-supplied userexit routine. Output from the central system is discontinued. The disposition of the output is specified by the use of the CONTINUE command. The system continues as directed by your response. Enter one of the following cocles (within approximately 3 minutes on a switched line): A - Indicates input is availablt~ at the card reader. (Any pendin~1 keyboard and disk input is pwcessed first.) B-1 ndicates that commands are to be read from the console keyboard. C - Indicates that any pending input (keyboard, disk or cardJ' is processed. If input is not available, the system maintains the line operations. T - Indicates exit to the disk monitor supervisor, requestin'iJ a terminating dump of the contents of core storage on the printer . .J54 DISK ERROR OCR= An unrecoverable error is encountered while attempting to read RJE constants or error messages from disk. If this message is printed, an RJE error message that indicates the original error may not be printed. The program continues accord i ng to your response. Enter one of the following codes: T - I ndicates exit to the disk monitor supervisor, requesting a terminating dump of the contents of core storage on the printer. x - Indicates exit to the disk monitor supervisor without printing the contents of core storage em the printer. Figure A-8 (Part 3 of 5). RJE Work Station Pro,gram error messages A-30 RJE Error Messages Error number and message Cause of error System action Your response J55 You did not reserve space or reserved too little space on disk for user-exit output data sets. Output from the central system is discontinued. The system continues as directed by your response. Enter one of the following codes (within approximately 3 minutes on a switched line): END OF DISK AREA OCR= A - Indicates that input is available at the card reader. (Any pending keyboard and disk input is processed first.) 8 - I ndicates that commands are to be read from the console keyboard. C - I ndicates that any pending input (keyboard, disk, or card) is processed. If pending input does not exist, the system maintains the line operations. T - Indicates exit to the disk monitor supervisor, requesting a terminating dump of the contents of core storage on the printer. J56 CARD READER ERROR OCR= An error has occurred on the card reader that requires your intervention. The system waits for your response. Enter one of the following codes (within approximately 3 minutes on a switched line): A - I ndicates you have corrected the problem, and the program resumes card reader input. E - Indicates that you could not correct the problem. The program assumes an end-of-file ( .. null card) indication closes the card reader. J57 CARD PUNCH ERROR OCR= An error has occurred on the card punch that requires your intervention. The system waits for your response. Enter one of the following codes (within approximately 3 minutes on a switched line): D - I ndicates you could not correct the problem. Output from tho central system is discontinued and a .. CONTINUE command has to be transmitted to resume o a.. I§f. N 10al :;;:p alO ~~ o III .., 3 ~s: 3 Bl 0'"'" aI III Error number Description Operator's switch option Operator recovery proceckife (Note that the instruction PRESS START, if not stated, is implied in each of the following procedures.) ..,(,0 25ED 25FA 260F 26111. 2620 2625 2629 2632 263B 2644 264,~ 2653 265': 2665 2661:3 267,* 000'1 0009 2670 CHAIN AOOR. 0223 FOR DEI MAT (NT DSF OOlE 2607 PROG NAME -FLET 01E8 PROG NAME OCI09 0006 0006 0009 0009 0009 0007 00111. 0003 0003 0004 0004 0010 0011 0015 OOOF 0013 0015 OOOC OOOE OOOE 001A 0010 0007 0008 0012 0009 0007 0009 DB AoOR 006C OOOA 0007 OOOB OSF 0015 2913 oSF 0005 2928 oSF 0028 2920 OSF 0008 2955 DSF 0005 2950 OSF OOOA 2962 OSF 0005 296C DSF 0028 2971 OSF 0008 2999 OSF 0004 29Al DB AoOR DSF C1003 29AE oSF oSF oSF OSF DSF OSF OSF oSF OSF OSF OSF OSF OSF OSF oSF C:009 C:008 (1002 (1002 CI007 OOOB 0008 0006 Cl004 CIO IF ()04A ()006 0069 Cl061 (J002 29Bl 29BA 29C2 29C4 29C6 29CD 2908 29EO 29E6 29EA 2A09 2A53 2A59 2AC2 2823 PROG NAME FOR DB MAT CNT DB ADOR PROG NAME FOR DB MAT CNT PRTZ2 oFCNV RGBLK RGERR RGCVB RGTSZ RGSI5 RGSI3 RGSI4 RGSI2 RGSIl RGCMP RGMV4 RGMV3 RGMV2 RGi'1Vl RGMV5 RGEOT RGoT8 RG6TD RGMVR DSF OSF OSF OSF oSF OSF DSF DSF 0006 009F 0005 0005 0006 0005 0006 0004 2B25 2B2B 2BCA 2BCF 2804 2BOA 2BOF 2BE5 OSF 002E 20C DS,F 0010 2CI)A DSF OOlA 2C'7A DSF OSF OSF oSF oSF DSF OSF 0006 0005 0006 0006 0004 0006 OOOA 2BE9 2BEF 2BF4 2BFA 2COO 2C04 2COF RGoIV RGMLT RGADD RGSUB RGNCP ISROO ISRo ISRoC ISEQO ISETL ISEQ ISEQC ISAoo ISAO ISADC ISLDC ISLD ISLoC OAOPN DAIO oACLS DSF 0013 2C19 DSF 0008 2C2C oSF 0008 2C34 DB AOI)R oSF OOlC 2C94 OSF 002A 2CBO OSF 003E 2CI)A OSF 0026 2018 oSF OOOF 20~E LET/FLET DUMPLET listing -CION 4444 SFPAO 02E5 SCTR NO. 0003 -FPAO 02E5 UA/FXA. 0228 PROG NAME FOR DB MAT CNi SEQOP SEQIO SEQCL RGSTO RGSTI FEB41 BEB41 F41EB B4lEe QEB41 Q41EB MTCAO MTCAl TS"141 TSTTY IDUMY OATA2 lDUMY OSF OOlC 2040 -CIBA 0210 -UI.ET 0220 WORDS AVAIL. 0105 DB AOOR PROG NAME .FLU 01E8 CHAIN ADDR. 01E1 FOR DB MAT CNT DB ADDR PROG NAME FOR 08 MAT CNT DB ADDR PROG NAME FOR DB MAT CNT DB ADDR PROG NAME FOR D8 MAT CNT D8 ADDR PROG NAME FOR DB MAT eNT DB ADDR PROG NAME FOR DB MAT CNT DB ADOR OSF 001A 2069 OSF OOOF 2083 OSF 0024 2092 OSF OSF OSF OSF 0023 OOOE 003A 0008 0004 DDF 0020 35BO 2086 2009 20E7 2E21 2E2C 2E30 2E50 FLET -CION 4444 SFPAO 02E5 scrq NO. 0011,) PROG NAME -FPAO 02E5 UA/FXA. OIFO FOR DB MAT CNT DB AODR -ULET 0220 -CIBA 0210 WORDS AVAIL. 0132 PROG NAME .FLET 01E8 CHAIN ADDR. 0000 FOR DB MAT CNT DB ADDR PROG NAME FOR DB MAT eNT DB ADOR OATA OOF 0020 1FOO CIMGE DCI 0030 IF20 10UMY 01BO IF50 END OF OUMPLET/FLET LET /FLET D-5 LET/FLET DUMPFLET listing *OUMPFLET FlET SFPAO 02E5 '"CION 4444 SCTR NO. 0010 PROG NAME -FPAD 02E5 UA/FXA. 01FO FOR DB ~AT CNT DB ADOR DATA DDF 0020 1FOO CIMGE DCI 0030 1F20 1DUt-1Y 01BO 1FSO END OF DU/>1PFlET 0-6 eUlET 0220 -CIBA 0210 WORDS AVAIL. 0132 PROG NAME -FlET OlES CHAIN ADDR. 0000 FOR DB MAT CNT DB .ADDR PROG NAI'-1E FO~ DB MAT CNT DB ADDR PROG NAME FOR DB MAT CNT DB ADOR PROG NAME FOR DB MAT CNT DB AOOR Appendix E. System Location Equivalence Table {SlET) The addresses listed in the following SLET printout are subject to change. Only the symbols and phase IDs remain constant. SYSTEM lOCATION EQUIVALENCE TABLE ISLET) SYMBOL PH ID CORE ADDR WORD seTR COUNT AODR syr1BOl PH 10 CORE ADDR WORD SCTR COUNT AOOR SYMBOL PH 10 CORE AOOR wORD SCTR COUNT ADOR SYMBOL PH 10 CORE AODR WORD SCTR COUNT ADDR ***** ** **** **** **** ***** ** **** **** **** ***** ** **** **** **** ***** ** **** **** **** 'DDIJP 'DUMP 'EX IT 'DU13 'PRCI 'FR03 'FR07 , FRll 'FR15 'FR19 'FR23 'FR27 'SUP4 , ClBI 'ClB5 'ClB9 'CLBO '2501 'COCV 'OlIO 'PIXK 'eILl 'RG06 'RG14 'RG20 'RG26 'RG36 'RG44 'RG58 'ASOO 'AS12 'ASYM 'AS2A 'AS07 , APev 'AOIV 'AMIB , At-103 'AX2A 01 05 09 00 7C50 410E DlOE 7782 OlOE 7A34 7A34 7A34 7A34 7A34 7A34 766E 07FE OlEO 08B6 OAAO OAAO 0000 0000 OOFO 0000 0000 0906 073A 073A 0782 0782 0782 073A OlEO 027E 0000 0280 027E 027E 027E 027E 07AA 07A6 032F 054B 0500 087C 0280 0280 0280 03eo 0500 0404 ,03eo 0140 0280 0782, 0lE8 0140 0140 009C 00B9 01A2 00ge OlCO 076B 0604 05C8 022E 025F 05F3 05FO 026B 01B9 0130 00A6 017E 0099 00B8 0108 0051 0054 oe08 0016 002A 0031 003E 0040 0059 0066 0073 0083 008F 009C 00A7 00B3 00e2 00e8 OOCO 0001 0007 OOOB 0001 00E2 OOFA 0116 012E 0142 0152 0161 0173 OleC 0191 0197 019E 01A6 OlAF 011'36 01BO 01e5 OlCO 'DCTl 'DI../F '(FeE 'DU14 'OU18 'FR04 'FR08 'FR12 'FR16 'FR20 'FR24 'SUPI 'SUPS 'ClB2 'CLB6 'eLBA '1403 '1442 'PTev 'ONIO 'pewK 'RGOO 'RG08 'RG16 'RG21 'RG28 'RG38 'RG46 'RG60 'AC,W 'AERM 'AS03 'AS09 'AS7A 'AIo'H I A/-I,eC 'AM02 'AM3A 'AX2B 02 06 OA OE 12 22 26 2A 2E 32 36 6E 72 79 70 61 6e 90 94 98 9C BO B4 B8 BC CO e4 C8 ec DO 04 De 1l0E OlOE 7A06 7A06 OE6E 7A34 7A34 7A34 7A34 7A34 7A34 04FE 07FE OSBe 08B6 OAAO 0000 0000 0000 OOFO 0000 0212 0906 0762 073A 0782 0782 0782 073A OlEB OACB 07A6 0456 0260 0980 027E 027E 027E one 05A2 03eo OODE 0248 0140 03eo 0500 03(0 0500 03eo 03(0 02FE 03EA 04E2 01E8 0140 0132 OOAB 0003 02BO 0089 094E 06e2 046E 060F 0491 050C 04E9 039D OOBB 013E 0250 059E 0127 0058 018A 0106 01B3 0058 OOOB 0010 002E 0038 0040 :l04F 005B 0069 0077 0087 0092 0090 00A9 OOM 00e4 00e9 eOCE 0002 0006 0000 0007 00E4 0100 Olle 0133 0144 0154 0166 0178 018E 0193 019B 019F 01AA 01BO 01B7 OlBF 01(6 OleE 'STOR 'DI..TE 'DUll 'OU15 'FROI 'FR05 'FR09 'FR13 'FRl7 ' FR21 'FR25 'SUP2 'SUP6 'ClB3 'ClB7 'CLBB ! 1132 '1134 'KBev 'PPRT 'pexl( 'RG02 'RGIO 'RG17 'RG22 'RG32 'RG40 'RG52 'OeL2 'ASI0 'ASOl 'AS04 ' AS05 ' AS08 'ASAA 'AMOI 'AM2A 'AM3B 'AX2e 03 07 OB OF IF 23 27 26 2F 33 37 6F 73 7A 7£ 82 80 91 95 99 90 Bl B5 B9 BO el C5 e9 2lDE OlOE 7A06 7A06 760e 7A34 7A34 7A34 7A34 7A34 7A34 07FE 0506 08B6 OAAO OAE2 0000 0000 0000 0000 oooc 0906 04A6 0162 07B2 0782 0782 073A 1I0E OlE8 027E 027E 027E 027E 0980 027E 027E 12E6 0882 05A2 05A2 0035 0248 09Fl 0500 03FO 03(0 0500 03(0 0500 0526 04F8 OlEB 0140 0140 0113 016e oe03 0113 0089 0893 0811 06E3 02AE 06C7 0576 03Ae 0280 0060 0108 0107 01e4 0198 0063 0106 0106 0285 0030 0010 0020 002F 003A 0041 0052 005F 006e 007B 008A 0095 OOAO OOAO OOBE 00C6 ooeA OOCF 0003 OCD9 OOCF 0007 OOEC 01:)8 0120 0139 0148 0159 016A 0178 018F 0194 019A 01A4 OlAB 01Bl 01B9 OlCl Olea OlCF 'FIlQ 'DFNE 'OU12 'DU16 'FR02 'FR06 'FRIO 'FR14 'FR18 'FR22 'FR26 'SUP3 'SUP7 'CLB4 'ClB8 'eL8e 'ePTR 'KBep 'OliO 'p n-ll( 'eILl 'RG04 'RG12 'RG19 'RG24 'RG34 ' r~G42 'RG54 'OMUP 'ASll 'AS1A 'AS02 'AS06 'AS8A 'ASGR ' A~'1A 'AM28 'AXOI 'AX03 04 08 OC 10 20 24 28 2( 30 34 010E OlOE 7A06 7A06 7A34 7A34 7A34 7A34 7A34 7A34 7BBE 07FE 0400 08B6 OAA'J Od86 0000 0000 OOFO 0000 oooc 0906 073A 073A 0782 0782 0782 v73A OlOE OlE6 027E 027E 027E 027E OEBC 027E 050A 027E OEBe 03CO 05A2 0008 0248 0500 03eo 03(0 05,)0 0500 0280 03eo 0280 0189 01E8 0.i40 (Jlt;;8 OllB 0174 OOt:C 009C ono 0783 0867 0932 06B9 046C 03A5 0667 llDF 0050 0115 0IA2 0106 OlB5 03(1 010B Ol5A 01(9 036E 0015 0025 0030 003C 0049_ 00:;6 0063 006F 007F 0080 0')99 OOA5 OOBI ooeo 00(7 oceB 0000 000:' OOOA 0001 OOEO OuF3 OlOF 0126 Ol3e 014£ Ol!:lE 0160 0170 01<;0 0196 019C 01A6 JIAO 0182 OlBB 01C3 OlCB 0100 11 21 25 29 20 31 35 39 71 78 7e 80 84 8F 93 97 91'3 A1 1'33 B7 BB BF C3 (7 CB CF 03 07 DB OF E3 E7 EB EF F3 DC EO E4 EB EC FO F4 co 01 05 09 DO El E5 E9 ED Fl F5 38 70 74 78 7F 83 BE 92 96 9A AO B2 1'36 BA BE C2 C6 CA eE D2 06 OA DE E2 E6 EA EE F2 F6 System Location Equivalence Table (SLET) E-l E-2 Appendix F. Core Dump The following is a partial printout of a core dump: ACCUMULATOR 4000 AOOR • •• 0 ••• 1 ••• 2 0000 0010 0020 0030 0040 0050 OObO 0070 0080 0090 OOAO OOBO OOCO 0000 OOEO 70FF 0000 COFE 0000 0809 0000 00F2 0000 0000 0080 OCCO 0000 4ceo 6109 020B Dora OOEF 0100 0110 0120 0130 0140 0150 0160 0170 0180 0190 OlAO 01130 OlCO 0100 OlEO 01FO 0200 0210 0220 0230 0240 0250 0260 0270 0280 0290 02AO 02BO 02eo 0200 02EO 02FO 0300 0310 0320 0330 0340 03'50 0360 0370 0380 0390 OlAD 03BO 03CO 0300 03EO 03FO 0400 0410 0420 0430 0440 0450 0460 0470 0480 0490 04AO 04BO 04CO 4eoo 1000 4293 5002 0400 COE6 aooc 7C07 DBA 1002 4810 OOEE DA34 0140 4eOO COll 425B 1800 623e C7CO OOCO E8C5 COIl 0000 7006 0000 61000 OCCO 0000 1010 e303 6458 5246 1234 4COO 2CCO DC01 1002 OCCO 4804 70F6 1800 70Ee 00B6 28ZE lCOl 6500 70CO C808 4FOF 4EOE 4000 4COC 480B 4AOA 4909 oeoo 7101 OFBE OCOO C018 FFFB 0000 1B90 0000 4023 COOO 4003 0000 0000 0000 COOO 0000 00B3 0810 OFOO FF6A 01C5 6500 7034 5004 0141 4400 001C CIOI EA43 4828 7002 70E4 C101 C900 COOo 1001 70F3 DOlF 08 Ell COOO 4802 C700 D01B A900 1000 7bOO COOO COOO 0000 73FF 1088 2519 13C7 5678 06A9 70F4 6600 COlO IlCC 70C 7 4CeO 0004 700C 1800 6'12 A 4818 COOO 0000 C089 8747 8646 8545 8444 8343 8242 8141 COCO 70FA 7101 COOO 8400 0000 FFFF 4400 0001 28ZA COEB 4102 0000 3000 3000 0000 0000 0001 1140 0000 004A 690F 0004 0001 FECO 0000 0028 800B 800 023Q 70aO F251 7401 EA 50 OA32 7028 4810 0000 D05C 4804 11 00 1008 0000 6200 7F 7F 4820 FF 17 72A5 COOO 0000 72ff 0303 261A 5408 03F8 7017 0819 0000 0000 COOO 0400 o38E OOCF 70EA 80eS 6A2B 7002 e500 1HO 8848 8FCF 8ECE 80CO 8CCC 88(.B 8ACA 8000 eooo 6lBe 70FA 0000 054E EXTENSION OFAF )cRl 0000 )c~2 )cR3 0260 007F ••• 4 ••• '5 ···6 ••• 7 •• ·8 ··.9 ··.A ••• B "·C ··.0 .·.E ••• F 0949 0000 00F2 0000 6903 00C2 0000 0000 4C80 4CCO 0000 0066 0000 4580 0300 1400 0822 6600 0238 0001 FFFF 7038 0034 7401 EA50 1002 8230 OOEE 0101 CA3C 4COO 7005 AF01 0001 70FA E006 1808 73FF 10AO 4040 70FA 6AOe 6A25 0000 0000 70F8 (306 675B 40'7F ClCO 4eoo 1C02 C202 0012 1701 0033 08EO 6CeO 4002 COAC 0003 COZO OCOO 001C 6A99 9757 9656 9555 9454 9353 9252 9151 COCO C014 C005 COCO 0010 OFFA 70FF 7400 0000 C480 6580 0000 ocoo 0081 0091 0658 6906 06CE 054C OCOO aOEE 6500 00F2 OFFA 0080 OCOO 7401 8007 016E 9247 4828 DA34 4COO 420F 0900 CCOO 0204 OCOO 6780 C2FA 4810 1888 7007 C6CO OOOA 7401 72FE 6A38 OCOO oeoo 001 1888 681C 7E4A 4820 OCOO 4828 1800 CC08 4EOO 70C4 4804 0013 COe4 7000 0023 7C12 4802 OOEF 9858 9FOF 9EOE 9CDD 9COC 9B08 9AOA 9010 OCOO 0500 0400 0000 0012 0238 0000 OOEE 0000 003F 0039 0050 ooon ooon 0530 0658 6A07 0818 200('1 OFOJ 70FD 0000 0816 0238 060n 0000 0037 800A 7201 0237 7010 420F 0119 C240 70B7 6237 0817 ACOO OCOO 4830 702B COFA 4027 OCO('l 4007 0032 6AOB CCOl ecoo 0000 FOlll C305 295n 7CO~ 4200 7coe lOlA C201 4804 4FOI 4eOO 7CO' 7401 ocet CCCO 6250 6918 lCOR oeoo 70B9 8777 B676 B57'5 B474 B3B B2l? B171 oeon 1000 OCOF 1000 0401" 0080 0001 70FO 0000 0002 C101 COCB FFFF 3000 0000 0658 2807 280E 6500 0000 7002 6600 00C6 0004 C008 1810 6211 8007 70F5 EA42 CI01 CA38 CA3C 0235 0000 OB1B 4804 0800 1000 70FA 1002 9020 6COO 1888 6204 70F5 7600 70E5 OOCO 0000 4820 1088 2A5E 614C C201 4C40 1001 9825 7002 0000 0000 CODE 0032 C400 COCO C600 COlA 1BC8 0000 BB78 8FFF BEFE BOFO BCFC BBFB BAFA B030 0000 7101 4COO C811 0009 0000 0000 70F4 0002 C8F4 1800 E8A9 0000 4C80 0000 0000 080A 690F 0003 08FC 0000 0260 4810 BoOO 5000 00A6 6A96 0006 0101 8247 9400 OA34 4808 C247 0000 OOlA 7007 ACOO 7050 C04A 4802 4810 0036 1008 027C C080 OdEB 1000 0000 0000 70C4 C304 681F 5015 1001 0000 4828 4818 40lE 0000 08F2 0005 08CE 0033 0000 0000 1084 0600 40F9 f737 F636 F535 F434 F333 F232 F131 C008 0000 70FC 0038 OC80 6500 0327 0900 038C 7019 4400 CI00 4e20 006E 0085 0000 0000 4400 6AI0 6600 4C40 7018 COEE 70E7 0004 OFF8 74FF 6500 62Fo 6600 0240 009A 420F 7011 4B20 0000 1003 0800 9000 7007 0600 7001 7017 08AB 9014 6COO 44CO 6A95 0000 OOCO 6780 C09A C88A 2C20 61H6 4828 0835 7036 1800 7001 0001 4804 70F8 2000 4818 0000 0028 OOOB 0000 F838 7F3F 7E 3E 7030 70C 7838 7A3A 7939 0040 0000 6580 0040 0409 04CF 01E4 70FF 3000 0000 00F2 6500 0066 0001 0000 0000 0000 00F7 0816 0000 OOEA 690B 4C98 CBOA 8000 0100 0032 0004 698E 00F2 EA48 4818 C231 8A40 420F 0000 4810 COOB AFOO 4063 0000 7026 1090 6500 4818 0036 0028 7213 0000 0000 0000 0307 0805 7F49 4057 7010 2806 1010 4820 4028 1402 7003 COE4 70B6 70E9 0000 1886 0017 72FF FOE9 E727 E626 E525 E424 E323 E222 6121 0004 720C 0019 FFFF COlF 6000 00B3 4000 4C80 1810 COF1 010C 0803 0000 3000 0238 0000 6500 1002 C803 4400 6AOC 00F2 0900 0122 0701 1000 C900 e101 C230 o23B 701B 0480 OAlC CA32 OOAO 7005 100C FFOO 6COO 72FF 4808 1900 OCOO 700E 08F5 70F3 6ACA COOO 0000 C233 7301 7401 7F40 6061 4802 0835 0400 7008 080B 1000 COFO 4400 28Fo 1010 0000 1807 6808 1008 E828 6F2F 6E2E 6020 6C2C 6B2B E02A 6929 0006 6A02 7101 OCOO 1890 0004 0091 OFAF 0028 7017 1007 0888 4e80 0000 4C80 0000 0000 010c 4CI0 4CCO 003F 1008 0003 74FF 8EOO 0007 70B8 08CB EOCC E2't9 CA3C 1893 0198 4830 0900 2222 74FF 4810 OOOA 0036 70FC 720A 7100 6600 72FF 704e 70CO 7600 0000 0000 1890 70F8 0037 0001 5B62 7022 C034 0013 C203 70C7 1702 OOEl 0028 0003 0400 2542 1883 C007 6500 6009 0711 0616 0515 0414 0313 0212 0111 00C4 6lFit 70C7 0000 4400 700F 00C4 4COO 00E6 0001 0000 4008 0065 0000 0089 0000 0000 6600 0000 00C4 FFFE D03C 1810 OOEE BCOO OOOA C807 0801 0101 0250 OA3A 18,OF 9101 1810 C23e 0170 0032 70E6 6940 08E9 6100 1002 7003 0000 70F6 4COO 0082 FF89 0000 OOCO A8A1 6780 C881 OE02 5C23 70e2 803B 74FF 4820 1401 30CO 70F8 70F6 7400 0033 0089 C024 8016 ooeo 0818 5FIF 5E1E 5010 5CIC 5B18 SA 1A 5919 00C9 C5CO 61FC OOCO 00F2 0099 0091 0500 0248 0004 0000 COFC 2000 0000 0000 0000 0000 0260 4480 4001 0000 1800 00E9 703A 8F81 009F 0900 1810 9400 C400 02EB 1002 4C18 824F 4C08 015C 1000 024E 6A4E 703B 6600 180C DOC8 b700 700B 0000 7082 6ASB 0000 0000 1800 0000 7090 4F43 4E6C C2F9 0032 0032 7005 1702 3000 COEC 40F4 0013 70E9 01'53 610A 0005 6600 00A9 A767 A666 A565 A464 A363 A262 AIEl 00C6 0466 e500 0000 1400 0000 CARRY OFF OVERFLOW OFF ".3 4000 oeoo 0000 FFFF 0000 1890 0000 0000 3000 0000 0000 2000 002C 028C 0011 005A 4COO C80F OEBA FFFB eOE1 1084 00A4 009F 4828 EA3A 01B6 0100 0146 0132 1810 70E4 6B4F COE9 0000 0001 7108 0000 7001 0889 6801 6AB3 0000 0000 E81F C304 OOFO 1004 4B6E 009C OB33 1000 6eOO 0000 4000 4400 C005 70FO 40C7 4COO EOB C012 0000 A868 AFEF AEEE AoEO ACEC ABEB AAEA A020 0000 0500 0451 0000 OOEE 0132 0000 04FE 0000 0000 0000 4400 ce80 0000 4C80 8800 0000 C802 FFFE 0000 0000 7054 OOBA COll 0239 8E80 7000 OOOE 4828 EA4E 708C 1800 74FF CA36 7500 014A 0204 C008 107E 42EC lOAD C600 7000 7080 COOO 4804 6600 7201 0000 0000 0306 1888 7F7F 5145 502F 0140 C82E C022 OOOF 0000 COED 0028 0007 7002 COAC 'COOO 1140 1091 2000 50C9 C1C7 C606 C505 C404 C303 C202 C101 0000 OFBC 0500 COOO 70FO OHA •••••••••••••••••••• u••••• o•• ...• ........•..• •................................• ••••••••••••••••• R ••• •••••••• 2 ••••••• 4 ••••••••• w••••••• .QR •••• lo •••• KH4 ••• 2.1 •• h •••••••• B•••• A••• A••••• Q. .......• •••••••• ·.2 •••••••• I •• y •••••••••••••••••• •............................•...• •.....••••••....•.•..............• ••••••••••••••••••••••••• J ••••••••••••• 8 •••••••••• ~ •••••••• ••••••••• • •••••••••••••• O•••• 7 ••••••• - •• H•• .,.. .. .....• . .............• •............••................•.• • •••••••••• 0 ••••••••••••••••••••• • • •• 0 •••••••••••••• H•••• D •••••••••••••• • ••• E ••••••••••• - ••••• 2 ••••• I ••••• • ••••••••• 2 ••• F ••• XH.R ••••••• H•••• •.....•....•.•.••••.•.... ~ .......• ·&.& ••••••••••• &•• 8 ••••••••••••••• • •••••••••••••••••••••••• HPR •••••• ·.W •••••••••••••••••• I.QHUJ •••••• • •••••••••• P •••••••••• A ••• ~ •••••••• ••• A•• e ••••••• 5J •••• 2B.S.KtO •••••• .K ••• K•• t •• K••••• K( •• K••••• K•••••• ••••••••••••• A•••••••••••••••••••• • •••• 2 ••••••••••••• B.M •••••••••••• • ••• u••••••••••••••• •••••••• J •••• ••• A•• tJ ••• B(K.B ••••••• R.B •••••••• 1 ••••• R•••••••••••••••••••••••• • •••••••••••••••••••••••••••••• K•• • •••••••• K•••••••••••••••• WK+.U ••• .. =. •• $.3 ••••••••••••••••••••• (.+, •• • ••••• • ••••••••• 1 •• •••••• Z••• l ••• • ••• k •••• B••••••• O••••••• I •••••••• ·G •••••• O•••••••••••••••••••••• F.* •••••••••••••••••••••••••••• H••••• ·yEP •••••• P ••••••••• F •••••••••••••••• 6 ••••••• ••• K•••••• 5 ••••••••••• •••••••••••••• 5 ••••••• 3 ••••••••••• •...... .. .....................• •... .••.•...•..••••.•...•......•• • ••••••••••••• v••••••••••••••••••• •................................• ~ ••••••••••••••••••••• B ••••••• Y.l.· •••• ~ ••• 8C.0 ••••••• l •••• 8 •••• C••• • ·C ••• l.C ••• e ••• l.H ••••••• H•••• O••• •...... •••••••• $ ••• ) •• , •••••• ..........• .=.'.I.&.,.(.-/S ••• + ••• I •• • •••• l8B ••••• B•••••••••••• BB9 ••• (. •• Q ••••••••••••• H•• •• e _ •••••• a _ •• • ••• 4 ••••••••• 4 • • • • • • M••••••••• ~ •• ••••••• 8 ••• B•••••••••• QB •••• N •••• • •• K •••••••••••• '••• •••• G ••••••••• .... ••••••••• + ••••••••••••••••••• • ••• GM •••• 0 ••••• 2 ••••• 0 ••• 8 ••••••• ·.6 ••••••••••••• N.8.U ••••• 64.N.P· •...... •............•.•.........•..•....•* •••• ~ ••••••• * ••••••••••••••••• R •• ~ K.D.AO •••••• I •• M•••• Z G •• .. • ••••••••••• tF ••••••••••••• I •••• •................•.......•.......• • •••• E••••••••• O••••••••••••••••• • •... ........... q8.0Zy.-RQ ••••• tI~ ·H ••••••••••••• 1 ••• X••• P••••••• G.· ••••••••••••••• 6.=.W ••• O••••••• F •• .+ ............. 5.'.V.~.N.)e •••• E.* ., ••••••••••••• 4 ••• U••• M••••••• C.* ••••••••••••••• 3 ••• T.,.l.S ••••• C.· • •••••••••••••• 2 ••• S ••• K••••••• B•• • •••••••••••••• I ••• I ••• J ••••••• A.~ •••••••••••••••• Q. ..... O.O.I.F •••• '" • •••••••••••••••••••••• /4E ••• N••• • • •••• I ••• N••••••••••••••• I.E ••• ~.· •••• a •••• M •••••• e . ••••••••••••• H•••• R••••••• l~ •••••• •••••• + •••• ~a ••••••• o.M •••••• ~ ••• + • • • • • • • • • «1 • • • • • Core Dump F-I AUOR ••• 0 ···1 0400 04EO 04FO 0500 0510 0520 0530 0540 0550 0560 0570 0580 0590 05AO 0580 05eo 0500 05EO 05FO 0600 0610 0620 0630 0640 0650 0660 0670 0680 0690 06AO 0680 06CO 0600 ObEO 06FO 0"100 0110 0120 ono 0740 0·,50 0760 0770 0"180 0790 01AO 0"1BO 01CO 0700 OCCO 0001 1002 C4CO 0018 4C20 8018 1890 OOCO 0089 0528 0174 026B OCOF 05B4 060A 1008 63F2 7400 068A 40E3 40C3 C902 1010 OCOO 0666 0686 00F2 7001 1000 OOOF 4C18 068A 40C9 0000 F1F3 0709 4009 40C9 COll 7eoo 0000 4400 9C2S 70FS OOOS EOF9 4e20 OCOO CCiOO t:500 1(186 C(l64 1000 C64e 1801 4400 C!.E4 C153 cl.le 0151 CI71 C09C C400 4400 E901 700E 0071 6301 E801 06C2 oeoo 0480 0560 6303 0600 7400 COOO nOl 4eAO O6C6 0000 D5E5 0440 40e4 06C7 Co;C3 (;440 la90 C755 OE6C COF2 4t IS 1201 COOS 100A C195 COOO 01FO 0800 0810 0820 0830 0840 OS')O 0860 OS70 0880 OS90 08AO 08BO 08CO 0800 08EO 08FO 0900 0910 0920 0930 0940 0950 0960 DA80 OA90 OAAO OABO OACO DADO OAEO OAFO F-2 ••• 2 ···3 ••• 4 ••• e; ···6 .·.7 ···8 •• ·9 ·"'.A ••• 8 "·C • •• 0 ···E ••• F ObBA 0600 6500 7001 4400 40E3 05C4 0558 0006 4COO 406E 0022 OOEE 4400 70FC 069C C4S0 C700 CI03 FlF2 E407 0gel 0609 OOOA 4400 0154 0001 7400 07CA 7301 C008 E810 1201 eooo COOO CCOO E81C 0508 054C 0582 0018 7400 0324 07FE COOO 0000 760e e009 1001 1002 OF08 056E CltOO 0601 C505 0666 C820 7080 0526 1810 7201 70FO 0039 C015 70E9 0006 0606 C9C4 40C5 40E2 0440 e440 0440 00F2 0007 OE6C OOEE 6500 70EF oe09 lSOA 7301 0000 OCOO 0014 0104 4400 6000 4eoo 8014 OOEE OCOO 0280 OC03 00ge 09F1 9084 1810 4400 7102 62E5 0685 0000 40E7 0638 Itit00 7400 0001 0400 70FA 4000 oeoo 0480 7002 4420 40E5 4004 E7C5 E407 CltC5 OCOO FlF6 1400 oeOA 0140 70FO 0198 7016 oe07 7201 70F9 oeoo 0000 082A C818 0039 CC04 064C 0400 7CFO 0321t 0121 0151) 0140 OC41 ItC20 040n 069C 7201 63F3 4400 OCOO C508 Oblt4 OCF2 0032 OltfE 0034 4COO oe02 oeoo 0680; OFAF 0730 4COO 0600; C3E4 070C! E3C5 0"40 4007 OOH oeof' 0001 4CSI) C20n 6580 CC07 7301 70Ee; 0000 0000 1002 1084 2210 C841 e835 06B8 4C80 0099 0012 0090 0011 OOBO 05AO 007C 1010 10F8 C8l0 068A 0028 40C4 0630 7400 70FO FFFF C902 0017 C020 6500 C800 7001 COED 05CIt C9E3 E3C9 C5E2 C3E3 FIF5 0906 70FO 0000 0000 076E 9022 0189 e009 70n C200 0000 0000 1802 1610 l5CO 6100 6101 e828 0538 0000 01FE 0000 01FE 0000 C009 4C80 0400 C400 9EOO 4f80 405C Elt07 064C OOEE COOE C400 4e08 0000 0400 056A 4400 0000 4400 0600 0609 0605 EZC5 C5CIt 40C9 C709 COOC 0000 COFE COOO 4ClS 10AO 3F06 72F8 90El 0000 0000 1888 1086 4C08 4022 4012 6102 0001 0132 03EA 0089 0280 0000 9084 05A2 OOOF OF82 0623 0630 4001 40C1 064C 70fO 4400 0035 0686 0000 0034 70eD 0321 038F OlEl 06FO ItOe3 40E2 C440 4004 0303 C104 OOOC 0000 0005 C200 078E 7401 OOFO 6500 4C20 0000 058A 4018 4008 050E C037 e029 4001 0003 014A 0125 0153 0123 0000 4C20 C400 C03C 1890 4C20 7104 06C2 E204 0657 4eoo 0028 4C18 080E 0000 0400 0000 1400 0050 C8EC 06FE 0605 E407 OOlA 0605 C5C7 40E5 C806 0000 C8FA 902E 9100 0171 0040 0000 0795 0000 0580 0103 1008 4 j .00 0'.00 801E 107E OlOE 009A 0078 008E· 0001 0099 0584 OOOF 0480 CitOO 05F9 7202 40C5 41OC6 0650 0516 4COO 0666 CIOI 0000 0035 0000 oeoo COO a 6170 6DOO 08C9 1890 6600 FlEC2 1203 11)F4 OOEE 710FC 0400 0lD2B FEC5 140C 1009 C,'tCC 013E 11000 10FC ceco IS90 4"'t00 95CO CE9!! OCCO cacc OSEO C'tOO C009 0600 OE9B O!JCO OHO DltCC 4C1S C919 00F2 1400 C400 CSCA C4CO C~66 0566 CECO OCCO coce COOO 007S 0400 4CI0 C400 70El C400 08C6 0030 1810 08C8 00F2 4C 18 0000 0030 0030 OE96 OD2B 7201 OOI::E 0400 9600 OEbE 0000 CCCO 1000 08C6 CS43 0028 6301 08C9 "7000 COSO 0600 44CO 7400 08CB CCOO 0400 C002 ceco C400 10F8 "10FO 0028 OE6C 1:902 ecco OCCO 61FB 4400 6600 E400 C400 IS90 CC54 C600 002E 00F2 OOEE 10CO OCOO 002B 0600 OSC8 OSC9 0400 7101 1401 4C18 4eoo CCOO cccn C500 OCF2 FEce; OSBA 440n S600 OE6C 06CO 74CO 70FO ocon OeOn COFl OC2E 4400 1890 OC71 7COl 002B 094F 0666 ccon OOCO OE96 7400 C4CO EeOO 0700 00F2 OE6E gOlF 002F OOEE 6600 7112 OOCO lS90 eooo 00F2 4400 6305 1002 C400 7204 OCCO OCCC 0000 9500 OOEE 0889 OD30 088B 1400 0051 4S20 0600 70FO 0.138 4528 0140 4400 0.600 7400 0;OF2 4400 4COO OSC9 10FS 0000 CCCO 0000 OE9B 10FO S6CO 04CO 72C3 OOEE 95CO 70F3 0030 73FF COil FOeO 0001 00F2 002F OOEE 1400 0601 0805 1890 71 Cl OOCO COCO C4C9 07C8 4400 OE6C 12FC 009F oeBE 4400 C540 C409 C400 70f-A 7204 OE96 OEC3 1010 4040 (9E5 OE76 4400 1000 0600 1:600 C4S0 UCI C540 4C20 OC45 0600 OE9B CECS OC06 09E3 40E2 07e5 44C(' OC91 COE4 OUq 6204 4COO 62F~ C6CO O.A33 OEAO C400 OA46 Dt:OO OEAO 0600 Ct:O(1 CECO 7201 C4el") 06B5 4400 CHO 1890 OBS7 o6CO 1004 OEAA 70E4 06BA C9E5 E840 0766 7201 7004 1:600 1:600 CBD COOO 0000 400F 4C 10 6500 6500 1001 00t-2 0324 0070 0095 009B 00 IF 052E Ob56 OC2~ 4elO 4eZ8 7010 003F 6700 1201 0000 1200 180A 0014 0039 0009 0400 053A OHE 0000 OlEO 0000 7e50 0000 C09C 4C28 0685 OFBI 1090 7301 01C5 0609 0663 4400 05C4 6302 OOOE C8fC 6306 0000 70FO 00F8 OlE 1 0724 0603 C5E2 flF4 0609 40C3 C4C5 OlE 1 0000 OE6C 0795 0795 OOlB 72FB 0000 7301 0000 7001 1086 1002 0764 6500 0008 0080 onc 009C 0782 0118 032F 0132 7008 05C6 65CO 0827 4C20 70E9 4007 4009 0663 0730 C902 4074 6580 0900 401t4 05C6 C008 C400 74CO 0732 4009 E2C5 40E2 40C3 C109 C440 4400 OOCO C8F3 693C 9101 0000 63F8 4t80 70F9 0000 7038 4014 1086 9540 057E 4074 054A OOOC 0140 012F 014e 0008 014A e003 4C08 OF80 9029 05F9 C400 e lE4 07C 7 0663 7400 oeoo C400 067A COfC COC8 6180 4480 0570 0036 0012 C5C3 C440 E8E2 0605 E309 0000 OlEl 0000 7002 6B31) 4C08 002C 10AO 0171 10AC 0000 C600 1008 02FE 616E C400 COIC C500 0000 009C 006F 0092 OOCF 0051 90AE 05C4 6208 4C20 72IA 0685 40C3 40C3 0630 0036 055C 0034 62F2 1890 0400 1810 0688 9400 70Fo 0440 0609 OOOA E3C5 E309 C9C4 C014 4CSO 0000 0000 63F8 0791 0001 0821 C200 70E9 0000 0550 0020 0119 6000 007C 802e 054A COOO 0000 07FE 0000 OlEO 106A 4C20 C400 CI00 05E2 7001 4400 0709 C505 0663 70FO C9F6 4C18 C600 4400 0018 0500 C400 0559 4C80 fl Fl C440 0440 0440 0603 C7C5 0015 0730 COOO eSF2 C200 7102 0045 C200 90E9 0000 0000 0000 4C18 C400 OE6E 0028 lOlA 10FO OE96 C600 72FO 1000 8600 0000 002A 1400 COO A 70FO OOEE C600 4400 4400 70EA 0000 0000 0000 0924 0020 0400 C400 C400 7301 4C20 OE6E 1010 C700 0030 0000 0002 OOEE 0400 C500 70FO 0059 016E 00F2 0400 OCOO COOO 0000 C500 1004 OS89 08e9 0028 C400 OS4S 003E 62F8 OSBB OOOE 0000 6AF9 70FO 0030 0032 62FB 0600 C400 7400 0071 0000 0000 OOCO 0032 04CO 9500 lS90 E4CC OOZB 7203 C5CO lS10 04CC COOE OOOC CODA 6600 COOS EOBB C5CO 0054 OE8F OOEE 6306 0000 OOCO 0000 0400 OS89 OE98 440C 08B8 0700 7003 OE96 0600 0028 9600 0000 90F1 0139 0400 4eOS OEU CCOO 4C08 70FC 4400 0000 0000 02S0 0028 9500 4C10 00F2 ECOO OS8B C049 003C OOH e4CO 0030 0000 DOH 6AE6 002F 0924 9600 oses 0038 6600 0601 0000 0000 0121 C400 OE98 0843 7400 0030 6600 0056 1600 7201 08e9 OOOB 0000 4CIO 6203 C5CO ECOO 006S 4400 6iFD FEtO 6500 0000 COOO 4040 C600 0400 OEA5 0400 0600 62F4 1010 OC1 OA2E OOEO 7201 OE8A OEAF C600 04S0 09E3 4400 6600 70FA 6ZFC 0600 00B3 0006 40C1 OC03 FECO 66S0 lS10 OEB4 12C 1 C4CC E5Cl COAO C600 OCF3 0600 0600 70FC OA1C C903 4C20 OFAE e500 00A4 OEB9 44CO 4400 4040 OAB5 0600 OA2S 0600 0600 096A 06BA oon 0000 4't00 0109 E309 0109 0"40 C9E3 CI03 06(9 HOO 0000 oeoo ••••••••••••••••••••••••••••• F •• t· • •••••••••• C••••••• • J ••••• .Y.J ...... ~ ••••• • • • '• • -e • • • • • n _ • ·O ••••••• w • • • • • • • • • • • • • • • • • • I .... • •••••••••••• MH./ • ••• M•••••• -O .... • •••• •• ••• •• •• H./ • • • • • • 114 • • • • • • H • • ••••••••••• ~ ••• H.I • •• =..... ,..E .... • • ••••• 2 ........................... • • ••• L•••••••••••••••••• : •••• I •• o • • •.... • • • 41 • • •............•....•..............• • •••••••••••••••••••••••••••••• 0 •• •••••••••••• ( ••••••••••• t ••••••••• •••••••••• 1 ••••••••••••••••••••••• •••••••• R••••••• R ••••••••••• L •••• • ••• O ••••••• ~ ••••••• O•••••• F ••• OD.· ••••••••••••••• ~ ••••• M•••••••• Q~ •• • •• l.0 •• Q••••• 80 ••••• 0 ••• Q•••••• S. ·.2 ••••••• V.3H •••••••• 9 ••••• 9 •••• • •••••• JO •••••••••••••••••• lO ••••• • •••• •••• J •••••• J08 EJE PAU CI3R. TYP TEN XEQ OUP ASI" FOR RPG CI:N. • COB.O ••••••••••••••• ) ••••••••••• • • .1 ••••• H•••• 2 •••••••••••••••••••• • ••• " •••••••••••••••••••• 01 ••••• 16. •••• - •••••••••• D••••••••• .0 •••••• ••• M••• I ••••• Q.A •••••••• 2F •• ••• O••••••••••••••••••• H.R •••••••• •• 2 •••••••••••• 1" ••• "' ••••• •• HM ••• • •••••••••••••••••••••••••• F/ ••• N•• • •••••••• M••• H••••••••••••••••• D.· • ••••••• l ••••••••••• t •••• O•• • •••• • •••• FO ••••••••••••• H•••••••••••••• •••• ~G •• O v ••• O••• O•••••••••• M 1I· INVALID MONITOR CONTROL RECORID • ••• M 12 EXECUTION SUPPRESSED • • 1111 ·13 OUP SUPPRESSED •• M 14 SYSTEIIol • .PROGRAM DETECTED .. ONITOR CONTR'CL. ~ 15 ILLEGAL CARTRIDGE. • RECORD 10 •• M 16 PROGRA~ VOIDED •.... • • .. ......• •• ••••••• 2 •••••••••• H •••••••••••••• •................................• * ••••....• •••••••• H••••• H3 •••• H2· •••• 2 •••••••••••• 8 ••••••••••••• B•• • •••••••••• 8 •••••••••••••••••••••• ·.8 .................... $ ••••••••• • •••••••••••••••••• 0 • •••••••• {J.B.· ·.9 •• Y•••••••• 1 •••••••••••••• B.~Z· • ••••••••• 9.V8 •••••••••••• 9 ••• l •• • •........••..•...•••..........•..• ••••••••••••••••••••••••••••••• $ •• ·I ••••••• I.E ••••••••••• E••• M••• D.· •• I •• M•• F ••• 2 •••••• 0 ••••• M•••••••• • ••• B••••••• EO ••••••• M•••••••••••• • ••• 40 ••• U••••••• M••• 0 •• I ••••• 2 •• • • •••••••• O••• P ••••••• O••• U•••••••• • M••• 0 •• I •••• _.2 •••••••• 0 ••• p •••••• ·.E ••• F ••••••••••••••••••••••••••• •• RO •••• &F •••••••• 3F ••••• E ••••••• • • •••••• 0 ••• 0 ••• 0 ••••••••••• 0 ••••• • • ••••• H••• 2 •••••••••• G••• ~ •• ~. 0 •• I • • ••••• 2 •••••••••••••••••••••••••• • •............... • •••••••••••••••• 0 ••••• & ••••••••• • ••••••• 9 ••• 7.6 ••• ••• 0 ••• M•••• 3 ••••• 2 ••••••••••• W••• •• RO •••• KO ••••• C••••• M•••• QM ••• E.· ••• N •••••• H••• 2 •••••• E •••••••••••• ••• M••• 0 •• I ••••• 2 •••••••• E ••••••• • • ••••••• SM •••••••• JF ••• O•••••• H••• ·.2 •••••••••••••••••••• 0 ••••••• 1.· ·0 ••• M••••••• 0 •• I ••••• 2 •••••••••• • ·O •••••••••••••• S •••• M•••••••• J ••• ••••••• R ••••••••••••••• •................................• CART SPEC CART AVAIL • ·ORl"VE .PHY DRIVE ••••• U•• F •••••••••••••• d •••••••••• • •••• O••••••••••••• M••••••• F ••• C.· •••••••••• ~ ••• F ••• 0 •••••••••• 3E •••• • •••••••• O••• O••••• M•• a •••• O••• c.· • •• o ••• o ••• c ••• ( ••• O••• O••• O••• (.· ••• 0 •• CO •• HC •••••• ~.40 ••••••••••• • ••••••• M••• D••••••••• Mr •• O••••••• • flCDR • •• 0 OBOO OAIO OB20 OA30 OB40 OB50 OB60 OA70 OElBO OB90 OElAO oeeo OBCO OBOO OBEO OAFO 0(00 OCI0 OC20 0(30 0(40 OC50 0(;60 OCTO OC80 0(90 O(AO OCBO OCCO OCoo OCEO OCFO 0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 OOAO OOBO 00(0 0000 OOEO OOFO OEOO OElO OE20 OE30 OE40 OE50 OE60 ono OE80 OE90 OEAO OEBO OECO OEOO (400 O(AE 70Fl (4CO 6eco 0032 OA4A 0000 8070 C6eo 6038 E 5C 1 (140 40C9 C903 05C6 0658 4418 OClO OB87 2222 OB86 0059 05CO C600 OCCO CIOO 1890 7404 CB07 4040 4040 8015 FFF7 OCOO oe02 0006 OOOA oeOE 0012 0022 0026 002A 002E 0032 0036 0051 0055 0059 006E 0072 0079 0070 0081 ooac 0000 CCOO oeoo 0000 0000 0000 OCCO ·.·1 CA7l) 6200 4400 CA411 CCF3 C500 1890 OCOO 4CI0 GBA2 COCC (903 C4E4 C440 CIC2 040 0658 CC2e 6A22 (:560 CA7C 7205 402e CEAf C081 CA97 C200 C027 C019 4400 4040 4040 BOIS (:600 COCC llOE C10E 1A06 7A06 CE6E 1A34 lA34 7A34 7A34 7A34 7A34 106A 0282 C284 04FE 07FE 05BC 08B6 OAAO COOO eooo COOO 5300 2222 0000 0000 eooo •• ·2 ···3 ···4 •• *'i *·*6 *.*7 ···8 ***9 *.*A .··S **.C ***C ·**E .**F 4400 (6eO CC ':11 1890 740B OEAO 4400 OBFE 0886 4400 7001 CIC2 07U3 4040 03(5 C140 06~8 721'F 74H OC42 COOO 1000 0500 (600 0500 695F CI0l 0066 C500 OlEl 4040 0000 1008 COOO COOO 05A2 03CO OOOE 0248 0140 03CO 0500 03(0 0500 03(0 03CO OCoF OEJB 0525 02 FE 03EA 0403 01E8 0140 0132 0000 0000 0000 0011 0000 0000 0000 CCAF CA2E COOl 4400 CCF3 C5CO COF2 4CCO 9C1" C6BA CBA7 03(5 C90 CC17 40C3 E2E8 CA90 70n OC44 6203 COOl 693C OE9S C072 OEO 6A5F C201 62EA CA28 7400 4C40 0002 7201 4C80 0000 OOOB 0010 C02E C036 0040 C04F 005B 0069 0077 0087 C092 0090 00C9 0103 0119 0125 0136 0140 0145 014A COCO COOO COOO COCO COOO COOO COOO 7101 4(28 1890 00F2 lCOO 009A 7400 0005 0500 C068 oeeB 4CC3 (lE3 E7E1 C109 E2E3 C83B 7021 1000 4COO CCOI (030 (600 0500 C600 C6CO (102 CC3C 4C30 0036 4040 0011 70Ft! 0(f5 OCOO OC03 0007 OCOB OOOF OOlF 0023 0021 0028 002F C033 OC37 0052 0056 005A 006F 0073 OOlA 007E 0082 0080 OCOO oeoo OCOO OCOO 0000 OCOO OCOO Icer C500 OA28 4e 18 C~8(, 4(OB OBIC 9'5CO Cl;on OA2E 4400 OC03 740() OOEE 70FO 44CO 04C(' OCF4 1810 44CO 7101 70F6 C400 OEAA OCEF 70FO (COO OE 36 oe6C (400 OBF( 0400 0~2R 6201 (600 OBA2 C4Cr) 009F D400 0071 0~03 OBEB 0013 E7E7 CI09 E309 C9(4 (7(5 (5C4 40E2 07(5 (J(9 E7E7 40C9 E2ltO C140 UO'" C9C4 C1C5 40C9 C504 40C3 CIo9 nC9 6 1BC 6A3C C039 4( 20 620B ,600 OA20 4( 18 COlO 9010 4C98 OC20 0~87 6580 OC42 6680 OCOO 62FB C500 OA26 ICOe 0039 (600 004F CC6~ 0500 OEA5 C6CO OEB4 C600 0077 4011 OC86 0500 OEC8 4(60 CA2E 04CO OCF4 C6CO 020? 7403 0(9F 6560 Ol:CO OCFl 7201 70FC 7eO? 74CA 0019 1404 7CfO 4(80 O(AF 7001 4C40 4040 4040 FOFO OCOO 1890 6918 6A19 IBOR E811 01t80 0019 OOOCJ 0039 00(0 OOCO 0000 0000 0000 0000 210F 05A2 0010 0004 010E 05A2 OOZO 0008 7A06 0035 002F OOOC 7A06 0248 003A 0010 HOC 09Fl 001t1 0020 lA34 05CO 0052 0024 7A34 03FO 005F 0028 7A34 03eo 006C 002C ?A34 0500 0078 0030 7A34 03(0 008A 0034 lA34 05CO 0095 0038 OlDE OC(A 00A8 0053 0282 13E9 0005 0051 0280 05CO 0108 0058 07H 0528 011C 0070 0506 04F8 0129 0074 08B6 OlE8 013A 0078 OUO 0140 0142 007F OBEl 0140 0146 0083 ooon 0113 0148 006E CCCO 020B COOO OOCO cco(' OOCO 0001 0001 ceoo 5300 0000 OOCO 2222 OOCO 0000 OOCO 0000 0000 0000 0000 OCOC' 0000 COOO OOOF OCOO 0000 0000 0000 OB3B OA28 (400 oe45 oeAF 0400 oeoo 002( 8074 C866 E7E7 40(9 C6C9 (ltE4 C440 C9(4 OC 15 OC10 C017 OC43 9600 0500 0068 0500 OC45 OA50 0(F2 1090 0019 OCOA F IF 1 61H 7401 OCFO 0000 OlOE OlOE 7A06 7A06 7A34 7A34 7A34 7A31t 7A31t 7A34 788E 0282 0282 0282 07FE 01t00 0886 OAAO 08B6 0000 0000 OlOA 0000 0000 0100 0000 0000 4001 4C96 OCF2 70C5 7101 0005 Oloe (OF5 040C OCOO 40(9 C440 C5(4 0703 4040 C7C5 6205 9025 4C20 1810 0068 OE91 401F OE89 COOO 0500 6680 4C18 C029 0016 4040 62FE 0019 0000 0140 03eo 05A2 0008 0248 0500 03CO 03CO 0500 0500 0280 03eo 04AC OA68 0604 0280 0189 OlE8 0140 01E8 alIa OCOO 6COO OCOO 0238 0000 CCOO COOO 7015 OBOC 100C 61F5 70FO (400 4009 4(98 0019 OOAlt E240 0017 40C3 (9C3 OOOF OB70 (600 4418 oeH 0600 4C18 C600 0500 (600 1004 009F OCF3 OC(6 4029 4040 4040 OOlC 1810 0000 0003 0015 0025 0030 003C 0049 0056 0063 006F 007F 0080 0099 00B3 00E5 0100 0121 0120 OBe 0143 0147 014( 0000 COOO 0530 0000 0000 COOO 0000 OA26 6600 7201 1coe 8400 OE6C C5CC OA39 61FB (500 OA3B 0400 74C 1 09AC 0875 440C e5CO OA26 (065 0400 0506 E 34C E7E7 E7E7 el09 E309 (lE3 (5C4 E'1E7 E 7E7 OOE6 8800 OA21 4C18 OC20 72FF 6580 OC43 OA2E C802 OC51 7201 0054 0500 OeAA C600 007C 400C 1804 E802 6580 OeAE 4C80 0(91 7402 0019 7404 0019 401t0 404C 404C 4040 1810 1084 OOOB 7101 0000 0000 0001 7C5C 00C5 41DE 0009 alOE 0000 7782 0011 OlOE 0021 7A34 0025 7A3it 0029 7A34 0020 7A34 0031 7A34 0035 ?A34 0039 766E 0051t 0282 0058 0282 005e 0282 0071 07fE 0018 OlEO OOle 0886 0080 OAAO 0084 OAAO 014C 0001 0000 0000 COCO 0000 OOCO OCOC OOCO OCOC 0000 0000 OOCO 0000 0000 0000 OA5B 7403 04CO 4C18 OEC3 002B 4C80 003F 4400 00A6 (105 40C9 (9C4 40C1 40(9 0001 OC12 70F7 6202 4e80 70F8 OE96 0060 0500 4C80 6600 OA5E C033 C024 4040 FOFO 9016 70EB 0000 032F 0548 0500 087C 0280 0280 0280 03CO 0500 0404 03eO 0140 1548 19FD 06F6 0280 0782 01E8 0140 0140 0000 0000 0000 0000 0000 0248 0000 0000 6EOO oeAE 002B OB4A 0500 (400 09AO FFFE OCF5 4005 40(1 E240 C7C5 E5C1 E240 CF01 9030 7016 4COO OC03 4COO C600 40lA OEBE OC8A COA7 OBItA 4035 4025 4040 FOF2 4808 65CO COOO 0008 C016 002A 0031 003E 0040 0059 0066 0073 0083 008F 009C 0087 COEE 0113 0123 Ol2F OBE o lit 4 0149 0000 0001 0000 0000 01C8 COOO 0000 0000 OFAO OCCO COOO COOO COCO oeoo cccn ooco COOO OOCO 0000 CCOO COOO OOCC OCOC 0000 CO 50 OFBO 0000 COOO 0000 0000 OCOO ceon 0000 0000 0000 0000 0000 0000 OOCO 0000 0000 0000 lFFO OCCO COCO 0000 0000 OCOO OCOo 0000 0000 0000 0000 CCOO 0000 0000 OOOC 0000 2000 2000 OCCO COOO 0000 OOCO OCOO OCCO OCCO 0000 0000 0000 COOO 0000 OOCO OOOC 0000 COOO 3FFO eeoo COOO 0000 COCO OCOO ocon OOCO OCOO COCO 0000 OCOO COOO OOCC OCOC COCO 4000 *0 •• ' •••••••• E ••••••• ••...... s .. • ••••• F ••••••••••••••••••••••••••• * •• 1 •••••••• F••••••• 0 •• 2 •••••• M•••• ·0 •••••••• 2 ••••••••••• E/5E ••••••• * •••• 3 ••• 3 •• ~ •• 4 •••••••• ~0/.E •• CN •• * •• E ••• N•••••• 60 ••• ~ ••• 0 ••• M••• C.* •••••••• 2 •••••••••••••• • ••••••••• N •• 0 ••• M•••• 5 •••••••••• * ......•..• ••• •••••• N••••• F••••• M••• E•••••• 5. .F ••••••••• ~ ••• ~ ••• H••••••• M••• N* .- •••••••••• l •••• XXXX IS NOT AN A* *VAllABLE CARTRIDGE 10 •• xxxx IS *A Ot,.PlICATEO SPECIFIEO LARTRIOGE. •• XX)CX IS A DUPLICATED AVAt to •• xxxx IS • .llABlE CARTRIDGE 10 .NOT A SYSTEM CARTRICGE ••• W••• ~ ••• ••••••••• Q ••••••••••••• F ••••••••• * •••••••• 7 •••• F •••••••••••••••• 7 ••• • • •....................... ........• ~ ••••••••••••••••••••••• O~ •• H•••••• .. ............. ....... ....• • ••• • •••••••••• E •••••••••••••• 8 ••• * •••••••••••••• F ••• N••• F ••• N••• F •• * •• .N ••• F ••• N••• F ••• • N••• F ••• .N ••• F ••• N••• F ••• .N ••• F ••• .N •••• .F ••• N •• CF ••• N •• H•••••••••• Y •••••• ••••••••• F ••• M•• 4F •• tN •••••••••••• .A.K.A.K.A.K •••••••• 2 ••• 3 ••••••••• • •••••••••• C•• 1 ••••••••• F •••••• ••••• E ••• .H ••••••••••••••••••••• 0011 0002· / • ••••••••• 6 •• Y.~ •••••••••••••••••• ·.7 ••••••• 5 ••••••••• 0 ••••••••••••• •• ..........•... ..........•.•• •..............•.•.... ••••• t ••••• •.............................•..• •••••••••••••••••••••• Q ••••••••••• •..........................•.....• •••••••••• 4 ••••••••••••••••••••••• •..... . ••••• 1 ••••••••••••••••• 1• •................................• 0 •••••••••••••••••• • •......•...•••...•......•........• •........•...•........•.•....•...• •...............•................• •..........•................•. ... •••••••• $ ••••• •..........••••..•......•...•....• • ••• ~ ••• I ••••• l.N ••••••• y •••••••• • • ••••••••••••••••• S ••• " ••• • ••• 6 ••• •..........•••..........•........• •••••••••••••• 8 ••••••••••••••••••• ....... ....... ... •... .. ••••• S. • •••••• v••••••• ..• •......................... ......• •...........................•....• •...•......•...•••... - ......•....• • ••••• l ••••••• y ••••••• y ••••••• y •• • ••••.• v. • a ••• •...•........•...•..•..••.•••••••• •............•....•.....•..•...•.• •..........•...••..•....•..•.....• • ••••••••••••••••••••••••••••••• H. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ft • • • • •.•....•....•...........•..•.....• ••••••••••••••••••••••••• G •••••• , . .. •.......•...............•..•..••.• •...........•..•.•......•.....• • ••• 0 ••••••••••••••••••••••••••••• Core Dump F-3 F4 Appendix G. Resident Monitor (Including Table of Equivalences) The contents of this appendix are not to be construed as an external specification; that is, the locations in this listing may be changed. $PRET, $IREQ, $EXIT, $LINK, and $DUMP are the only locations that are guaranteed. Nete. In the following listing of the resident monitor, = is equivalent to #, and' (apostrophe) is equivalent to @. The items noted in this listing identify locations discussed throughout the text of this publication. 1/ JOB LOG DRIVE 0000 V2 "'11 CART AVAIL CART SPEC 3333 3333 ACTUAL 32K PHY DRIVE 0001 CONFIG 32K 1/ AS,", *u ST >I<)(REF COOOI 00002 00003 00004 OOOOS 00006 COO07 COOOA 00009 00010 COOll COO12 0.0013 00014 COOl') r.0016 r.0017 OOOIA 00011 00020 00021 00072 00023 00024 0002S 00C26 00027 r.002A 00029 eOOH) roo::n r0012 C003'1 00034 :JOOV-' C0036 eOOH ()003A 00031 00040 COO/.1 00042 C0043 (;0044 C()()4o:, COO46 (0047 0004f1 C0049 r,0050 eOO51 CCfJ'>'2 1'00,>3 000')4 COO<;S 00(156 00057 000511 C0059 >I< RLTV ADDR>I< >I< 0-3 4-5 • 6 • 1 • • • • • • • 89 • • 10 '" •'" •• '>I"< '•" 13 14 IS 16 17 lA 19 20 • 21 •'" 22 • 23 • 24 • 2<; 26 '" •'" • •,. •,. • •'" • • •'" • '" '" • • • 27 211 2'1 30 31 '\2 B ~1-34 35 36 H 311 39 40 41 47 • 43 •'" 44 '" ('ooon 00061 C0062 0006'\ 11 12 45 46 • 47 SYMBOL>I< DESCRIPTION >I< RESERVED FOR EVEN BOUNDARIES NAME OF PROGRAM/CORE LOAD =NAME BLOCK COUNT OF PROG/CORE LOAD =DBCT ·FILES SWITCH--ZERO MEANS NO =FCNT FILES HAVE BEEN EQUATED SYS/NON-SYS CARTRIDGE INDR =SYSC ;JBSW • JOBT SWITCH-- NON-ZERO MEANS TEMPORARY "'ODE CLB-RETURN-TO-OUP SW ITCH-=CBSW >I< lE~O=CLB RETURN TO SUPV =LCNT NO. OF LOCALS '" CORE' MAP SWITCH--ZERO MEANS '" =/.APSW DO NOT PRINT A CORE MAP =MCF1 NO. DUP CTRL RECDS (MODIF) =MOF2 AOCR OF MOOIF BUFFER =NCNT NO. OF NOCAlS =ENTY '" RLTV ENTRY ADDR OF PROGRAM 1442-') SW (0=1442-S ON SYSTFM =RP61 , TC' WORKING STG DRIVE CODE =TODR =FRDR 'FROM' WORKING STG DRIVE CODE ' " =FHOL ADDR OF LARGEST HOLE IN FXA BLK CNT OF LARGEST HOLE IN FXA • =FSlE 2-10 ADCR. OF LAST HOLE IN UA =UHOL ALK CNT OF LAST HOlE' IN UA2-10 =USlE SW--NON-lERO=DUP CALL =OCSW OUP CAll =PIOD PRINCIPAL I/O DEVICE INDICATOR =PPTR PRINC. PRINT DEVICE INDICATOR RLTV AeDR IN 'STRT OF CIL AODR =CIAO AVAILABLE CARTRIDGE: INOICAT2-2 =ACIr-.J 22'jO INDICATOR =GRPH 2G2 2G2 =GCNT NO. G27S0 RECORDS LOCAL-CANNOT-CALL-LOCAL Sw 2-2 =LCSW 2-2 =X3SW SPECIAL IL S SWITCH 2-4 =ECNT NO. OF .EQUA.T RCOS RESERVED FeR FUTURE USE 2-2 =ANOU I+BLOCK ADOR OF END OF USER AREA (ADJUSTED) LOGICAL OR 0 l+BLOCK ADDR OF ENe OF USER AREA (ADJUSTED) LOGICAL OR 1 l+BLOCK AD OR OF END OF USER AREA (ADJUSTED) LOGICAL OR 2 l+f1LOCK ADDR OF END OF USER AREA (ADJUSTED) LOGICAL OR 3 l+BlOCK ADD~ OF END OF USER AREA (ADJUSTED) LOGICAL DR 4 l+flLOCK ADDR OF [NO OF USER =BNOLJ AREA (t3ASE) LOGICAL DRIVE 0 l+flLOCK AODR OF END OF USER AREA (BASE) LOGICAL DRIVE 1 l+PLOCK AODR Of- END OF USER AR[A (BASE) LOGICAL CRIVE '2 l+BLOCK AooR OF END OF USER AREA (BASE) LOGICAL DRIVE 3 l+f\LOCK AoOR OF END OF USER AREA (BASE) LOGICAL DRIVE 4 PROTECT ACDR, LOG ICAL '" =FPAO FILE DRIVE 0 (BASE) FILE PROTECT AOOR, LOGICAL DRIVE 1 (BASE) F I t.F PROTECT ACDR, LOGICAL DRIVE '2 (BASE) • • • • • • • '" • • • '•" • • • • • •'" • • '" '" • • •'" • • • • • • • • • • • '" •'" '" '•" •'" '•" '•" •'" •'" • • '•" • '" ,. •'" • ,.'" • • • • '" • •• • •• •• • PMNOOOIO PMNOOO20 PMNOO030 PMNOOO40 PMNOO050 PMNOO060 PMNOOO10 PMNOO080 PMNOO090 PMNOOIOO PMNOOllO PMNOO120 PMNOO130 PMNOO140 PMNOO150 PMNOO160 PMNOOI10 PMNOO180 PMNOO190 PMN00200 PMN00210 PMNOO220 PMNOO230 PMN00240 PMN00250 PMN00260 PMNOO710 PMN002AO PMNOO290 PMN00300 PMN00310 Pfo!N00320 PMNOOHO PMNOO340 PMN00350 PMN00360 PMN00310 PMN00380 PMNOO390 PMNOO400 PMNOO410 PMNOO420 PMNOO430 PMN00440 PMN004S0 PMN00460 PMN00410 PMN00480 PMN00490 PMN00500 PMN00510 PMNOO520 PMNOO530 PMNOOS40 PMN00550 PMN00560 PMN00510 PMNOOS80 PMNOO')90 PMNOO600 PMNOO610 PMNOO620 PMNOO630 DCOM moniwr system parameters DCOM cartridge parameters Resident Monitor (Including Table of Equivalences) G-I Resident Monitor Listing 000<'>4 COOb'i COOflfl C0067 00()6A (:0069 00070 00071 COC72 00071 00074 00075 00076 (JOO 77 0007A OOON COOAO OOOAl 0008? C0083 000A4 000B5 000A6 00087 000B8 00089 00090 00091 00092 00093 00094 0009') 00096 oooen 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 001L0 0011l 00112 OOl13 * FILl' PROTFCT ADDR, LCGICAL CRIVE 3 (BASEl FILF PROTECT ADDR,LOGICAL DRIVE 4 (BASEl CARTRIDGE 10, PHYSICAL DRIVE 0 CARTRIDGE ID, PHYSICAL DRIVE 1 CARTRIDGE 10, PHYSICAL DRIVE 2 CARTRIDGE 10, PHYSICAL DRIVE 3 CARTRIDGE 10, PHYSICAL DRIVE 4 CARTRIDGE IC, LOGICAL DRIVE 0 CARTRIDGE 10, LOGICAL DRIVE 1 CARTRIDGE ID, LOGICAL DRIVE 2 CARTRIDGE ID, LOGICAL DRIVE 3 CARTRIDGE ID, LOGICAL DRIVE 4 SCTR ADDR OF CIB, LOGICAL DR 0 SCTR ADDR OF C18, LOGICAL OR 1 SCTR ADDR OF CIB, LOGICAL DR 2 SCTR ADDR OF CIB, LOGICAL OR 3 SCTR ADDR OF CIB, LOGICAL OR 4 SCRA, LOGICAL DRIVE ~ SCRA, LOGICAL DRIVE 1 SCRA, LOGICAL DRIVE 2 SCRA, LOGICAL DRIVE 3 SCRA, LOGICAL DRIVE 4 FORMAT OF PROG IN WS, DRIVE 0 FORMAT OF PROG IN WS, DRIVE 1 FORMAT OF PROG IN WS, DRIVE 2 FORMAT OF PROG IN WS, DRIVE 3 FORMAT OF PROG IN WS, DRIVE 4 FLET SCTR ACDR, LOGICAL DR 0 FLET SCTR AGDR, LOGICAL DR 1 FLET SCTR AGDR, LOGICAL DR 2 FlET SCTR AGDR, LOGICAL DR 3 FlET SCTR AGDR, LOGICAL DR 4 lET SCTR AOOR, lOGlCAL DR 0 lET SCTR ADOR, lOGICAL DR 1 LET SCTR ADOR, LOGICAL DR 2 lET SCTR AOOR, lOGICAL OR 3 lET SCTR AOOR, lOGICAL OR 4 BlK CNT OF PROG IN WS, DRIVE 0 BlK CNT OF PROG IN WS, DRIVE 1 BlK CNT OF PROG IN WS, DRIVE 2 BLK CNT OF ~ROG IN WS, DRIVE 3 BLK CNT OF PROG IN WS, DRIVE 4 SCTR CNT CUSHION,LOGICAL DR 0 SCTR CNT CUSHION,LOGICAL DR 1 SCTR CNT CUSHION,lOGICAL DR 2 SCTR CNT CUSHION,LOGICAl DR 3 SCTR CNT CUSHION,lOGICAL OR 4 RESERVED FO~ FUTURE USE PMN00640 PMN00650 PMN00660 PMN00670 PMN006AO PMN00690 PMN00700 PMN00710 PMN00120 PMN00730 PMN00740 PMN00750 PMN00760 PMN00710 PMN007BO PMN00790 PMN00800 PMNOOBIO PMNOOB20 PMNOOB30 PMNOOB40 PMNOOB50 PMN00860 PMNOOB70 PMN00880 PMN00890 PMN00900 PMN00910 PMN00920 PMN00930 PMN00940 PMN00950 PMN00960 PMN00910 PMN009ao PMN00990 PMN01000 PMNOIOI0 PMN01020 PMNOI030 PMNOI040 PMNOI0,)0 PMNOl060 PMNOI070 PMNOI0BO PMNOI090 PMNOll00 PMNOllI0 PMNOl120 PMNOl130 .*.* •• *.*** ••••• ***** •• *•• *.* ••• * •••• *.*.*** ••••• *. PM~Oll50 4f1 * * * 50 51 • 'i? 'i'l * 49 • 54 * 'i5 • 56 • 57 • • • • • =PCID • • • * * * * • =CIDN • • 'iA • • • • • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 59 60 61 62 63 64 65 66 67 6A 69 70 71 72 73 74 7') 76 77 78 79 80 81 82 83 84 85 86 87 88 89 9C 91 92 93 94 9')-319 • =CIBA • • * * * * • • =SCRA * * * • * * * * * * * * * * • =F~AT * * * * * * • -FLET • • • • * • • • • • -UlET • • * • • * * * • • * * • • -WSCT * * * * * * -CSHN • • • • • • • • RESIOENT "'ONITOR 0011 5 00116 00117 OOllR 00119 0012.0 00171 00122 00123 00124 00125 00126 00127 00l2A 00129 00130 00131 00132 00133 00134 00135 00136 00137 00138 00139 00140 00141 00142 00143 00144 00145 C0146 00147 0014fl 00149 00150 00151 00152 00153 00154 G-2 • .STATUS-VERSION 2, • • PMN01160 * PMNOll70 • PMNOI1AO .FUNCTIO~/OPERATION* PMNOl190 • THIS SFCTleN ALWAYS REMAINS IN CORE. IT * PMN01200 • IS COMPRISED OF THE CO~MUNICATIONS • PMNOl2l0 AREA (COMMAI, THE SKELETON SUPERVISOR, ANC • PMN01220 A DISK 1/0 SUBROUTINE, NO~INALLY DISKl. (TH[ • PMN01230 FIRST TwO OF THESE SECTIONS ARE INTER~IXEC.) • PMNOl240 COMMA CONTAINS THE SYSTEM PARAMETERS REOUI~- • PMN01250 ED TO FETCH A CORE LOAD IN CORE IMAGE FORPMN01260 MAT. THE SKELETON SUPERVISOR PROVIDES INPMNOl210 * STRUCTIONS FOR INITIATING A CALL EXIT, A • PMNOl2AO CALL LINK, A DU~P-TO-PRINTER OR A CALL TO THE. PMNOl290 AUXILIARY SUPERVISOR. IN ADDITION, THE SKELE-. PMNOl300 TON SUPERVISOR CONTAINS SEVERAL TRAPS FOR CER-. PMNOl310 TAIN 1/0 FU~CTIONS/CONDITIONS. THE CISK 1/0 • PMN01370 * SECTION CONSISTS OF A SUBROUTINE FOR READING * PMN01330 FROM OR WRITING ON A DISK CARTRIDGE ON A • PMN01340 GIVEN LOGICAL DISK [RIVE. * PMN01350 * PMN01360 PMNOl370 .ENTRY POINTSPMN013AO * • SPRET-A TRAP FOR PREOPERATIVE 1/0 ERRORS. * PMN01390 • THE CALLING SEQUENCE IS * BSI L SPRET • PMN01400 * • SPSTX-A POSTOPERATIVE ERROR TRAP FOR I/O • PMN01410 • DEVICES ON LEVEL X (X=1,2,3,OR 41. • PMN01420 • PMNOl430 • THE CALL I NG SEQUENCf IS • PMN01440 • BSI L SPSTX * PMNOl450 • • SSTOP-THE PROGRAM STOP KEY TRAP. * PMN01460 • • SEXIT-THE ENTRY POINT FOR THE EXIT/CALL • EXIT STATEMENT. THE CALLING SEQUENCE IS. PMN01410 • PMN014AO * LOX 0 SEXIT • • SLINK-THE ENTRY PCINT FOR THE LINK/CALL • PMN01490 • LINK STATEMENT. THE CALLING SEQUENCE IS. PMN01500 * BSI L SLINK • PMN01510 • • SDUMP-THE ENTRY PCINT FOR THE DUMP/POMP • PMN01520 * STATE~ENT. T~E CALLING SEQUENCE IS • PMN01S30 • PMN01540 • BSI l SOUMP • • • • •• • ~ODIFICATION lO DeOM cartridge parameters Resident Monitor Listing 00155 00156 00151 00158 00159 00160 00161 00162 00161 00164 00165 00166 00167 00168 00169 00170 00171 00112 00113 00174 00115 00116 00171 00118 00179 00180 00181 00182 001A3 00184 00185 00186 00181 00188 00189 00190 00191 00192 00193 00194 0019'> 00196 00197 00198 00199 002CO 00201 00202 002C3 00204 00205 00206 00207 0020A 00209 00210 00211 00212 00213 00214 00215 00216 00211 00218 00219 00220 00221 00222 00223 00224 00225 00226 00227 00228 0022'1 00230 cont 00232 00231 0023'. 002V5 e02~6 00237 0023R 00239 .00240 00241 00('4(' 0024~ O()(,44 00245 00246 DC. FORMAT * DC LIMITl • DC LIMIT2 • WHERE LIMITl AND LIMIT2 ARE THE LIMITS'" BETWEEN WHICH THE DUMP IS TO OCCUR. AND. FORMAT IS A CODE INDICATING THE FORMAT'" OF THE DUMP. IF FORMAT IS NEGATIVE, • THE AUXILIARY SUPERVISOR IS FETCHED ... AND CONTROL PASSED TO IT. • ... DlOOO-ENTERED WHEN THE CALLER WISHES TO • ... PERFORM A DISK I/O OPERATION. THE • ... • CALLING SEQUENCE VARIES WITH THE VERSION OF THE DISK 1/0 SUBROUTINE. • • • SI200/SI400-ENTERED WHEN THE OPERATION... COMPLETE INTERRUPT OCCURS ON * ... LEVEL 2/4. ~ • ·INPUT-N/A • >I< • • ...• • * • •... • • * • .OUTPUT-WORDS 6-4090 SAVED ON THE CIA ON A CALL ... DUMP * * * .EXTERNAL REFERENCES-N/A • • ... • ... * ·EXITS• • • NORMAL • • .THE EXITS FROM THE SUBROUTINES AT SPRET • SPSTl, SPST2, SPST3, SPST4, AND SSTOP • • ARE BRANCH INSTRUCT[ONS FOLLOW[NG A • • WAIT INSTRUCTION. SSTOP TURNS OFF IN• • • TERRUPT lEVEL 5 AFTER THE START KEY IS • • • DEPRESSED. • .THE EXITS FROM SEX[T,SlINK,AND SDUMP ARE. • TO THE CORE [MAGE LOADER, PHASE 1, • • AFTER THAT PHASE HAS BEEN FETCHED. • .THE EXIT FROM OZOOO [S BACK TO THE • • • CALLER AFTER THE REQUESTED DISK OPERA• TION HAS BEEN [NIT[ATED. • ... .THE EXITS FROM SI200/S[400 ARE BACK TO • • THE ADDRESSES FROM WHICH THE D[SK OP• • ERATION CO~PLETE INTERRUPT OCCUR ED • • AFTER THE [NTERRUPT HAS BEEN SERV[CED • BY THE APPROPRIATE ISS. • • • • ERROR-N/A • • ·TAflLES/WORK AREAS* $ACDE • * SCH12 • • • • SCILA • • • SCLSW • $COMN SCORE • • • * SCTSW • * SCXRl * • • SCYlN • ... SDAOR • • • • saBSV * * • SDCVL >I< • • SDMPF ... • SOREQ • • • • SFPAD 2G2. * • SGCOM 2G2. • SGRIN SHASH • • • SlBT2 ... • • $I BT4 • * SlBSY • • SlOCT • • SKCSW • • HAST ... 2-9. • SLNXQ * • SNDUP ... SNXEQ • ... • • SPBSY ... • • $PGCT ... • • SPHSE ... SRMSW • 2-4 • ... SSCAT • • $SNLT ... • • SUFIO • • SULET • • 'WRDl >I< $WSDR • 2-2 • • SXR 3X • .ATTRIBUTES-REUSABLE • • "'NOTES• THERE ARE ~AIT INSTRUCTIONS AT SPRET+l, • ... SSTOP+l, AND SPSTX+l. DEPRESSING THE START • KEV WILL RETURN CONTROL TO THE CALLER IN ALL • CASES. • * • * • * * * * * • • • * •• • • • • • .. • '" • PMN01550 PMN01560 PMN01510 PMN01580 PMN01590 PMN01600 PMN01610 PMN01620 PMN01630 PMN01640 PMN01650 PMN01660 PMN01670 PMN01680 PMN01690 PMNOI100 PMNO 1710 PMN01120 PMNOl730 PMN01740 PMN01150 PMN01160 PMN01710 PMN01180 PMN01190 PMN01800 PMN01810 PMN01820 PMN01830 PMN01840 PMN01850 PMN01860 PMN01810 PMN018AO PMN01890 PMN01900 PMN019l0 PMN01920 PMN01930 PMN01940 PMN01950 PMN01960 PMN01970 PMN01980 PMN01990 PMN02000 PMN02010 PMN02020 PMN02030 PMN02040 PMNO?050 PMN02060 PMN07010 PMN02080 PMN02090 PMN02100 PMN02110 PMN02120 PMN02130 PMN02140 PMN02150 PMN02160 PMN02110 PMN02180 PMN02190 PMN02200 PMN02210 PMN02220 PMN02230 PMN02240 PMN02250 PMN02260 PMN02270 PMN02280 PMN02290 PMN02300 PMN02310 PMN02320 PMN02330 PMN02340 PMN02350 PMN02360 PMN02370 PMN02380 PMN02390 PMN02400 PMN02410 PMN02420 PMN02430 PMN02440 PMN02450 PMN02460 Resident Monitor (Including Table of Equivalences) G-3 Resident Monitor Listing 03(0 0004 CC05 0006 0007 0001'1 0009 CODA OOOB Dooe COOC DOOE DOOF 0010 0011 0012 CC13 0014 DO?O 00?8 C029 002A f)1)241 00249 00250 00251 00252 00253 0 OFFA 00254 0 0000 oeoo 00255 0 00256 a 0000 00257 00258 00259 a 0000 C0260 a 0000 00261 00262 a 00B3 a 0000 00263 0 OOC4 00264 00265 a 0091 00266 00261 0 0000 00268 a 0000 C0269 00270 0000 0 a 0000 00211 00272 0 0000 ceoo 0027l 0 OOOC 00274 00275 00276 0008 00?17 C027A 00279 C0280 ()0?81 00282 00281 ooeo CO?84 3000 CO 4CA0002P C02A5 C02R6 002F17 002C 002r 002f Cf)?F 0 0000 0 0 ooco oero aeoo OCHO 0 00')0 CO, 1 o(n? 0013 CO,4 C01'i CO,6 00,7 0 0 0 0 0 0 0 oeco C0288 ()O?il') 00?90 00291 ()0292 OO?93 0000 '11')00 0000 00294 0029'> 0()296 0000 01)00 00298 00?99 co,ce 01)301 003(;2 acoo Of)1A 0 002'H 00103 [)0~C4 001C5 00306 003C7 003C8 00309 ncoo CC310 G01C C CGOI 00311 00312 00113 e010 0 0004 00114 FFFF CO~E 0 00315 f)031h 00317 00318 00319 CalF a 0000 0040 U809 00320 00121 0041 0 4073 00322 0042 0 282A 0043 0 b eW3 00323 0044 00 C4fl0003F 00324 00325 0046 0 oeD2 00326 0047 0 C8F4 004R CO 440000F2 00327 00328 Q04A 0 COFI 7C07 00329 0048 0 00330 00131 .C006 C04C 00333 00334 00335 00336 0052 0 tOES 00337 0053 0 DOC2 0054 00 6'5800039 00338 00339 0056 0 CI01 0019 OOH G co,p rCOK G·4 oeoo 1810 7017 ••••••••••••••••••••••••••••••••••••••••••••••••••• • PROVIOE PARAMETERS FOR'SYSTEM LOADER • ASS PMN02410 PMN02490 PMN02500 PMN02510 PMN02520 ORG 4 DC 4095-. WD CNT FOR WRITING CORE ON CIS PMN02530 PMN02540 'CIBA DC .-. SCTR AODR OF THE CIS SCH12 DC PMN02550 .-. ADDR OF CHANNEL 12 INDICATOR PMN02560 SCO~N DC .-. LENGTH OF CO~~ON (IN WORDS) PMN02510 PMN02580 • ULTIMATE RESIDENCE OF THE INTERRUPT TV PMN02590 PMN02600 SLEVO DC LEVEl o BRANCH AOCRESS PMN02610 'lEVI DC LEVEL 1 BRAIII(H ACCRESS PMN02620 'lEV2 DC SI200 LEVEL 2 BRANCH AD OR PMN02630 SLEV3 DC LEVEl 3 8RANCH ADDRESS PMN02640 'lEV4 DC 51400 LEVEl 4 BRAr~CH AD OR PMN02650 HEV5 DC SSTOP LEVEl 5 B~AN(H AOCR PMN02660 PMN02670 SCORE DC PMN02680 SllE OF CORE, E.G., IICOO=4K PMN02690 SCTSW DC CONTROL RECORD TRAP SWITCH SDADR DC PMN02700 SCTR ADDR OF PROG TO BE LOADED SSCAT DC NON lERO=SCA INTRPT PNCNG 2-4 PIoIN02110 SDREQ OC IND. FOR REQUESTEC VE~SION DKIIO PMN02720 $I BSY DC NON-ZERO IF CD/PAP TP CEV. BUSY P~N02730 SHASH BSS Pt-'N07740 WORK ARE A • .-..-..-. • • •SSCAN -$SCAT P~N02750 BS'; 1112 SCA~ PMN02760 32 PMN07770 A~E~ P~N02780 • TRAP FOR PRECPERATIVE 1/0 •SPRET • DC WAIT BSC •STREQ PUS~Er --$PRET P~N02810 DC SULET DC DC DC DC DC SIOCT DC $lAS T DC SNOUP DC $NXFC DC $PASY DC SPGCT DC •• E~RCRS ENTRY POINT ~ATT TIL STA~T KEY RETURN TO CALLER SPRO PM"lC2190 PMN02800 PMN02810 PMN02A20 PMNO?830 PMN02B40 PMN02B50 PIoIN02860 ACCR OF INT REQU~ST SUBROUTINF AODR OF LET, LOGICAL OR 0 ADDR OF LET, LOGICAL OR 1 AOCR OF LET, LOGICAL OR 2 ACCR OF LET, LOGICAL DR ACDR OF LET, LOGICAL OR 4 ZERO IF ~O I/U I~ PROGqESS ~O NCN-lERO WHE~ LAST CARC SENSlD CO NCT DUP If NCN-lERO 00 ~CT EXECUTE IF NON-lERO NON-lERO wHE~ PRINTER BUSY PAGE NO. FOR ~EADINGS PMN02A80 PMNO?890} P~NO?900 PMNO?910 LET addresses PMN02920 PMN02930. PMNO;>940 -$IOCT PMN02950 PMN029bO PMN02970 PMN02980 PMN02990 P~N03000 CALL EXIT ENTRY •$EXIT '"''''* " MCX POI~T 1iSCOO TO SKELFTON P"'N03010 SUPE~VISOR P R TO FE 1 CH C IL , PI' AS E 1 56 LI~K ENrRY PMN03050 PMN03060 57 PMN03070 PCI~T * ENTRY PCINT SlIt\K DC 16 SR.'" PR TU FErCH CIL, PHASE 1 MCX SSlCO BSS o SS900 DC DISK PARA~ETERS FOR SAVING CORE 1 2-10 *SS9CC ALSO USED AS CONSTANT 1 HV CIL PH2 SCIBA-l .IN CCNNEC1ION wITH nu~p DC -1 CALL EXIT INOECATOR SS910 DC 2-10 .$5910 ALSO lJSF.C liS CCNS TANT-l 8'1 C I L PH2 '" "'** • :~~g~g;g -- $EXIT P~N03040 CALL SAVE 1ST 4K OF CORE ON SDU~P • • DC STD BSI STS STX LO STO LOO BSI LD ~DX BSS ••• FETCH •$5000 LD IS100 STO LOX LD T~E C!B POINT 63 ~~~g;i~g SAVE ACCUMULATOR, EXTENSICN PM~03180 SACEX CHK PNDNG INTRPT 2-4 PMN03190 SS250 SAVE STATUS 2-6 PMN03200 SSSTS P~N03210 1 SC XR 1 SAVE X>..1 PMN01?20 I SDU~P SAVE OU~p FOR~AT CODE PMN01230 SD~PF PMN03240 $5900 PIoIN03?50 SAVE 10105 6-4095 ON CIB DlOOO PMN01260 '5900 PMN03210 BR TU FETCH CIL, PHASE 1 SS100 2-6 PMN03280 2-1 PMN03290 PATCH ARI:A 6 PMN03310 PMN03320 CORE IMAGE LOADER, PHASE PMN03330 PMN03340 15910 SAVE EXIT-LINK-DUMP SWITCH PMN03350 SRMSW PMN03360 LINK ADCIR TO XR1 11 SLINK PMN03310 fETCH 2~D WD OF LINK NAME 1 1 *-* E~TRY --$LlNK P~N030AO PMN03090 PMNC3100 PMN03110 PMN03111 PMN03120 PMN03130 PMN03131 PMN03140 PMN03150 -$DUMP Resident Monitor Listing 0057 0 0058 0 1800 C100 0059 005B 005C 0050 005E 005F C061 0062 65000000 D8B8 4008 COFC 1890 440000F2 4003 4102 00 0 0 0 0 00 0 0 0063 0 0064 0 0000 0000 0065 0066 0067 0068 C06A 006A 0 0 0 00 C 00 0000 COCB E8A9 4C200066 0803 4C800065 0060 006E 006F 0070 0 0 0 0 2000 0000 CC80 0000 0071 C072 0072 C073 0074 0075 C076 0077 0078 0079 007A 007B 007C 0070 007E 007F OORO 0 0000 0000 0000 CCOO 0000 0000 0000 0000 0000 0000 OCOO OCOO 0000 0000 0000 OCOO OOCO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C C081 0 0000 COA2 0 3000 OOR'l 00 4C800081 0085 0 0000 0086 a 3000 0087 00 4C800085 0089 0 0000 COAA 0 3000 OORB 00 4C800089 0080 a 0000 008E a 3000 008F 00 4C800080 0091 0 0000 0092 0 3000 0093 00 4CCOO091 0095 0096 C097 0098 C099 0 0 0 0 0 0000 OCOO 0000 0000 0000 00340 00341 00342 00343 00344 00345 00346 00347 00348 00349 00350 00351 00352 00353 00354 00355 00356 00357 00358 00359 00360 00361 00362 00363 00364 00365 00366 00367 00368 00369 00370 00371 00372 00373 00374 00375 00376 00377 00318 00379 00380 00381 00382 00383 00384 00385 00387 00388 00389 00390 00391 00392 00393 00394 00395 00396 00397 00398 00399 004CO 00401 00402 00403 00404 00405 00406 00407 00408 00409 00410 00411 00412 00413 00414 00415 00416 00418 00419 00420 00421 00422 00423 00424 00425 00426 00427 00428 00429 00430 00431 00432 RTE 16 LO FETCH 1ST WO OF LINK NAME 1 0 CONTAINS AOOR LAST WO OF OISI( 1/0 MINUS 3 • $SI50+1 SS150 LOX I I AOOR END OF OKI/0-1 TO XR1 STD SlKNM SAVE LINK NAME BSt SS250 CHK ANY PNONG INTRPT 2-4 LO SCILA $S200 SRT 16 BSt L DZOOO FETCH CI LOADER, PHASE 1 BSI SS250 CHK DISK OP FINISHED 2-4 BR TO C I LOADER, PHASE 1 BSt 2 * SGCOM DC 2G2 *-* GRAPHIC SUBR PACKAGE INOR SGRIN QC .-* GRAPHIC INITLZN PROGRAM INOR 2G2 * *** SUBR TO CHECK IF ANY INTRPT IS PENDING * SS250 DC ENTRY POINT *-* SS300 LD IS THERE INTRPT PNDNG SIOCT OR SSCAT *OR SCA INTRPT PNONG BSC L SS300,Z *THEN BR,IF ALL INTRPT RESET 2250 XIO SI499 2-7 BSC SS250 *IS SERVICED-RETURN 2-6 * $SSTS LOS STATUS SAVED FOR DUMP 2-7 *-* $1499 DC 2-1 0 IOCC FOR RE SET DC 2-7 ICC80 *OF 2250 SlNXQ DC *-* LINK/XEQ SW, -1 lINK,+1 XEQ 2-9 * SFLSH DC *-* FLUSH-TO-NEXT-JOB SWITCH I=FLUSH BSS E 0 SCWCT DC *-* WORD COUNT AND SECTOR ADDRESS DC *-* *FOR SAVING/RESTORING COMMON SCCAO DC *-* AODR FOR SAVING/RESTORING COMMON SLSAD DC *-* SCTR AOOR OF 1ST LOCAL/SOCAL SDZIN DC *-* DISKZl1/N INDICATOR (-1,0,+1) SDCDE DC *-* LOGICAL DRIVE CODE FOR PROGRAM SPHSE DC .-* NO. OF PHASE NOW IN CORE SUF 10 DC *-* UNFORMATTED I/O RE'{ORD NO. SWSOR DC *-. WORKING STORAGE DRIVE CODE SWR01 DC .-* LOADING AODR OF THE CORE LOAD SKCSw DC *-* 1 IF KB,CP BOTH UTILIZED SUFDR DC UNFORMATTED tlO DRIVE CODE SCPTR DC .-* CHANNEL 12 INDICATOR FOR CP S1132 DC *-. CHANNEL 12 INDICATOR FOR 1132 $1403 DC *-* CHANNEL 12 INDICATOR FOR 1403 TRAP FOR POS TOPERATIVE 1/0 ERRORS ON LEVEL 1 .-. .-. • •$PSTl DC WAIT BSC *-. ENTRY POINT PMN03380 PMN03390 PMN03400 PMN03410 PMN03420 PMN03430 PMN03440 PMN03450 PMN03460 PMN03470 PMN03480 PMN03490 PMN03500 PMN03510 PMN03520 PMN03530 PMN03540 PMN03550 PMN03560 PMN03570 PMN03580 PMN03590 PMN03600 PMN03610 PMN03620 PMN03630 PMN03640 PMN03650 PMN03660 PMN03670 PMN03680 PMN03690 PMN03100 PMN03710 PMN03720 PMN03730 PMN03740 PMN03750 PMN03760 PMN03770 PMN03780 PMN03790 PMN03800 PMN03810 PMN03820 PMN03830 PMN03850 PMN03860 ~~~g;~!g --$PST1 RETURN TO DEVICE SUBROUTINE PMN03890 PMN03900 TRAP FOR POSTOPERATIVE tlO ERRORS ON lEVEL 2 PMN03910 PMN03920 SPST2 DC ENTRY POINT PMN03930 WAIT PMN03940 BSC SPST2 RETURN TO DEVICE SUBROUTINE PMN03950 PMN03960 * PMN03970 • TRAP FOR POSTOPERATIVE 1/0 ERRORS ON lEVEL 3 PMN03980 SPST3 DC ENTRY POINT PMN03990 PMN04000 WAIT BSC SPST3 RETURN TO DEVICE SUBROUTINE PMN04010 PMN04020 TRAP FOR POSTCPERATIVE 1/0 ERRORS ON LEVEL 4 PMN04030 PMN04040 PMN04050 SPST4 DC ENTRY POINT PMN04060 WAIT $PST4 BSC RETURN TO DEVICE SUBROUTINE PMN04070 PMN04080 PMN04090 * PMN04100 PROGRAM STOP KEY TRAP PMN041l0 PMN04120 SSTOP DC ENTRY POINT PMN04130 WAIT WAIT TIL START KEY PUSHED PMN04140 BOSC SSTOP RETURN TO CALLER PI-IN04160 PARAMETERS USED BY THE DISK 110 SUBROUTINES. THE PMN04170 PMN04180 • LOGICAL DRIVE CODE IS FOUND IN BITS 1-3 FOR ALL * BUT THE AREA CODE. BIT 0 WIll ALWAYS BE ZERO. PMN04190 PMN04200 * PMN04210 * *** DISKI AND DISKN WIll NOT WRITE BELOW THE PMN04220 *** FOllOWI NG SCTR ADDRESSES «EXCEPT WR I TE IMMEO). PMN04230 PMN04240 SFP,o\D DC PMN04250 *-* FILE PROTECT AOOR, lCGICAl DR 0 DC PMN04260 *-* FILE PROTECT ADOR, LOGICAL OR 1 DC PMN04270 *-* FILE PROTFCT AOOR, LOGICAL OR 2 DC PMN04280 *-* FILE PROTECT ACOR, LOGICAl DR 3 DC PMN04290 *-* FILE PROTECT AOOR, lOGICAL DR 4 PMN04300 • • • • •* * • • • SPSTl .-. .-. .-. .-. --$PST2 -$PST3 -$PST4 --$STOP •* • • Resident Monitor (Including Table of Equivalences) G-S Resident Monitor Listing C09A C09A C09C OO<}D C09E OO<}F OOAO OOAl COA2 COA3 00A4 OOA5 00A6 00A7 00A8 00A9 OOAA OOAB OOAC OOAD COAE OOAF OOBO OOAI COA2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a OCOO 0000 ClOOO ClOOO ClOOO ClOOO ClCOO OCOO 0000 ClCOO OOCO ncoo 0000 0000 0000 OCOO (1000 COOO OCOO 0000 0000 COOO 0000 0000 0000 OCB3 00B4 00B5 COA6 00A7 0 0 0 0 0 OOAA OOBA OOBC OOBE OOBF OOCO 00C2 00C2 00C3 CO 44000000 00 65000000 00 66000000 o 2000 o CA02 00 4CCOOOB3 COCO 0 OCOO 0 0000 COC4 OOCS 00C6 COC7 00C8 OOC<) OOCA OOCB COCC OOCF 0000 G-6 0 0 0 0 0 0 0 00 CO 0 0 0000 6<}06 6A07 2807 C80A 0000 0818 2BOE 690F 6AI0 0816 1002 4CI00000 4480002C FFFE 6109 00433 00434 00435 00436 00437 00438 C0439 00440 00441 00442 00443 00444 00445 00446 00447 00448 0044,} 00450 00451 00452 00453 00454 00455 004')6 00457 004'>8 0045Q 00460 00461 00462 00463 00464 00465 00466 00467 0046A 00469 00470 00471 00473 00474 00475 00476 00477 C047A 0047<} 00480 00481 00482 00483 C0484 0048') 00486 00487 00488 00489 00490 00491 00492 00493 00494 00495 00496 00497 00499 00500 00501 00502 00503 00504 00505 00506 00507 00508 OOSO<} 00510 00511 00512 00513 00514 00515 00516 00517 00518 00519 00520 00521 00522 00523 00524 00525 ••• THE ARM POSITION IS UPDATED WHENEVER A SEEK ..... OCCURS. • SCYl~ ••• ••• .,;.. DC DC DC DC DC BELOW ARE o o o o o AR~ AR~ AR~ AR~ AR~ POSITION POSITION POSITION POSITION POSITION FOR FOR FOR FOR FOR LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL DRIVE CRIVE CRIVE DRIVE DRIVF 0 1 2 3 4 CISK AREA CODES. A ZERO I~DICATES THE CORRESPONDING DRIVE IS NOT ON THE SYSTEM •$ACDE T~E DC DC DC ce DC AREA AREA AREA AREA AREA eOCE COCE COCE CODE COCE FCR FOR FOR FOR FCR LOGICAL LOGICAL LUGICAL LOGICAL LOGICAL PMN04310 PMN04320 PMN04330 PMN04340 PMN04350 PMN04360 PMN04370 PI'N04c,RO PMN04390 PMN04400 PMN04410 P~N04420 DRIVE 0 DRIVE I ORIVE 2 PMN04430 PI'1N04440 P~N044,)0 PMN04460 PMN04470 PMN04480 ORIVE 4 PMN04490 PI'1N04500 THE AOR OF THE CYLI~rER I~ ~HICH A CfFECT CCCURS, IF A~Y, IS STCR.ED IN THE 1ST, 2~O, CR 3RC PMN04510 WORO 8ELOW, DEPENDI~G O~ WHETHER IT IS THE 1ST, PMN04520 PMN04530 2ND, OR 3RO OFFECT ON THE CARTRIDGE • PMN04540 PMN04550 SOCYL DC eEFECTIVE CYLINDER ACORfSSES P~N04560 DC .FOR LCGICAL DRIVE 0 3 PMN04570 DC CEFECTIVE CYLINDER ACCRESSES 1 PMN04580 DC .FOR LOGICAL DRIVE 1 7. PMN04590 DC 3 PI'N04600 DC DEFECTIVE CYLINOER ACCRESSES I PMNC4610 DC .FOR LOGICAL DRIVE 2 DC 2 PMN04620 3 PMN04630 DC DC DEFECTIVE CYLINCER ACORESSES 1 PI'N04640 .FOR LOGICAL DRIVE 3 DC 2 PMN04650 3 P~N04660 DC DEFECTIVE CYLINDER ACORESSES 1 P~N04670 DC .FOR LCGICAL DRIVE 4 CC 2 PMN04680 DC 3 PMN04690 CRIV~ 3 ••• ••• ••• ••• • •• ••* P~N04710 ILS02--THIS SuBROuTINE SAVES XRl, XR2, STATLS, AND THE ACCUI'IILATOR ANC ITS EXTENSION. THE ACCRESS OF THE INTERRUPT SERVICE ROUTINE IS STCREn IN $1205 BY PHASE 2 OF THE CCRE II'AGE LOACER. WCRC 10 ALWhYS CONTAINS THE AcrRESS OF S1200. • • •SI2CO PMN04720 PMN04730 PMN04740 PI'N04750 PMN04760 PMN04770 P~N04780 .-. DC S1210+1 STX S1210+3 STX S1210+4 STS STD SI290 • H205+1 CONTAINS ADDR. SI205 BSI L .-. $1210 LOX L I .-. LOX L2 .-. LfJS o LOD SI290 BOSC Sl200 SI290 BSS o DC DC .-..-. P~N047<}0 ENTRY PT (LfVEL 7. INTRUPT) SAVE XRI ShVE XV STORE STATUS SAVE ACCUMULATOR, EXTENS ION INTE~RUPT ENTRY PT TO DKI/O RR TO SERVICE THE I~TERRUPT RES TORE XR 1 RESTORE XR2 RESTORE STATUS RESTORE ACCUI'ULATCR,EXT RETLRN FROl' INTERKUPT PMN04800 PMN04AI0 P~N04R20 PMNC4830 PMN04840 PMN04850 PMN04860 PMN04870 PMN04880 PMN04890 PI'N04900 PI'N04910 PMN04920 PI'1N04930 CONTENTS OF ACCUI'ULATOR AND P~N04940 *EXTENTION PMN04950 PMN04910 PMN04980 • ILS04--THIS SUBROUTINE SAVES KRl, XR2. STATUS, PMN04990 AND THE ACCUMULATOR ANO ITS EXTENSION. IF THE INTERRUPT IS FO~ A KEYBOARD REQ- • PMN05000 UEST,ANO IF A ~ONITOR PROGRAM IS IN CON- • PMN05010 TROL, CONT~OL IS PASSED TO OUMP. OTHER- • PMN05020 WISE, CONTROL IS PASSED TO THE KEYBOARDI • PMN05030 CONSOLE PRINTER SUBROUTINE. WORD 12 AL- • PMN05040 WAYS CONTAINS ~HE ADDRESS OF $1400. • PMN05050 PMN05060 PMN05070 • THE TABLE BELew CONTAINS THE ADDRESSES OF THE INTERRUPT SERVICE ROUTINES FOR ALL THE OEVICES PMN050eo PMN05090 • ON LEVEL 4. PMN05100 PMN05110 PMN05120 $1400 DC ENTRY POINT PMN05130 $1490 SAVE ACCUMULATOR, EXTENSIONPMN05140 STO ·STS SI410 SAVE STATUS PMN051S0 1 $1410+2 SAVE' XRl PMN05160 STX STX 2 $1410+4 SAVE XR2 PMN05110 XIO SI492 SENSE DSW PMN05180 2 IS THIS INTERRUPT REQUEST PMN05190 SLA $1403,AR IF NOT INTERRUPT REQUESTPMNOS200 BSC L BSI SIREQ BR IF INTERRUPT REQUEST PMN05210 I ERROR CODE PMN05220 DC -2 $1403 LDX 9 NO. DEVICES ON LEVEL TO XRIPMN05230 * •• •• • *• • * • •• .-. Resident Monitor Listing 0001 0 COO;> 0 0810 1140 COD3 COD5 0006 0008 CODA CODA 45800000 2000 65000000 66000000 C803 4CCOOOC4 0000 OOOE OOEO OOEO COE 1 COF? 00E3 00 0 00 00 0 00 0 0 0 C COE4 0 OOE'5 0 00E6 00E7 00E8 OOEA COEC 0 C CO 00 0 COED COEE 0 0000 0002 0000 OFCO COOl 0300 0000 OFOI 0000 08FC 4C4000EA 4400003F FFFE 0001 0000 SENSE ILSW FIND CAUSE OF INTERRUPT OF LEVEL 4 IBT ~INUS 1 BR TO SERVICE THE INTERRUPT RESTORE STATUS RESTORE XRl RESTORE XR2 RESTORE ACCU~ULATOR, EXT. RETLRN PMN05240 PMN05250 PMN052bO PMN0'5270 PMN05280 PMN05290 PMN05300 PMN05310 PMN05320 PMN05330 PMN05340 PMN05350 PMN05360 PMN05370 PMN05380 PMN0'5390 PMN05400 PMN05410 PMN05420 PMN05430 00526 00527 00528 00529 00530 00531 00532 00533 00534 00535 00536 00537 00538 00539 00540 00541 00542 00543 00544 C0545 00547 00548 00549 00550 00551 00552 00553 00554 C0555 00556 00557 00558 00559 XIO SI494 SLCA 1 * $1405+1 CONTAINS AODR $1405 BSI II *-* 51410 LOS 0 LOX Ll *-* LOX L2 *-* 'LoD SI490 BOSC 51400 00561 00562 00'563 00'564 0056'5 00'566 00567 00'568 00'569 00510 00571 00512 005B 00514 00515 00516 00571 00518 00579 00580 00581 0051'2 00583 00584 00585 00586 00581 005H8 005H9 00590 00591 00592 00593 00594 00595 00596 00591 00598 00599 00600 00601 00602 00603 00604 00605 00606 00608 00609 C0610 00611 00612 00613 00614 00615 **************************************** •• * •• ****.* * * *STATUS - VERSION 2, ,",ODIFICATION 11 * • * *PROGRAM NAME* *FULL NAME-FORTRAN/SYSTEM DISK I/O SUBROUTINE * *CALLING SECUENCE* LDD PARA~ * * BSI L DZCOO * * WHERE PARA~ IS THE LA8EL OF A OOUBLE-WORo * CELL CONTAINING THE FUNCTION CODE AND THE • ADCR OF T~E I/O BUFFER,I.E., ADDR CF WD CNT. * • SEE 'CAPABILITIES' FOR DISCUSSION CF PARAM* • ETERS. * * *PURPOSE• TO PROVIDE A SUBROUTINE TC PERFCRM DISK OPERA-* TIONS. THIS SUBROUTINE IS INTENDED FOR USE BY * • ~ONITOR PROGRAMS ANC USER PROGRAMS wRITTE~ IN • • FORTRAN. THLS,IT IS INTENDED FOR USE I~ AN • • ERRO~-FREE ENVIRONMENT. * • * *~ETHOD• OISKl REOUIRES A ~UFFER,THE LENGT~ CF WHICH IS* • ? GREATER THA~ THE NO. wORDS TO BE REAO/WRIT- • * TEN. * * • .CAPABILITIES A~D LIMITATIONS• THE WD CNT,AS WELL A~ OlOOO,MUST BE D~ A~ FVEN. ROU~CARy,~UST BE I~ THE RA~GE 0-32161. T~E * CRIVE CODE ~UST BE IN BITS 1-3 OF T~E SECTOR • ADDR,WHICH FOLLOWS THE wD CNT. THE FUNCTICN * I~OICATOR ~UST BE XXCO FOR A READ OR XX01 FOR. A WRITE,WHER~ 'XX' ~EANS ANY 2 HEXAr.ECI~AL * CHARACTERS. A we CNT OF lERr INCICATES A SEEK •• (READ OR WRITE MAY BE INDICATED.) AUTO~ATIC • SEEKING IS PROVIDED AS A PART UF READ/WRITE. • A WRITE IS ALWAYS WITH A READ-BACK-CHECK. • * DISKZ MAKES NC PREOP~RATIVE PARAMETER CHECKS • • * • *SPECIAL FEATURES* CISKZ PROVICES ONLY THOSE FUNCTIONS ~ENTICNEr • • ABOVE. DISKI AND DISKN OFFE~ THIS BASIC SET OF. FUNCTIONS PLUS OTHERS. • • *.* •••••••••• * ••••••• * •••• * ••••• * •••••••••••••••••• * PROVIDE PARA~tTERS FC~ SYSTEM LCADER PMN05590 PMN05600 PMN05610 PMN05620 PMN05630 PMN05640 PMN05650 PMN05660 PMN05670 PMN05680 PMN05690 PMN05100 PMN05110 PMN05720 PMN05130 PMN05140 PMN05750 PMN05760 • P~N06010 * * CONSTANTS AND WORK AREAS * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES *SDDSW DC 51490 BSS $1492 DC SSYSC EOU DC. $1494 BSS DC * *$1496 DC DC * $1420 DC XIO BOSC L $1425 BSI L DC *-* 2 *-. DSW FOR THE DISK CONTENTS OF ACCUMULATOR, EXT. *-1 VERSION AND MOD NO. /OFOO 10CC FOR SENSE IOCC FOR KB/CP 1 PATCH AREA /0300 IOCC FOR SENSING ILSW04 2-2 2-2 XR3 SETTING DURING XEO 2-2 SENSE KEY BOARD W RESET2-2 2-2 ENTRY POINT FLUSH JOB 2-2 *-* $1496 SENSE KEY BOARD W RESET2-2 $1425 TURN OF INTERRUPT 2-2 2-7 SOU,",P BR TO $OUMP 2-7 -2 CALLING AUX SUP * BSS SDBSY DC PATCH AREA NON-ZERO WHEN DISK 1/0 BUSY PMN05450 PMN05460 PMN05470 PMN05480 PMN05490 PMN05500 PMN05510 PMN05520 PMN05530 PMN05540 2-2 PMN05550 2-7 P,",N05560 I PMN05570--$DBSY DISKl OOFO OOFO 0 COF 1 C 00F2 0 con CCF4 0 0000 OOEF FHA 00E8 OOOl BSS DC DC DC DC ORG P~N05170 PM~05780 PMN05190 PMN05800 P~N05810 PMN05820 PMN05830 P~N05A40 PMN05850 P~N05B60 P~N05B10 P~N05880 PMNC5P90 PMN05900 PMN05910 PMN059?0 PMNC59l0 PMN05940 PMN05950 PMN05960 PMN05910 P~N059AO PMN05990 PMN06000 PMNObOlO PMN06020 PMN06030 PMN06040 PMN06060 o P~N060AO .-2 P~N06130 PMN06090 $lEND-. DISKZ WCRD COUNT P~N06100 -'DlID PHASE 10 PMN06110 $ZEND-6-*+1 ACDR CF SLET EXTRACT 1 NO. ENTRIES IN SLFT EXTRACT PMN061?O Re,sident Monitor (Including Table of Equivalences) G-7 Resident Monitor Listing 00F2 00F3 OOF'5 00F6 00F1 OOFB OOF'l OOFA OOFB OOFC OOFO OOFE OOFF 0100 0 00 0 0 0 a 0 0 0 0 0 0 0 CO 0000 140000EE 10FO 1002 COOO 701B 6<;10B 6AOC 100B 003C 1800 005,A 1054 4COOOOOO 0102 0 0103 0 0104 0106 0108 O'10'l OlOB DIOC Olor; 010E 0110 0111 0113 0115 0110 00 00 0 00 0 0 0 CO 0 CO CO 0 0 0117 0 01 Pl 0 0111 0 65000000 66000000 COEE 4C9800F2 0003 lRlO OOE'l 4COOOOOO 1000 65000000 6600COF? 0816 00C6 4810 ron CROA r,'lOO () 11 A 0 OIIR CO 74FFOOEE 0110 0 1CH () 11 E e () 11 F C 0120 0 0121 e CIlOF COlI 42'13 1034 oln oeoo o In OCi}l 0 Dl?1 C 0124 0 0125 0 0126 0 0127 0128 (H2'l 01211 0 0 0 0 012A C Ol2C 0 01?O a OPE a 012F C 0130 0 onl 0 0132 a OIB 0 0134 0135 0136 0137 0138 013'l 013A 013A 013C 0130 0 0 0 0 0 0 0 0 C 0 ODE 0 I) 13F 0 G-8 0000 0000 0000 0000 0000 0000 0000 0122 oeoo oono eeoo OCOO 0000 5002 ')004 FEeo 0001 00:90 0600 0008 5eoo OFf8 0000 0101 0007 OOOA OO'lF FFFB 0000 00611 0061B Q 0061'l 00620 00621 00622 00623 00624 0062'5 00626 00621 0062B 0062'l 00630 00631 00632 00633 00634 0063'5 00636 00631 00638 0063'l 00640 00641 00642 00643 00644 00645 00646 00641 00648 0064'l 00650 00651 00652 00653 006')4 00655 006'>6 0.0657 C0658 0065'l 00660 00661 00662 00663 00664 00665 e0666 00661 00668 ,)066'l 00670 00671 0067;:> 00613 00614 00615 00616 00677 00678 0061'l 00680 006Pl 00682 C0683 00684 00685 00686 00681 00688 006R'l 006'l0 006'l1 006'l? 006'l3 006'l4 006'l,) 006'l6 006'l7 006'lR 006'l'l 00100 C0101 00102 00703 00704 00105 OZOOO DC MOX MDX MDX *-* SDBSYQO *-3 DZ020 L ENTRY PO II'H LOOP UNTIL OPERATION IN *PROGRESS IS CO~PLETE BR AROUND INT ENTRY POINT ** INTERRUPT ENTRY POINT .-. * DZ010 DC MDX DZ020 STX STX SLA STO RTE STO MOX Ol060 BSC DllAO 1 OllOO+ 1 2 DII00+3 B D194'5 16 01235+1 OZ230 INTERRUPT ADDRESS BR TO SER~ICE INTERRUPT SAVE XRl SAVE XR2 SHIFT INDICATOR R BITS SAVE FUNCTION INOICATOR SAVE ADOR OF THE 1/0 A~EA RR TO CONTINUE RR TO SERVICE THE INTERRUPT * * START ALL DISK OPERATIONS * Dl070 STX XIO 1 OZlBO+l Dl904 ** RETURN TO USER *Ol100 LOX L 1 *-* LOX L2 BSC STO SRA STn Ol110 BSC NGP ** SERVICE * OllRO LDX LOX XIO STO RSC MDX OlIB') LOO STO MOX MOX *-* Ol010 DZOOO,+DlllOtl 16 OZ010 LC *-* SAVE ADCR OF THE 1/0 AREA START AN OPERATION RESTORE XRl RESTORE XR2 INTERRUPT ENTRY NO,~ONITOR ENTRY YES,INT ENTRY RESET *INT ENTRY nufoI~Y OP 2-6 2-6 2-6 2-b 2-6 2-6 2-6 ALL INTERRUPTS L1 *-* L? Claoo OZ'll0 SC[)SW CI060 01'l02 1 C L ~DASy,-l CZ2V, AOOR OF 1/0 AREA TO XRl ADOR OF DZOOO TO XR2 SENSE THE DSW SAVE THE OSw SKIP IF ERROR BIT SET 2-6 BRANCH IF ERROR BIT NOT SET RESTORE ~ORO COUNT *AND SECTOR AODRESS SKIP IF 16 RETRIES DONE BRA~CH IF LESS THAN 16 * TRAP OUT TO PCSTOPERATIVE TRAP LOO LG Dll'"lO BSI "'OX ** DZ'l12 01915 SPST2-X2 DZ2~2 l+SCTR ADOR TO EXTENSION BR TG PCSTOPERATIVE ER TRAP RETRY OPERATION 2-6 CONSTANTS AND WORK AREAS BSS E 0 * EVEN-NU~BEREO LABELS ARE ON EVEN BOUNDARIES OZ900 DC 1 CCNSTANT,REAO-AFTER-SEEK WD CNT OZ'lOI DC 0 CURRENT ARM POSITION *-* LAST TWO wORDS OF SECTOR OZ902 DC DC *-* *PREVIOUSLY READ 01904 DC *-* 10CC FOR OPERATION CURRENTLY Ol'lO~ DC *-* *BEING PERFORMED OZ906 DC *-* SAVE AREA FOR IOCC FOR OZ'l07 DC *-* *USER-RE~UESTED OPERATION Ol'lOR DC DI'lOO 10CC FOR READ Ol'lO'l DC *-* *AFTER SEEK OZ'll0 DC *-* 2ND ~nRD OF SEEK 10CC *-* SENSE IOCC OZ'l11 DC Dl'l12 DC *-* INTERfoIEDIATE WORD COUNT Ol913 DC *-* AODR OF NEXT SEQUENTIAL SECTOR 0l'l14 DC /5002 WRITE SELECT/POWER UNSAFE INOR OZ'l15 DC 15004 REAC/WRITE/SEEK ERROR INDICATOR OZ'l16 DC -320 TO BE USED TO SIMULTANEOUSLY OC 1 *DECR 1010 CNT, INCR SCTR ADDR OZ'l20 DC ICORO REAC CHECK OIT FOR IOCC DZ92~ DC IC600 2ND WD OF READ 10CC WID AREA CO OZ'l30 DC 8 NO. SFCTORS PER CYLINDER OZ'l35 DC 15COO NOT READY OISPLAY CODE OZ'l40 DC 10FFB 'AND' OUT OR COOE, SCTR ADOR OZ<;I4'5 OC *-* FUNC INDICATOR 10=REAO,\=WRITEI DZ'l50 DC 10701 SENSE 10CC WID AREA CODE OZ<;I55 DC IC007 'ANC' OUT ALL BUT SCTR NO. OZ'l60 OC SOCYL-SCYLN BASE DEFECTIVE CYL AOOR OZ'l65 DC SACOE BASE AREA CODE AODR OZ970 DC SCYLN-SACOE BASE ARM POSITION ADDR DZ915 OC *-* 2ND WORO OF READ CHECK IOCC PMN06150 PMN06160 PMN06170 PMN06180 PMN06190 PMN06200 PMN06210 PMN06220 PMN06230 PMN06240 PMN06250 PMN06260 PMN06270 PMN06280 PMN06290 PMN06300 PMN06310 PMN06320 PMN06330 PMN06340 PMN06350 PMN06360 PMN06370 PMN06380 PMNOb390 PMN06400 PMN06410 PMN06420 PMN06430 PMN06440 PMN064'50 PMN06460 PMN06410 PMN06480 PMN064'lO PMN06S00 PMNOb510 PMN06'520 PMN06'530 PMN06540 PMNOb'5.'50 PMN06560 PMN06'510 PMN06SRO PMNObS<;IO PMN06600 PMN06610 PMNOb620 PMN06630 PMN06640 PMN06650 PMN06660 P~N06670 P~N06680 PMN06690 PMN06700 PfoIN06710 PfoINOb720 PMN06130 PMN06740 P~N06150 PMN06760 PMN06170 PMN06180 PMN067<;10 PMN06BOO PMN06810 PMN06820 P~N06B30 PMN06B40 PMN06B'50 PMN06860 P~N06R70 PMNObB130 PMN06B'lO P,..N06900 PMN06'110 PMN06920 PMN06'l30 PMN06'l40 PMN06<;1'50 PMN069bO PMN06910 PMN06980 PMN06990 PMN01000 PMN01010 PMN07020 PMN07030 Resident Monitor Listing 0140 0141 0142 0143 0 0 0 0 0144 00F2 0400 0141 0000 FFFF 0002 0146 0147 0148 014A 014B 0 0 00 0 0 1810 00A6 74FF0032 1000 70B8 014C 0140 014E 014F 0 0 0 0 C807 0900 COEl 7000 0150 0 COE6 0151 00 44000028 0153 0 7038 01')4 0156 0157 015A 01')A Ol,)B 01,)C 0150 OI,)E 015F 0160 0161 016? 0163 0164 0165 0166 0167 0168 0169 016A o L6B 016C 016C 016F 0170 0171 0172 0173 017') 0176 0177 0178 017A 017A al7e 0170 017F OIRO () 181 OIR? OlA3 OlA4 0lR5 01A6 01A7 01RR OIR'} OlRll rJIAB OlAC 01Ar OlAF OIRF 0190 0191 CO C 0 00 0 00106 00707 00708 00709 00710 00711 00712 00713 00714 00715 00716 00717 00718 00719 00720 00721 00722 00723 00724 00725 00726 00727 00128 00729 00730 00731 00732 C0733 00734 00735 00736 00737 00738 00739 00740 00741 00742 C0743 00744 00745 00746 C0747 00748 00749 00750 C0751 00752 00753 C0754 C0755 00756 00757 00758 00751 00760 COH>! 00762 00761 00764 C0765 0'0766 00767 C076A 74010032 6211 6A96 65COOOOO C900 C 08C8 0 08Cl 0 lAlO 10fl4 0 C DOOE 0 80DC C 001C 0 AOCB 0 0034 0 flOD7 0 B008 0 A007 0 CC06 0 62FO C 69RE C CI01 C EOCC 0 0101 CO 94CCOOOO 0 482A 0 7007 C CI01 C AOn CO 7401016E 0 7201 C0769 0 70F5 00710 C 01 t) 1 C0711 C0772 C071'3 CO 660000F2 nn774 00775 0 C23D C0716 0 [749 00777 c 8250 CO C4COOOOO 0077A 00779 C F.A4E OOrAO C 02 'lit n07AI 0 EA43 807112 C C239 C07A3 0 FA,)O C07/<4 9'241 C C07P5 C f'!237 C0786 C EA47. 007R7 C P,?47 C07f'8 C 0240 C07A9 C E Al, A 00790 0 D23R 00791 0 CA1C 007'l2 C OA3.1\ C0793 0 D2ER 00794 0 4A2A C0795 C 70llC 00796 c 1002 00791 C 4R'2R .-. PMN07040 PMN07050 PMN07060 PMN07070 -1 PMN07080 RESERVED FOR SAVING CORE ON A DUMP ENTRY TO SKEL PMN07090 PMN07100 PMN07110 2 THIS AREA MUST BE AT SCIBA+319 BSS PMN07120 X2 EQU OlOOO PMN07130 PMN07140 PMN07150 PMN07160 Ol210 SRA 16 PMN07170 STO SOBSY CLEAR BUSY INDICATOR PMN07180 MOX L SIDCT ,-I DECREMENT 10CS COUNTER PMN07190 NOP PMN01200 MOX TO EXIT OZIOO PMN01210 PMN01220 PREPARE TO TRAP OUT ON 'POWER UNSAfE' CONOIHON PMN01230 2-6 PMN07240 RESTORE WORD COUNT Ol215 lOO 01902 .AND SECTOR ADORES 2-6 PMN07250 0 STO PMN07260 Ol914 lO MOX PMN07270 01190 8R TO TPAP OUT PMN07280 PMN07290 PREPARE TO TRAP OUT ON 'NOT REAOV' CONDITION PMN07300 * PMN07310 OZ220 LO OZ935 FETCH ERROR CODE PMN07320 8R TO PREOPERATIVE ERR TRAP BSI L SPRET PMN07330 MOX 01340 RETRY Tf-JE OPERATION PMN07340 PMN07350 STATEMENTS MOVED 2-1 * PMN07360 PMN07370 OZ230 MCX L SIOcr ,1 INCREME"IT IOCS COL;NTER PMN07380 OZ232 LOX TURN 8USY INDICATOR ON 2-10 2 'TCNT PMN07390 2-6 STX 2 SOASY * PMN07400 OZ215 lOX Ll *-* AOOR 110 AREA TC XRl PMN07410 LOO 1 0 PMN07420 STO SAVE WORD COUNT, SCTR AOOR OZ902 PMN07430 STO OZ912 PMN07440 01240 SRA 16 PMN07450 4 DRIVE CeDE IN AITS 12-15 SLT PMN07460 C12AO+l STO PMN07470 [:Z965 COMPUTE AND STORE THE A PMN07480 OZ330+1 *AOOR OF THE AREA CODE STO PMN07490 A COMPUTE AND STORE THE C1970 PMNC7500 STO 01350+ 1 *AOCR OF THe ARt' POSITION [,)T Pt'N07510 ACCR A C1960 ADD IN BASE PMN07520 ACO IN THE DRIVE A CU80+1 PMN07530 A r.l?80+1 *COCE TWICE MORE PMN07540 Ol?AO+ 1 STO PMN07550 LCX -3 INITIALIZE COU"ITER FOR LOOP PMN07560 STX CZ906 Pt'N07570 LD FETCH DES I REO SECTOR AODR 1 PMN075AO AND C1940 'ANC' Ol1T SECTOR NO. PMN07590 OZ?')O STO .ANC DRIVE COCE 1 1 PMN07600 01280 S L SUB DEFECTIVE CYL INOER ACCR *-* P/-IN07610 l+ BSC SKIP IF BAD CYLINDER PMN07620 FIR TO CUNTlf\UE PR(XESSING /-ICX C[300 PMN07630 LC 1 PMN07640 CZ930 INCREt'E"IT SCTR ACCR BY 8 P/-IN07650 t'OX L C72AO+l,1 POINT TO NEXT DEFECTIVE CYL P,..N07660 /-lOX ? 1 SKIP AFTER 3RC PASS PMN(l7670 CO,..PAQ,E WI NEXT OEF CYL Ar:R MOX Cl?50 P,..N076AO STn SCTR AOfJR WITH 3 OFF CYL2-4 1 P",N07690 PMN0770C * CONSTRUCT THE 2"10 WOR[ OF All Iecc's PMN07 flO * PMN07120 DZ300 LOX L2 ClOOO AODR OF OlOOO TO XR2 P,..N07730 FETCH SECTOR ACCRES,) LO ? Cl913-X2 PMN07740 ANn 2 C1955-X2 'ANC' OUT ALL RLT SECTOR NC P/-IN07750 STO 2 Cl990-X? SAVE SECTUR NO. PfoI,N07760 FETCH AREA COCE OrDO lC L *-* P,..NO 7 770 OR Cl9AO-X2 IN SEEK FUNC T! ON COCE 'OR' 2 PMN07780 STn SEEK IOCC t'INUS (11RECTION '2 C1910-X2 P/-IN07790 OR Cl92'>-X2 'OR' IN READ FUNCTIUN CODE P/-IN07800 STO C1909-X? IOCC FOR REIID-IIFTER-SEEK PMN07AI0 O;~ 7 Cl990-X.2 'OR' IN SECTCR NO. PMN07A7.0 ? r:Zc)45-X2 COMPlETF RFA[')/WR r TE CODE S PMN07830 REAc/\O\RITF IClCC STC ? Clg07-X? 2ND WD rr PMN07840 OR 2 Cl97Q-X? 'OR' IN REAr: Cl"rCK RIT P/-IN07R50 A 2 C1945-)(7 Pr- 4B2B 1CIO MOX • • • • OZ~50 • • • Cl2:?O SLA BSC MOX LO S IISC MDX +1 CZ190+1 1 L SRT SRA SLA OR 1<;1 15 2 2 oZ910-X2 16 PUT NO. CYLINDERS IN fXT + OR - SIGN TO BIT 15 SHIFT SIGN TO AIT I~ OR IN REMAINDER OF 10CC SKIP IF SEEK TO~ARC HOME IIRANCH IF SEEK TOWARD CENTR C080 2 Ol995-X2 COMPLEMENT NO. CY~S TO BE 2 CZgeO-X2 .SOLGHT TO GET POSITIVE NC. Z D~c)04-X2 2-1 2 01070-I-X2 START SEEK BSC MOX EOR A DDAO STO DZ3C)O BSI • STATE~ENTS RE~CVEC 2-1 CHECK FCR AR~ AT bO~E 2-11 SKIP IF NCT Hr.~E: 2-11 BR TO VERIFY AR'" AT HOM2-11 2-11 ~ INSTRUCTICNS RE~OVEC 2-11 2-11 FETCH DESIRED CYLINDER ACoR SUBTRACT AR~ PCSITION ~KIP IF SEEK NECESSARY ARANCH TO PERFOR~ OPERATION SEEK RTE •• .-. +CZ400 PMNC7960 *OTI-lERWISE: SEEK COMPLETE INTERRUPT PROCESSING • • LoD STD BSI 2 DZ908-X2 SET UP 10CG FOR 2 OZ904-X2 *READ AFTER SEEK Z Ol010-1-X2 START REAO-AFTER-SEEK • READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING LD STO 2 I S • BSC MDX MDX MDX BSC D~901-X2 01350+1 1 1 L L DjZ400,+SpBSY,-1 0l350-1 SpBSY,l ollf'15 L L FETCH ACR OF SCTR JUST READ UPDATE ARM POSITION SUB DESIREO SCTR ADOR BR IF SEEK SUCCESSFUL 2-11 SKIP IF NO MORE RETRIES2-11 BR TO CALC NEW SEEK 2-11 PREVENT A MINUS SDBSY 2-11 RR TO TRAP OUT 2-11 • • READ/WR ITE • DZ400 LDD BSC MOX AO STD BSC SRA A • STO LOD STD LD OR STO BSI • READ/WRITE • 2 DZ912-X2 +, D'Z410 Z DZ916-X2 2 D'Z912-XZ Z~ 16 Z DZ9B5-X2 I 0 Z DZ906-x2 1 OZ904-X2 1 I, 1 OZ990-X2 I FETCH INTERMEDIATE WD CNT SKIP, WD CNT NOT EXHAUSTED BR IF WD CNT EXHAUSTED 2-11 DECREMENT WORD COUNT AND .INCREMENT SECTOR ADDRESS SKIP IF T~IS IS LAST SECTOR CLEAR ACC~MULATOR ADO BACK 321 TO ~o CNT STORE RESULT IN I/O AREA RESTORE 10CC FOR ORIGINALLY .REQUESTED OPERATION ADO SECTOR NO. TO SECTOR .ADDRESS t 1 CZ070-I-X2 START READ/WRITE OPERATION CC~PLETE INTERRUPT PROCESSING LD 2 Cl915-X2 SET UP FOR READ CHECK STO ;> CZC)OS-X2 LD ;> OZ945-X2 FETCH FUNCTION INDICATOR BSC Z SKIP IF READ RECUESTEC BSI 2 CZ010-1-X2 START READ CHECK OPERATION DZ410 LDO 2 CZ90Z-x2 RESTORE LST 2 WDS, SEC-Z-ll STO 1 0 .TOR PREVIOUSLY READ LD 2 DZ912-X2 FETCH INT[R~EDIATE WD CNT • SHORT SSC AND ~CX CHANGED TO FOLLOWING ~SC L 2-11 SSC L CZ210,+ SR IF WD tNT EXHAUSTED 1-11 MDX Ll 320 POINT XRI TO NE~ I/O AREA LCD 1 0 SAve LAST 2 WOS OF SECTOR STO 2 Dl902-X2 .JUST REAO/WRITTEN LCD 2 CZQI2-X2 WD CNT, SCTR AD OR NEXT OP STD t 0 STORE BOTH IN NEW 1/0 AREA MCX OZ240 RACK TO SET UP NEXT OPERATN • •HE"JO * eeu BSS 101EO I + END OF DISKZ SZEND-*-6 PATCH AREA P~NC7910 PMN07980 P~N07990 PMNOAOOO PMN080I0 PI-AN08020 PI-ANOB025 PI-ANOA030 PMNl'B040 PIoIN08050 PMNOA060 PMNCB010 PMNOA080 PIoINCB090 PI-ANOflIOO PMN08110 PMNC8120 PMNOB 130 P,..NORI40 PMN08150 PMNOA160 PMNOR110 PMN081RO PMNOB190 PMN08Z00 PMNC8210 PMN08220 PMN08230 PMNOB240 PMN08250 PMN08260 PMNOB210 PMNOB280 PMNOA290 PMN08300 PMNOR310 PMN08320 PMNOB330 PMN08332 Pto\NOB334 PMNOB336 PMN08338 PMN08340 PMN08350 PMNOB360 PMN08370 PMN08380 PMN08390 PMN08400 PMN08410 PMN08420 PMNOB430 PMN08440 PMNOB450 PMNOB460 PMNOB470 PMNOB4BO PMN08490 PMNOB500 PMN08510 PMN08520 PMN08530 PMN08S40 PMN08550 PMN08560 PMNOB510 PMNOB580 PMNOB590 PMN08600 PMN08610 P~N08620 PMNOB630 PMN08640 PMN08650 P~N08660 PMN08610 PMNOB680 PMNOB690 PMNOB700 PMN087l0 PMN08120 PMN08130 2-11 PMN08735 2-11 PMNOA740 PMN08750 PMNOB760 Resident Monitor Listinq JICA Olre OUX 0 OllJl) C ~lCf 001>0 coco coon eooo 0002 0088<; 008Hfl 00RA7 COAfJf1 00889 00890 DC 1;( I Dill DC DC DC BSS 'C III *-* *-* *-* 2 * 10 NO. OF CCRE P';lAGE LOR,PI CORE ADOR/CIO NO. WORD COUNT SCTR AonR WO CNT, SCTR ACCR CORE LDS 2-11 $ZEND ECUATE MOVEC PMN08770 PMN08780 PMNOfl790 PMNOfl800 PMNOtl810 PMN08820 --$ZEND ECUIVALENCES 0·C04 0006 C007 OOOP 0009 OOOA OCOB cooe oeoo C()OF CCOF 0010 CO 11 C017 :::Ol't COL') C016 C017 0018 0019 calA CC1A COlC COLD CCIE CalF 0070 C02l con (;028 C07D C032 CC37 OO~C 004l 0046 0048 0050 005<; C05A C06E con C074 C078 008C COBO 001:1£ ce8F 0090 CO'll 0092 0093 C094 C095 0096 C097 C09A OOAO COAL C014 0016 0017 0018 0019 COLA C05A 00B9 0004 COEF OOFO COF1 COE4 00892 0089"3 00894 00895 00R96 00897 00898 00899 00900 C0901 CO<)02 009C3 00904 00<)05 00906 00901 00<)08 00901 OO'HO C0911 00<)12 00913 ()O914 C0915 OO"llfl OO'H 7 0091~ 00919 00920 00<)21 00922 0092~ 00924 0092') 00926 00977 00971l 0092'] 00930 009 '11 (J0932 00933 00934 00935 00936 00937 009~8 00939 00940 00941 00942 00943 00944 00'145 00946 00947 00948 00<)49 00950 00'151 009~2 00953 00954 00955 009'56 00957 00958 00959 00960 00961 00962 00963 00964 00965 00966 00967 00968 00969 00970 00971 00972 00973 * * EQUIVALENCES FOR OCOM PARAMETERS * =NAME EQU 4 NAME OF PROGRAM/CORE LOAD 6 BLOCI< CT OF PROGRA"'/CORE LOAD =DRCT EQU =FC,,"T Eeu 7 FILES SW ITCH 8 SYSTF"'/NCN-SYSTEM CARTRIDGE [NCR =SYSC Eeu 9 JOBT SWITCH =JBSW EQU CLB-RETURN SwITCH =CBSI<. EQU 10 =LCNT Eeu NO. CF LOCALS 11 CORE MAP SWITCH 12 ="'PSw ECU =I-'OFI EQU 13 NO. CUP CTRL RECORDS ("'OOIF) 14 ACCR OF I-'ODIF BUFFER =1-'OF2 EeU 1<; =NCNT Eeu NO. CF NCCALS =ENTV EQU 16 RLTV ENTRV ACDR OF PROGRA,.. 17 1442-5 SwITCH =RP67 Eeu 18 OBJECT WCRI< STORAGE' CRIVE CODE' =TCr:R Eeu AODR LARGEST HOLE IN FIXED AREA =FHOL E(,;U 20 =FS1F EQU 21 fiLl< CNT LARGEST HeLl' IN FXA AeCR LAST HOLE IN USER AREA 2-10 22 =UHOL Ec.:U 2-10 23 BLK CNT LAST HCLE IN UA =USlE E(,;U 24 OUP CALL SWITCH =DCSW EQU PRINCIPAL 110 DEVICE INCICATOR 25 =PIGr Eeu 26 PR INC IPIt.L PRINT CEVICf INDICATOR =PPTR EQU 2, RLTV ACDR IN 'STRT OF CIL AODR =ClhO Eel) AVAILABLE CAfHRIDGE INDICATOR 28 =ACIN EQU 2G2 29 <.>250 INDICATOR =GRPH HU 2G? 3C NO. G2?50 RECORDS =GCIIlT Eeu 2-2 31 LOCAL-CALLS-LOCAL SwITCH =LO,)\oi EQU 7-2 32 SPECIAL I L S SWITCH =X3SW EQU 2-4 t\0. CF *EQUAT RCCS 33 =ECNT Eeu 35 I+ALI< AOCR ENf) OF UA ( ADJUSTED) =AIIlOU EeU (BASE) l+BLK AOOR END OF UA 40 =BNOU ECU 45 =FPhD Eel) FILE PROTECT ADOR CARTRIDGE 10, PHVSICAL DRIVE '50 =PCI 0 Eeu 55 CARTRIDGE 10, LOGICAL DRIVE =CION Eeu 60 SCTR AODR OF CIB =CIRA EQU SCTR AODR OF SCRA 65 =SCRA ECU 70 FOR"'AT OF PReG IN WORI 6 01057 G-12 ••••••••••••••••••••••••••••••••••••••••••••••••••• PMNI0260 * • PMNI0210 .STATUS - VERSION 2, MOOIFICATIO~ 11 • PMNI0280 • • PMNI0290 .FUNCTION/OPERATION • PMNI0300 • THIS PROGRApoI IS REAC INTO CO~E FROM SECTOR 0 • PMNI0310 • OF THE SYSTEM CARTRIDGE AND TRANSFERRED TO BY • PMNI0320 • THE COLD START CARO. DEFECTIVE CYLINDER • PMNI0330 • ADORESSES, CARTRIDGE 10 ANO CtISKZ ARE ALSO ON • PMNI0340 • SECTOR 0 ANO ARE READ IN AT THE SAP-lE TIME. , • PMNI0350 • ALL THAT ~E~AINS FOR THE COLO START PROGRAM IS. PMNI0360 • TO REAO IN THE RESIOENT IMAGE, SAVE T~E • PMN10370 • CARTRIOGE IC ANO TRANSFER TO THE AUXILIARY • PMNI0380 • SUPERVISOR THROUGH SOUMP IN THE RESIDENT • PMNI0390 ~ONITOR. • PMNI0400 • • • PMNI0410 .ENTRY - CROI0-2 • PMNI0420 * ENTER PROGRAM BY TRANSFER FRO,.. COLO START CARO. PMNI0430 • • PMNI0440 .INPUT • PMNI0450 THE CARTRIOGE 10 OF LOGICAL DRIVE ZERO (THE • PMNI0460 SYSTEM CARTRIOGE) IS READ IN FRO'" SECTOR 0 • PMNI0470 WITH THE CCLO START PROGRAM. • PMNI0480 • * • PMNI0490 Resident Monitor Listing 01051' CI059 010hO 01061 01062 01061 010t4 01065 ClOth 01067 01ChA 010A,,} ('1070 01071 01072 Clon 01074 01075 CI076 r.lC 77 Ol07R 010H ClaW] elOHI OlOA? 0101' 3 r:lOH4 Olaf'') 010R1 01088 010A9 617F 01090 OLEO OlE1 !J C824 01091 OtU ('0 ocoe0004 01092 01093 (11E" 0 0125 I) 1 F 'i rClfl4 01094 OU:h /) 0120 01095 1)1E7 C COIF 01096 OlFA 0 C156 01091 01F9 0 DOFI 01098 OlEA CO h6CCOIFE 0109,) OIEC CO 6EOOOOOA 01100 0) EE 0 COF4 OllC 1 1)1[1'" a lA90 a llC2 OIFO C OlhF a 11 a 3 01104 OlF 1 C 011A 'J If 2 C 4171 01105 01F3 a 3COO 01106 01101 0110A 01109 Q1F4 C lAlO 01110 01F5 C [11f'3 01111 01112 OJ.F6 0 CHOO 01113 01F7 C r;9A5 01FA C CCOE 01114 01115 011'9 C 0170 0tFA 0 COOD 01116 01FA G 81Al 01117 OllIS 01119 01120 01121 OlFe c 41CO 01122 01121 OIF!: C FFFF 01124 01FF a OCOO 01125 OlrF c: 4118 01126 020r. 00 14FFOIFE 01121 0702 CO 4CCOOlFE 01128 01129 01130 01131 0204 oeoo 01132 0704 a ceoo OlIn 0205 0 0001 01134 0206 0 OOES 01135 0201 C 0002 01136 0708 0 10FF 01131 0209 0009 01138 01139 0212 0212 *OUTPUT * PMNI0500 * THE RESIDENT I~AGE IS READ INTO CORE FROM * PMNI0510 THE DISK. * PMNI0520 * IN CO~~A* PMNl0530 $heOE * PMNI0540 * SCI8A-l * PMNI0550 * SCION * PMNI0560 SCYlN * PMNI0510 * SCBSY * PMNI05S0 * $(OCT * PMNI0590 * * PMNI0600 *EXTFRNAl REfERENCES * PMNI0610 OlCOO SUAROUTINF Te PERFOR~ DISK lIn. * PMNI0620 * * PMNI0630 *EXTTS * PMNI0640 * THE nNLY F.XIT IS Tn THE AUXILIARY SUPERVISOR • PMNI0650 * AS FaLLOWS* PMN10660 * BSI $CU~P * PMNI0610 * DC -1 * PMN10680 * PMNI0690 *TAAlES/WORK AREAS - NIA * PMNI0100 * * PMNI0110 *ATTRTAUTES * PMNI0120 * THIS PRnGRA~ IS NOT NATURAllY RElOCATABLE. * PMNI0130 * * PMNl0140 *NOTES * PMNI0150 * CISK ERRrRS RESULT IN A WAIT AT SPST2. * PMNI0760 *************************************************** PMNI0110 * PMNI0190 PMNI0800 * READ THE RESIDENT IMAGE INTO CORE * PMNIOSIO lOX Y PMNI0820 lOO CR920 SET UP wORD CCUNT AND SCTR PMNlOS30 CROlO STn l SCIBA-l *AOOR OF RESIDENT IMAGE PMNI0840 STO 1 SOCYl-Y *INITIALIZE OEF CYl NO.1 PMNIOS50 1 3-Y FETCH LOG DRIVE 0 AREA COOEPMNI0860 lO STO 1 SACOE-Y *ANO STORE IT IN COMMA PMNI0870 STO CR920+1 SAVE THE AREA CODE PMNIOSSO lO DZOOO-2-21-Y FETCh AND SAVE THE PMNI0890 STO SCION *CARTRIOGE 10 PMNI0900 SET UP TEMPORARY 2-11PMNl0902 lOX l2 CR020 STX L2 SLEV2 *llS02 2-1lPMNl0904 lO CR010+1 FETCH CORE AODR OF RESIDENTPMNI0910 SRT 16 *IMAGE AND PUT IN EXTENSICNPMNI0920 STO $DBSY-Y CLEAR DISK BUSY INDICATOR PMNI0930 STO SCYlN-Y INITIALIZE ARM POSITION PMNI0940 8S1 OlCOO-Y FETCH RESIDENT IMAGE PMNI0950 WAIT WAIT OUT THE INTERRUPT PMNl0960 PMNI0910 PMNI09S0 * INITIALIZE ITE~S IN CC~MA PMNI0990 * PMNIIOOO SRA 16 PfoINIIOIO STO $IUCT-Y CLEAR ICCS COUNTER CRenO PMN11020 lOO STO SCIf!A-I-Y *FOR SAVING CORE ON THE CIBPMNll030 PMNII040 CR920+1 FETCH AREA CODE LO PMNII050 UCCE-Y RESn A~EA CODE STO U) PMNII060 CR905 INITIALIZE ~O ZERC TO c-y PMNII010 STO *AN 'foIDX *-1' leap PMNIIOAO ** TRANSFER TO T~E AUXILIARY SUPERVISOR PMNII090 PMNlllOO * TO CO~PlETE INITIALIZATION PMNllllO * $CUMP-Y BR TO AUXllLIARY SUPERVISORPfoINll120 BSI -1 *FOR JO~ PReCESSING PMN11130 DC PMNll140 *C~020 DC 2-11PMNll142 *-* BR TO SERVICE INTERRUPT2-11PMNll144 BSI 1 ClOI0-Y 2-11PMNll146 "'DX l. CR020,-1 2-11 PMN 1114S RETlJRN BOSC t CR020 PMNl1160 '*" CONSTANTS AND WORK AREhS PMNll170 PMNll180 * o ASSURE EVEN BOUNDARY 2-11PMNll190 BSS o WD CNT,SCTR ADDR OF 2-5PMNl1200 DC 'HONG *HARMlESS WRITE TO DISK PMNl1210 DC SCBSY-SCH12 we CNT AND SCTR PMNl1220 DC 'RIAD *ADOR OF RESIDENT IMAGE PMNl1230 DC CR905 MDX *-1 TO BE PUT AT ADDR 0000 2-11PMNl1231 /0212-* PATCH AREA 2-11PMNl1232 BSS PMNl1232 END * Resident Monitor (Induding Table of Equivalences) G-13 Resident Monitor Listing CQC5S-~HE~E"KE SYMBOL VALUE REL OEFN ~fFE~ENCfS CROI0 CR02e CR90,) 0 0 CR920 OlOOO GIE2 01FE 020P. 0204 0206 00F2 OlO10 Ol02C 01060 Ol070 01100 OlllO OllAO o1l85 Ol190 01210 Ol215 Ol220 Ol230 Ol232 Ol235 Ol240 Ol250 Ol280 Ol300 0Z330 0Z340 0Z350 OB80 0Z390 Ol400 Ol410 Ol900 Ol901 Ol902 Ol904 OZ905 Ol906 Ol907 Ol908 Ol909 Olno Ol9ll Ol912 Ol913 Ol914 OZ915 OZ916 Ol920 Ol925 OZ930 OZ935 OZ940 Ol945 01950 01955 Ol960 Ol965 Ol970 Ol975 Ol980 Ol985 01990 Dl9CJ5 $ACOE $ACEX SCCAO SCHI2 SCIBA SCION SCILA SCLSI; SCOfolN SCOR.E SCPTR SCTSW SCWCT SCXR I SCYlN SOAOR SCBSY SCCDE SCC Yl HOSw SO"'PF SCREe SCU"'P OOF1 COF9 0100 0102 0104 010E 0111 0119 0120 0146 Ol4C 0150 0154 01')6 0158 01'i0 016C 0160 0178 0170 01AC 0197 OlA4 OlA5 0186 OICA 0122 0123 0124 0126 0127 0128 0129 012A 0126 012C 0120 012E 012F 0130 0131 0132 0134 0135 0136 0137 0138 0139 013A 0138 013C 0130 013E 013F 0140 0141 0142 0143 009F OOlA 0074 0006 C005 010B C05A 0018 0001 OOOE 007E COOF C072 0017 009A COlO OOEE 0077 00A4 0000 0019 C012 003F CllOl,R 01099,R. r.ll16,R 01117,R 01091,R 00327,B OllO,>,B 00644,R 00620,B 00659,E\ COA23,B 00626,M C0646,"1 00625,8 00A40,B C0729,Fl 00872,8 C0795,8 00798,8 00632,8 00670,8 00631,M C0878,8 00.769, B 00748,M C0764,B 00750,'" 00735,B 00752,M 00819,8 C0802,8 00809,8 00847,8 C0684,R 00833,R 00660,R 00638,R 00864,'" C0758,M C0785,'" C0827,R 00782,'" 00656,R 00790,M 00667,R 00775,R 00728,R 00668,R C0848,R 00786,R 00781,R 00766,R 00733,R CC760,R 00629,'" 00789,R 00776,R 00753,R 00749.R 00751,R 00788.M 00779,R 00852,R 00777,M 00820,R 00703,R 00320,'" C~910 G-14 C 0 0 r 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01092 0112') Cl117 01111 0113') 00617 00674 00626 00611 00631 00647 00649 006')4 00660 00669 007lA 00726 00733 00739 00740 00742 00746 00761 00762 C0774 00778 00792 00A07 00822 00823 00845 00868 00676 00677 0067A 00680 00681 00682 00683 00684 00685 00686 00687 00688 00689 00690 00691 00692 00694 00695 00696 00697 00698 00699 00700 00701 00702 00703 00704 00705 00706 00707 00708 00709 00446 00965 00373 C0255 00254 00886 00966 00963 00256 0026f! 00383 00269 00371 00962 00436 00270 00559 00376 00457 00539 00964 00212 00319 01127,104 0112fl,8 01CG6,,," C1l14,R 00348,B 00645,8 006,)5,R 00714,R OC774,R 00970,R 00971,R Ol022,R 01023,R O1097,R 00648,,.. 01l26,Fl 00829,B C08'i9,Fl 00867,B 00627,M 00722,8 00637,'" 00663,B 007'i4,R C0755,R 00756,~ 00767,~ 00834,1'4 0083A,B 00836,8 00821,R 00726,R 00744,'" 00868,R 0087'),'" 00822,'" 0082A,M 00855,M 00854,R 00780,'" 00792,R 00816,R 0~745,M 00791,R 00845,R 00849,1'4 00870,R 00876,R 00784,R 00787.R 00865.R 00863,R 00783,R 00857,R 00704,R 01095,'" 01115,'" O1l35,R 00313,R 0:1092,~ 01113,M 01098,M 00346,R CO 32.3 ,M 00702,R 00704,R 01104,M 00618,101 00662,M 00719,'" 00702,R 01093,,", 00657,'" 00793,'" 00325,'" 00324,R 00555,8 01127,B 007~I,M 00837,1'4 00839,'" 00969,R 01103,'" 01135,R Resident Monitor Listing CROSS-REFERENCE REFERENCES SYMBOL VALUE REL DEFN Hll~ 0076 C038 007l 0095 0063 0064 C014 0013 00R9 0004 n032 002C OOR} OORA OOBA 00C2 C004 00110 noe} 00D5 00E6 OOEA OODE OOEO 00E2 00E4 006E 007C 0033 0008 0009 OOOA OOOB OOOC 0000 0039 0014 0070 0015 0034 0015 OOFO 0036 0037 0078 0028 OOill 00A5 0089 0080 0016 OOFl 0020 0011 COEF 0060 C091 00[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00375 00303 00369 00427 00352 00353 00274 00273 00967 0 0 00371 002A3 00389 00'395 004(11 00401 00961 00971 00271 00271 (1 009hQ 0 00364 00414 00547 00322,101 00265,R 00416.B CO~36 CC3C3,B 00309,B 00129,B 00966,R HXIT HL SH $FPAO 1>GCO'" t.GRIN 1;I-'ASH SIASY t{[1T2 tlAT4 'l> IOcr t{Q[C;: $ I?CO \1205 $1210 $1290 td 400 \1403 $140<; $1410 $1420 $1425 SI490 S 1492 $1494 $1496 $1499 $KCS\O/ HAST HFVO $LEV J HEV2 SLEV} $LEV4 $LEV5 H INK SLKNM SLNXQ tLSAO SNOUP SNXEQ SPilUS 1>PBSY HGCT HHSE $PRET $PS T I $PS T2 toPST3 HST4 $R"'SW SRWCl 1;SCAN $SCI\T $ S"IL T SSSlS $STOP $SYSC $SOCO SSICC \51'>0 SS7CO $S2<;0 $<;100 $5900 $5910 SUFOR Sl;FIO tULET " .. ROl hSD~ UR 3x $IEND \1132 $1403 l(? "AeIN =ANOU =B"ICU =CRSW =CIAC =CIPA =CICN =CSHN ~052 0053 00?9 C05E 0065 00t6 r,03C 001E: C070 0079 C02D 007B 007A OC[4 OlFO 007F 0080 OOF2 0 0 0 a 0 0 0 0 0 0 0 a 0 0 0 0 0 0 0 a a 0 0 0 0 0 (' 0 0096~ C0294 OO2e~ 0048'3 C0489 00490 00495 0051') C0525 C0529 O()530 00552 00555 00540 00541 00544 00549 00365 00381 00295 00260 00261 00262 00263 00264 00265 00307 00960 00367 00314 00296 00297 00331 00343 00347 00351 001'58 00311 00314 on382 00318 00289 00380 0037Cl OOIlAl 00384 00385 00714 0 01027 0 0 0 0 0091'( a 00720.~ 00739,M 01111.'" 00494,B 00485,M 004P.6,M 00493,R 00534, B 00518,,", 0051q,,", 00554,B 00516,M 00533,R 00520,R 00526,R 00553.R 00972.R 00361,R OllOO,M 00338.R 00344,M 00285.B 00734,B 00391,B 00391.B 00669,B C0403.8 00409,B 00337.M C0359,R 00321.B 00345.8 0034Q,B 00362,B CC360,8 00326,R 0032H.R 00336.R 00"172 001C 0023 C02A CODA 001B OO'3C 0037 005A 0 0 0035A.R 00523,B 0026?,R. C0967,R 00484,M 00487,M 0026.4,R 005??, B OC968,R on517,,", 00Q70 002Qe 0029"1 007F 0 00960,R 00961,R 00962.R 00963.R 00964.R 00965.R 00611,R 00613.R 00ee2,R 00669,B 00786.R 00822.101 00855,M 01090.R 01117,M 00775.R 00781.R 00823.B 00857.R 01093.,", C1122,B 0077h.R 00777,M 007eA.~ 00789,R 00827.R 0082A,M 00859,B 00863,R 01094,R 01095,M 01126,B 00779,R C0790.Io' 00829.B C0864,'" 01097,R 00780,~ 00781.R 00782,M 00783.R 00784,R 00791,R 00792,R 00793.M 00816,R 00820.R 00833.R 0084~,R 0084A'R 00849,~ 00B~2.R 00865,R 00867.B OOAbA,R 00870,R 00875, M 01103.M 01104,M 01l0~.B Olll1.M 01113.M 0078~.M 00821,R 00854.R 00876,R 01l15,M 00Q73 00924 C0900 00916 0092e 00927 00"134 Resident Monitor (Including Table of Equivalences) G-1S Resident Monitor Listing CROSS-REFERENCE SYMBOL VALUE REL OEFN =oBCT =cesw =EC"'T =FNTY =FeNT =FHCL =FLET =FMAT =FPAo =FSlE =GeNT =GRPH =JASw =LCNT "LOSW C006 0018 0021 0010 CC07 0014 0048 0046 0020 0015 001E OOlC C009 COOB OOlF COOO COCE oooc C004 COOF 0032 0019 OOlA OOll 0041 COO8 0012 001b 0050 0017 0055 0020 0002 0093 0004 OOAO OOAl 0078 0001 C3PO 04CO 0600 0005 OOlB OCRE COOl COOl 00F9 00F7 00ge C002 COC8 0096 0097 CCO C003 COC7 001C 0004 CCCO Call 0033 C008 0092 C095 COOo C003 C005 COOO COC') lCOO C06E C005 C004 CO lA 00.4 0002 COO6 0010 COCO C003 OCCO 0073 0074 Call 0 ;MDF 1 =,,",CF2 =MPSW :NA,..E =NCNT =PCIO =PICO =PPTR =RP67 -=SCRA =SYSC =TOCR =UHOl =ULET =USZE =wseT =X3Sw 'BLCT 'coev 'CION 'CILl 'CIL2 'CLBO 'C"'ON 'C(')"'l 'COMI 'co,..? 'COpy 'CORE 'ePTR 'CCO'" 'ceTA 'CKEP 'OKIP '[/\lIC 'CREe 'CTYP 'ClIO 'ClIO 'F IlE 'I-'CIB 'HCNG 'HEIIIC 'HWCT , I CAr: , I L S4 , I S TV , I TVX 'KBCP 'KBCV 'LOAC 'lFEIIi 'LFfCC 'LFN,.. 'LSCT '''COR ',,",CRA '''XOR '/\lEXT 'CVsw 'PTCII 'RIIIC 'RTflL • S( I P 'SCT~ 'SLET 'STRT • SUP6 'SUP1 'TCNT 'TVWC 'UAFX G-16 cooe COOL a 0 0 0 0 0 a 0 0 0 0 0 0 0 a a 0 a a 0 0 0 0 0 0 0 0 a 0 a a 0 0 a 0 a 0 0 C' a C f') 0 0 a 0 0 0 0 0 C 0 C a () a a C c 0 a 0 0 C 0 C a a C 0 C a 0 () 0 C 0 a C 0 C 0 0 a 0 C 00R9b C0913 00922 C090b 00897 00909 00931 00930 00n5 00910 00919 00918 OOA99 00901 00920 00903 00904 00902 00895 00905 oonb 00914 00915 00901 00929 00898 0090B 00911 00932 00912 00933 00921 01012 00949 01029 00955 00956 00941 00987 0101A CIOl? 0102C 01030 01000 00944 C0977 CIC31 01022 CI02l CC9.,4 OO'RA 01C3? 00952 009')3 C09A9 010?5 C09Al (ll 00 1 C0990 1)0976· 0099P 01016 00997 0094R 00951 0099? OlO06 REFERENCES 00885,R 01)b12,R Cll'l4,R 1)1()1)') C101l 00<:)91 CIO?f> CQ93R 01011 01010 OQ99'l C0950 0097A 009AO 01024 01007 C0979 00987 00939 00940 ala?! 00<:)')4 OlOOA C1l3f>,R C0140,R R..ident Monitor Listing C~OSS-REfERENCE SV"'SOL VALUE' 'WCNT 'WDSA 0009 0003 'xcn 'XECA 'XR3X , 1132 '1134 "1403 '1442 '2501 ERROR ceOl COOO COO A 008e 0091 ooec 0090 008F STATE~ENT REL OHN REFERENCES 0 0 0 0 C 009<)1) 0\009 009Q3 009R6 00996 0 0 OOq4~ 0 0 0 lINE 0091t7 00942 00946 0094') NU~8E~S 00618 000 OVERFLOW SEtTORS SPECIFIED 000 OVERFLOW SECTORS REQUIRED 269 SV~80lS DEFINED NO ERRORCS) AND 001 WARNINGCS) FLAGGeD IN AIOYE ASSENllV Re~nt Monitor (IncludJng Table of Equivalences) G-17 (;,,18 FORTRAN Sample Program Appendix H. Monitor System Sample Programs Sample programs 1, 2, and 3 are provided with the monitor system. The first is a FORTRAN compilation, the second is an assembly, and the third is an RPG compilation (RPG is available on the Disk Monitor System, Version 2, card system only). All 3 programs are loaded, listed on the principal printer, and processed as monitor jobs. The output of the FORTRAN program is printed on the printer specified on the IOCS control record. The output of the assembler program is printed on the console printer. The output of the RPG program is printed on the printer specified as the output device on a file description coding sheet. Sample programs 4,5,6, and 7 are not provided with the monitor system. These programs illustrate techniques described in Chapter 6. "Programming Tips and Techniques." 1. FORTRAN SAMPLE PROGRAM The FORTRAN sample program is listed as it runs on a 4K and an 8K system (the LIST ALL control record is removed for the 8K run). This program reads data cards supplied with the program and builds 3 files on disk; one in the user area, and 2 in working storage. The core and file maps for the program are described in Chapter 6. The FORTRAN card sample program as supplied uses a 1442-6, or -7, and 1132 Printer, and disk. The paper tape sample program uses an 1134 Paper Tape Reader, a console printer, and disk. If your system does not have the required configuration, you must make the following changes to the program: card SM FO R006 If printed output is to a 1403 Printer, change the IOCS entry from 1132 PRINTER to 1403 PRINTER. If printed output is to the console printer, change the IOCS entry from 1132 PRINTER to TYPEWRITER. card SM FO R007 If card input is from a 2501 Reader, change the IOCS entry from CARD to 2501 READER. card SM FOR023 If card input is from a 2501 Reader, change M=2 to M=8. card SMFOR024 If printer output is to a 1403 Printer, change L=3 to L=5. If the printer output is on a console printer, change L=3 to L=1. Monitor System Sample Programs H-l ----------,-----------FORTRAN Sample Program run on 4K FORTRAN Sample Pro~Jram Run on 4K SAMPLE JOB T 1/ CART SPEC OEOO tOG DRIVE CCOO CART AVAIL OEOO SMFOROOO DRIVE CCOO P~Y II OUP SMFOROOI *STCREOATA ~S UA FllEA 2 CART 10 OECO DB ADCR 2EAO DB CNT SMFOR002 II • IBM 1130 FCRTRAN SA~PlE oe20 PROGRAM FOR *ONE WCRD INTEGERS *ICCSIDISK,1132 PRINTER) *ICCSICARC) *u ST All C IB~ 1130 FORTRAN SAMPLE PROGRAM C SI~LLTA~ECUS EQUATICN PROGRAM II ( INTEGER Vl,V2,V3 DIMENSICN AII0,10).XII0),BII26) DEFINE FILE 10111,lCO,U,Vll,10211.10,U,V21,10311,100,U,V31 FOR~AT I1H1,20XI5HINCOMPATIBILITY) FOR~AT 11H 20X41HMORE EQUATICNS THAN UNKNOW~S-NC SOLUTIONS) FORMAT 11H 2CX46HMORE U~KNCwNS THAN EQUATIONS-SEVERAL SOLUTIONSI FOR~AT I1H 20X15HSCLUTICN MATRIXI FOR~AT I1H 20X8HMATRIX AI FORMAT 11M 2CX8~MATRIX BI FOR~AT I1H 20XIOH A-INVERSEI FORMAT IIH 20X24~OIAGONAL ELEMENT IS ZEROI M=;2 l.=3 READ 1"',10) FOR~ATI80H SPACE FOR TITLE 301 302 3C3 304 305 3C6 3C7 308 10 1 ) WRITE (l,lOI 12 FORMAT (6110,20XI REAO IM,12) Ml.M2,tl,L2,N1,N2 C C C C II C l2 C Nl N2 ~l ~2 C C 13 17 64 65 66 63 11 91 93 14 70 89 C C NO. NO. NC. NC. OF OF OF OF ~C. OF NO. OF ROWS COl.S ROWS COLS ROWS COl.S OF A OF OF Of OF OF A X X B B 17FlO.4tlOXI 110FI0.4) IF IN;2-1)63,64,63 IF I l2- 1 ) 63 , 65 , 63 IF IL1-~2163,66,63 IF OH-Nll63,11,63 WRI TE IL,3011 GO TC 2 FCH~AT FOR~AT N=;~l N=M2 IF IMl-~21 'H t 14,93 WRI TE IL,3021 GC TO 2 WRI TE IL,3031 GC TO 2 WRITE IL,3051 DO 10 1=I,N REAC I ~,l31 I AI I, J I, J=l,NI WRI TE I ltl71 I A1 I ,J I, J=l,NI WRI TE 1101'lIlAII,~I, J=l,NI CONTINUE FOR"AT IFI0.4,7CX) WRITE IL,3061 REAC 1~,89) 1BI I I, I z l,NI WR I TE Il, 89 1 181 I I, 1= I, NI WRI TE 1102'1IIBIII, l=l,N) INVERSICto. CF A C 40 60 80 120 B-2 DO 12G K= 1, to. O=A(K.K) IF(CI40,200,40 A(K,K:t=1.0 DO 60 J=l,N AIK,J)=AIK.JIIO IFIK-NI80,130;130 IK=K+l DO 120 I=IK,N C=AII"KI AI I , K':0.0 DO 120 J= 1. ~ A(I,Jil=A(I,JI-(ClI'AIK,JII SMFOR003 SMFOR004 SMFOR005 SMFOR006 SMFOR007 SMFOR008 SMFOR009 SMFOR010 SMFORO 11 SMFOR012 SMFOR013 SMFOR014 SMFOR015 SMFOR016 SMFOR017 SMFOR018 SMFOR019 SMFOR020 SMFOR021 SMFOR022 SMFOR023 SMFOR024 SMFOR025 SMFOR026 SMFOR027 SMFOR028 SMFOR029 SMFOR030 SMFOR031 SMFOR032 SMFOR033 SMFOR034 SMFOR035 SMFOR036 SMFOR037 SMFOR038 SMFOR039 SMFOR040 SMFOR041 SMFOR042 SMFOR043 SMFOR044 SMFOR045 SMFOR046 SMFOR047 SMFOR048 SMFOR049 SMFOR050 SMFOR051 SMFOR052 SMFOR053 SMFOR054 SMFOR055 SMFOR056 SMFOR057 SMFOR058 SMFOR059 SMFOR060 SMFOR061 SMFOR062 SMFOR063 SMFOR064 SMFOR065 SMFOR066 SMFOR067 SMFOR068 SMFOR069 SMFOR070 SMFOR071 SMFOR072 SMFOR073 SMFOR074 SMFOR075 SMFOR076 SMFOR077 SMFOR078 SMFOR079 SMFOR080 FORTRAN Sample Program run on 4K C C SMFOR081 SMFOR082 SMFOR083 SMFOR084 SMFOR085 SMFOR086 SMFOR087 SMFOR088 BACK SCLUTICN C 130 IK=/\-1 DO 180 K=I,IK 11=K+l DC 180 1=I1,N D=AIK,I) AIK,I )=0.0 DO 180 J=I,N. 180 AIK,J)=AIK,J)-IC*AII,J)) GO TO 202 200 WRITE IL,308) GC TC 2 202 WRITE IL,307) DO 201 1=1,/\ wRITE IL,17) IAII,J), J=l,N) WRITE 1103'1) IAII,J), J=l,N) 201 CONTINUE DO 21 1= 1, N XII)=O.O DO 21 K=l,N 21 XII)=X(J)+AII,K)*B(K) WRITE IL,304) WRITE IL,89) (XII), l=l,N) 2 CALL EXIT END VARIABLE AIR V311 L21 I. KII ALLOCATICNS )=00CC-0016 )=01F2 )=OlF8 )=OlFE S~FOR089 SMFOR090 SMFOR091 SMFOR092 SMFOR093 SMFOR094 SMFOR095 SMFOR096 SMFOR097 SMFOR098 SMFOR099 SMFORI00 SMFOR101 SMFORI02 SMFORI03 SMFOR104 SMFORI05 SMFORI06 SMFORI07 XIR )=OOFO-OODE ~II )=01F3 NlI I )=01F9 IKII )=OlFF ALLCCATICNS =020E 302 =0216 =0289 17 =02BD =0334 70 =0386 =05C6 21 =0520 BIR LI I N211 1111 )=01EC-OOF2 )=OlF4 )=OlFA )=0200 V21 I )=OlFl )=01F7 JII )=OlFD VlII )=OlFO M211 )=OlF6 111 )=OlFC OIR )=OIEE MlII )=01F5 NI I )=OlFB llil STATE~ENT 301 13 14 201 =0235 =02CO =03EB =056C :i03 89 40 2 304 64 60 =0251 =0300 =03FA 305 65 80 "'025E =0306 =0416 306 66 120 =0267 =03CC =0435 307 63 130 =0270 =0312 =0466 308 11 180 =027A =0318 =0491 10 91 200 =028B =0328 =04C6 12 93 202 =02B5 =032E =04CC FEATURES SUPPCRTED C/\E "CRn INTEGERS ICCS CALLEC FACDX SIOI SUBPRCGRA~S FDIV SDFIC F~PYX SUBSC REAL CCNSTANTS .100000E 01=0204 FLO SDWRT FSTO SOFX FSTOX FSBRX CAROZ PRNTZ SRED SWRT SCOMP SFIO SIOFX .OOCOOOE 00=0206 I/\TEGER CCNSTA/\TS 2=0208 3=0209 CCRE FLOX SOCOM FOR VARIABLES 1=020A 101=02CB 102=020C 103=0200 RECUIRE~E/\TS CO~~CN E/\C OF 0 516 PROGRAM IJ74 CC~PILATIC/\ Monitor System Sample Programs H-3 FORTRAN Sample Program run on 4K II XEC SMFOR108 *l((Al.FlCAT,FARC.IFIX,PAUSE,HOLEZ SMfOR109 *fIlESII03,FIlEAI FilES All(CATI(~ lC3 02EA OCOI OECC FllEA 101 COOC OCOI OEOO 02EC 102 COOL 0001 OECO 02EC STCRAGE AllCCATIC~ R 4C 03BF (~EX) ACOITICNAL CCRE REQUIRO R 43 0124 (~EX) ARIT~/FU~C SCCAL wO C~T R 44 06B2 (~EX» F IIC, lie SOCAL WO CNT R 45 07B6 (HEX) DISK FI/C seCAL WO CNT R 41 C004 (~EXI ~CS UNUSEC BY CORE LeAD LIBF TRANSFER VECTCR X~CS Oq~A seCAl 1 EBCTB OFS1 SCCAl 2 HCLlB OFI5 SCCAl 2 GETAC OE02 seCAL 2 ~OR~ 01(0 FACOX 0955 SCCAL FSBRX 092C seCAl F~PYX 08F8 seeAL FCIV 0816 seCAl FSTex 070C FLCX 07e8 SCCG~ 0978 seCAl 3 SOfX 08E3 SCCAl 3 SD~RT 0901 SCCAL 3 SICFX 09A6 SOCAL 2 SUBSC 07A2 SIC I 09AA SCCAL 2 SCC~P 0983 seCAL 2 S~RT 08A2 SCCAL 2 SREO 08A7 SCCAL 2 FSTO 0770 FLO 07BC PRNTl OCF8 SOCAl 2 CAROl OC48 seCAL 2 SFIO 09BF SCCAL 2 SCFIC 0960 SCCAL 3 HCLEZ 086A LOCAL PAUSE 086A lOCAL IFIX 086A LOCAL FARC 086A LOCAL FLCAT 086A LOCAL SYSTE~ SUBROUTINES ILS04 OCC4 ILS02 00B3 ILSOI OF56 ILSOO Of6F FLlPR 0804 04Cl (HEX) IS TH! EXECUTION ADD~ SMFORIIO IBM 1130 FORTRAN 4,2150 -2.1200 1.1220 MATRIX A -1.2120 1.1050 3.5050 -1.6320 -1.3130 3.9860 MATRIX B SAMPLE PROGRAM 3.2160 1.2470 2.3456 0.2915 0.1631 -0.02U 0.9321 1.2". 0,7429 H-4 O.OIU 0.3836 0.1029 A,·INVERSE -0.0461 o.nu 0.300, SOLUTION MATRIX FORTRAN Sample Program run on 8K FORTRAN Sample Program Run on 8K II JOB T SAMPLE LOG DRIVE 0000 V2 fo411 CART SPEC 2222 ACTUAL UK CART AVAil 2222 CONFIG 8K II oUP SMFOROOI .STOREoATA WS UA FILEA 2 CART 10 2222 08 AD OR 53BO 08 tNT II • IB~ SfilFOR002 0020 1130 FORTRAN SAf04PLE PRCGRAM SMFOROOl II FOR .ONE WORD INTEGERS .IOCS(DISK,1132 PRINTER I .IOCS(CARDI .U ST ALL C le~ 1130 FOMTRAN SAMPLE PROGRAM C SI~ULTA~EOUS ECUATICN PROGRA~ C INTEGER VI, V2,V3 DIf04ENSIGN A(10,lOI,XCIOI,BC1261 DEFINE FILE 10ICl,lCQ,U,Vll,102Cl,10,U,V21,103Cl,lOO.U,V3) FCR~AT IIHI,ZOX15HINCOMPATIPIliTYI FOR~AT 11H ZOX41~MORE EQUATIONS THAN UNKNCWNS-NO SOLUTIONS) FOR~AT 11H 20X46H~ORE UNK~CWNS THAN EQUATIONS-SEVERAL SOLUTIONS1 FCR~AT 11H lOX15HSOLUTION MATRIX) FOR~AT 11H 20X8HMATRIX A) FOR~Ar IIH 20xe~f04ATRIX B) FOR~AT 11H 20XI0H A-INVERSE) FOR~AT 11H 20X24~DIAGONAL ELEMENT IS ZERO) 301 30Z 303 304 305 306 301 308 ~=2 L=3 REAC IM,lOI 10 FCR~ATI80H SPACE I F~R I wRITF- (L,lOI 12 FCR~AT 16110,2CXI READ 110',121 Ml,~2,Ll,LZ,Nl,~2 C C ~1 C ~2 C C Ll l2 Nl C C "'2 C NC. CF RC\\S CF NC. CF cns CF C~ RCwS OF X NC. CF COLS Of )C NC. CF ROilS CF PNC. Cf cns OF I' ~O. TITLE SMFOROOIt SlilFOR005 SMFOR006 SMFOROOl SMFOR008 SlilFOR009 SMFOROIO S.. FOROll SMFOR012 SMFOR013 SMFOR014 SMFOR015 SMFOR016 SMFOR017 SMFOROIB SMFOR019 SMFOR020 SMFOR021 SfilFOR022 S.. FOR023 S,.FOR024 S,.FOR025 SHOR026 S,.FOR027 SfilFOR028 S,",FOR029 SfilFOR030 SfilFOR031 SfilFOR032 SHORon SMFOR031t SfilFOR015 SMFOR036 SHORon S~FOR038 13 11 64 65 66 63 11 11FIO.4,lOXI FCR~Ar I I O~ 10.4 I IF 1""2-1163,64,63 IF Il2-1163,65,63 IF ILl-~2)6j,66,63 IF 1~1-1';1I6j,lI,63 WR I TE Il, 30 11 GC TC 2 FCR~Ar t..=~l 1\=~7 c S"FO~OOO PHY DRIVE 0002 IF 1~1-~2) '11,14,93 91 wR I TE IL,3U2.1 GC lC 2 93 wRITE Il, 30 j I CC TC" 2 14 \oR I TE Il ~ 30,> I DC lC I = I ,N REAC I~,UI I All ,J I, J-l,NI wR I TE I L, 17 I I AII, J I, J= 1 ,N I wRITE IICl'II1AII,JI, J= 1 ,N) 70 CCNTlNUE 89 FCR~AT IFI0.4,70)c1 wR ITE I L, 3061 REAC I ~,8'11 IBIII, l-l,N I wRI TE I L,fl91 I e II I, 1"I,N) wRITE 110Z'II1BIII, l-l,NI C II\VERSICN Uf A C 40 60 80 120 CC 120 K=l,N D=AIK,KI IFICI40.Z00,4C AIK,KI=1.0 DO 6C J=l,N AIK,JI=AIK,JI/C IFIK-N180,130,130 IK=K+l DC 120 I=IK,N ("A(I,K) AII,KI=O.O CO 120 J-l,N ACI,JI-ACI,JI-CC.ACK,JI) SfilFOR039 SfilFOR040 SMFOR041 SfilFOR042 SfilFOR043 S/llFOR041t SfilFOR045 SfilFOR046 SfilfORC47 SfoIFOROlt8 S,.FOR049 SfoIFOR050 S"'FOR051 SfilFCR052 S~FOR053 S,.fOR054 SfilFOR055 S"'FOR056 SfoIFOR051 SMFOR058 SMfOR059 S"'FOR060 SfoIFOR061 S"'FOR062 SJIIFOR063 S"'FOR064 SfilFOR065 Sf04FOR066 SJIIFOR067 SMFOR068 SMFOR069 SfilFOR070 SJIIFOR071 SMFOR072 SMFOR071 S"'FOROllt SMFOR075 SMFOR076 SJIIFOR071 S.. FOR078 SMFOR019 SlilFOR080 Monitor System Sample Programs H-5 FORTRAN Sample Program run on 8K c C S"'fOR081 S"'fOR082 S.. FOR083 S"'FOR084 S"'fOR085 SI'IFOR086 S"FOR087 SI'IFOR088 S.. fOR089 SI'IFOR090 S"FOR09l 5"FOR092 5"FOR093 S"FOR094 S"fOR095 S"FOR096 5"FOR091 5"FOR091 5"FOROft S"FORIOO S"FOR101 SIiIFORI02 SIiIFORI03 Sf/FeRIO .. S"'FORI05 SIiIFORI06 S"'FORl07 BACK SCLUTION C 130 I K=N-l DC 180 1<=l t II< 11"1<+1 00 leO 1:l1 t N C .. jUK,J I AII~.II=O.O DO 180 J"'ltN 180 AIKtJI=A(K.JI-IO*AII,JI) GO H 202 200 WRITE IL,3081 GO TO 2 202 ~R1TE ILt3011 DC 201 I-I.N WRITE IL,171 IAII,J), J-I.NI WRITE 1103'11 IA(I,J', J-l.NI 201 CONTINUE DO 21 lal.N XI (1=0.0 DO 21 K=I,N 21 XIKlaXIII+AII,KI*BIKI " RKIE I L ,304 I WRffTE IL,891 lXIII, 1=I.NI 2 CAI.l EXU ENI) VARIABLE ALLOCATIONS AIR 1-000C-0016 XIR I=COFO-OOOE V31 I laOlF2 ... I I I"C IF3 NI I I 1=01F9 L211 l"'OH8 I( I I I-OlFE 11(11 I-OlFF ALLOCATIONS =020E 302 =021B =02B9 17 -02BO -0334 70 -0386 -0506 21 =0520 01 R I-OlEE I l"OH5 BI R I-OlEC-OO'F2 Lli I-OIFit VIII I-OlFO "211 '-01F6 I (I I-Olft ~1C N2( I I-OIFA 1111 1-0200 Nil '-OlFB V2 (I '-OlFI LlC I )-01F7 J( I '=OlfO STATE~ENi 301 13 14 201 303 89 4C 2 -02~5 30lt =C2CO -C3EB =05"C 64. 60 -0251 =C300 -03FA 305 ·02'5,E 65 "03C16 80 -0416 306 66 120 "0267 -030C -0435 307 63 130 -0270 308 -027A -0312 11 180 -0318 -0491 -0468 10 91 200 -028B -0328 -04C6 12 -\t)285 93 202 -DUE -'t)4CC FEATURES S~PPCRTED ONE ,"CRO INTEGERS 10CS CALLED SUBPROGRAMS FAOOX F~PYX fOIV SUBSC SOFIO SIOI REAL CONSTANTS .100COOE 01-C204 FlD SOWRT FlOX FSTO sccm~ SDFX 1=C20A CCRE RECUIRE ... ENTS FOR CO ...... ON 0 VARIABLES 5it: H-6 CO~PILATION fSBRX CARCl .CCOCOOE CO=C206 INTEGER CONSTANTS 2=C208 3=0209 END OF FSTOX 101=0208 PROGRA ... 874 102=020C lC3-0200 PRNTl SREO SWRT SCOIiIP SFI0 SIDfX FORTRAN Sample Program run on 8K 1/ XEQ L 2 SflFCR108 *LOCAL.FLOAT,FARC.IFIX.PAUSE,HCLE7,FLO S"FQR109 *FILES(103,FILEA) fILES AllOCATION 103 053B oeOl 2222 FILEA 101 COOO 0001 2222 0530 102 COOl CCOI 2222 0530 STORAGE ALLOCATION R 41 OC42 (HEX) wDS UNUSEC 8Y CORE LCAD LIBF TRANSF~R VECTOR X~DS 1244 EBCTB 1241 HOL TB 12C5 GETAD l1C2 NORM 1198 FADOX 1143 FS8RX lIlA FMPYX lOEb FOIV 1086 FSTOX 12F4 LOCAL FLDX 1310 LOCAL SOCO~ 0842 SDFX 07AD SDWRT 07C8 SIOFX OB2A SU8SC 1064 OB2E SIOI SCOMP 0806 SWRT OA22 SRED OA27 FSTO l2F8 LeCAL PRNTZ OF1C CAROl OECC SFIO OB43 SOFIO oa2A FLO 1314 LOCAL HOLEl l2F4 LOCAL PAUSE 12F4 LOCAL IFIX 12F4 LOCAL FARC 12F4 LOCAL FLOAT 12F4 LOCAL SYSTEM SUBROUTINES ILS04 COC4 IlS02 00B3 ILSOI 132C ILSOO 1345 FliPR 128E 04Cl (HEX) IS THE EXECUTlCN AOOR S"FCRllO Monitor System Sample Program 0-6.1 This page intentionally left blank H-6.2 Assembler Sample Program 2. ASSEMBLER SAMPLE PROGRAM The core map printed with the assembler sample program is described in Chapter 6. "Programing Tips and Techniques." output on the principal printer II JOB SMASM10l LOG DRIVE 0000 V2 tl09 II CART AVAIL OEoa CART SPEC OEOO ACTUAL 32K DRIVE 0000 P~Y CONFIG 32K AS~ *LIST *PRINT SY~BOL SMASM102 SMASM103 SMASM104 TABLE CCMPUTE COOOl CC002 CC003 00004 oeoo') C0006 ee001 CC008 00009 C0010 a CC011 C0012 CC013 C006 a E829 C0014 oe07 0 OCIB CC015 00016 C0011 0008 20 05097663 C0018 C0019 OC09 a ocoo C002C OCOA 1 OC23 CC021 OCC8 1 001? OOCC a OOlA C0022 OCCC 20 23A17170 C0023 C0024 OCOE a 2COO oeOf 1 OC14 CC025 0010 20 23A17170 C0026 0011 a CCOO C0027 0012 0 7CFO C0028 0013 0 6038 C0029 0014 a OCOE OC030 eeoc C0031 0015 0022 a 8181 CC032 OC23 a ceoo C0033 C0034 0024 OC16 C030 0 FC40 CC035 00036 OC31 0 0040 oeoo 0032 C0037 OOCO OCOl 0002 CCC4 OC05 0 20 30 20 C030 064D6063 06898640 091SS9CO 1008 T~E SQUARE ROOT OF 64 *************************************************** ** THIS PROGRA~ CO~PUTES T~E SQUARE ROCT OF 64 ** * *ANC PRINTS THE RESLLT IN THE CONSOLE PRINTER.* ***************************************************** BEGIN LD LIBF CALL LIBF SLA 064 FLOAT FSQR IFIX * * IC BLILD EBCDIC INTEGER RESULT ANC EBCDIC BLANK IN WORD1. MASK WCRD1 CCNVERSION INPUT AREA CCNVERT ~ESSAGE FROM EBCDIC TC ROTATE/TILT CODE. EBPRT CALL CCNVERSION SUBROUTINE o CONTROL PARA~ETER WORDl INPuT AREA TYPE+l OUTPUT AREA 26 C~ARACTER COUNT TYPEO TYPE MESSAGE /2COO CONTROL PARAMETER TYPE I/O AREA TYPEO wAlT FOR TYPING COMPLETE * * BUSY INPUT TO THE SQUARE ROOT INTEGER TO FLOATING PT. FLOATING PT. SQRT. FLOATING PT. TO INTEGER 8 ~ASK OR STO LIBF DC DC DC DC LIBF DC DC LIBF DC ~cx EX IT TYPE DC BSS DC WORCl DC EBC fJASK DC 064 DC END BLSY BR TO WAIT FOR COMPLETION RETLRN TO ~CNITCR ceNTRaL I/O AREA WORD COUNT 14 RESERVE AS PRINT BUFFER 13 TWO CARRIAGE RETURNS /8181 CONVERSION INPUT AREA *-* • IS Tt-'E SQUARE Real OF 64 • IF040 EBCCIC INTEGER MASK 64 CCNSTANT FOR SQUARE RCOT BEGIN SMASMI06 SMASMI07 S~AS~108 SfJASMI09 SMASMllO SMASMlll SMASM1l2 S~ASM113 Sf.lASMl14 SMASMl15 SMASMl16 SMASM117 S~ASM1l8 SMASMl19 SMAS~120 S~ASM121 S~,ASM122 SMASM123 SMASM124 S"'ASM125 S~ASM126 SMASM121 SMASM128 S~ASM129 SMASM130 SMASM131 SMASM132 SMASM133 SMASM134 SMASM135 SMASM136 SMASM131 SMASM138 S~ASM139 SMASM140 SMASM141 S~ASM142 Monitor System Sample Programs H-7 Assembler Sample Program *SYt-'BOL TABLE. BEGIN \>IORDl 0000 0023 BUSY OOlC COO OVERFlCW SECTCRS SPECIFIED COO OVERFLCW SECTCRS REQUIRED C06 SY~BCLS DEFINED NC ERRCRlS) AND NO \>IARNING£S) 064 H-8 8 IS THE SQUARE ROOT OF 64 t-'ASK FLAGGED IN ABOVE /,1 XEC l R 41 7908 lHEX) hCS UNUSED BY CORE LOAt CALL TRANSFER VECTOR fSCR 0248 LI8F TRANSFER VECTOR FARC 069A X\Io'CS 067E Hell 062E PRTY 05DE eBPA 058E FACO 04CD FCIV 053C FLO 0488 FACDX 04E3 Fto'PYX 049E FSTO 046C FGETP 0452 NORM 042·8 TYPEO 0312 ESPRI 02AC IFIX 0280 FLOAT 0230 SYSTE~ SUBROUTINES ILS04 OCC4 . IlS02 00B3 01FE (HEX) IS THE EXECUTION ADDR output on the console printer 0031 0030 TYPE 0014 ASSEM8L~ SMASI~ 143 RPG Sample Program 3. RPG SAMPLE PROGRAM The RPG program as supplied, uses 1442 input and 1132 output. If your system does not have the required configuration, you must make the following changes to the program: card RGS009 If card input is from a 2501 Card Reader, change READ42 to READOI. card RGS010 If printed output is to a 1403 Printer, change PRINTER to PRINT03. If printer output is on the console printer, change PRINTER to CONSOLE. output on principal printer II JOB LOG DRIVE 0000 V2 M09 CART SPEC OEDO ACTUAL 32K CART AVAIL OEDO OED4 PHY DRIVE 0000 0001 CONFIG 32K II RPG V1-3 SEQ NO 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 1130 RPG RGSPL PG LIN SPECIFICATIONS COL 6 - 74 ERRORS H 01 01 02 02 02 02 02 02 02 02 02 03 03 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 F* 1130 RPG SAMPLE PROGRAM, F* THIS PROGRAM PRINTS ~N ACCOUNTS RECEIVABLE REGISTER WITH F* INVOICE TOTALS, CUsTOMER TOTALS PRINT AS A RESULT OF A CONTROL F* BREAK IN COLUMNS 39-43 OF THE INPUT CARD. CORRECT OUTPUT F* APPEARS IN ACCOMPANYING DOCUMENTATION. CARDS ARE SORTED ON F* COLUMNS 39-43 AND ARE IDENTIFIED BY AN ELEVEN PUNCH IN CARD F* COLUMN 1. F* FINPUT IPE F eo READ42 FOUTPUT o F 120 OF PRINTER I INPUT AA 01 1 ZI 8 29 NAME 1 30 3l0MONTH 1 32 3300AY I 34 360INVNO I 39 430CUSTNOL1 I 44 450STATE I 46 480ClTY I 74 802INVAMT C 01 INVAMT ADD TOTAL TOTAL 82 C 01 INVAMT ADD GRPTOT GRPTOT 82 OOUTPUT H 201 1P o OR OF o 53 A C C 0 U N T S R' o 17 E C E I V A 8 L ERE ' o 88 'R E GIS T E R' o H 1 1P o OR OF o 25 'CUSTOMER' o 80 'LOCATION INVOICE' o 109 'INVOICE DATE INVOICE' o H 1P 2 o OR OF o 42 'NUMBER CUSTOMER ' o 46 'NAME' o ClTY 19 'STATE NUMBER' o DAY 108 'MO AMOUNT' o o 2 01 o CUSTNOZ 22 o NAME 53 o 59 STATE Z o CITY Z 67 o 79 INVNO Z o MONTH Z 89 o DAY Z 97 o INVAMT 109 'S O. o T 2 L1 o GRPTOT B 109 's O. o 110 o T 2 LR o TOTAL 109 'S O. o 111 '**' RGSPL RGS001 RGS002 RGS003 RGS004 RGS005 RGS006 RGS007 RGS008 RGS009 RGSOIO RGSOll RGS012 RGS013 RGS014 RGS015 RGS016 010 020 010 020 030 040 050 060 070 oeo 090 010 020 010 020 030 040 050 060 070 080 090 100 110 120 130 140 150 160 010 020 030 040 050 060 070 08.0 090 100 110 120 130 140 150 '*' RG~017 RGS018 RGS019 RGS020 RGS021 RGS022 RGS023 RGS024 RGS025 RGS026 RGS027 RGS028 RGS029 RGS030 RGS031 RGS032 RGS033 RGS034 RGS035 RGS036 RGS037 RGS038 RGS039 RGS040 RGS041 RGS042 RGS043 RGS044 RGS045 RGS046 RGS047 RGS048 RGS049 RGS050 RGS051 RGS052 Monitor System Sample Programs H-9 ---RPG Sample Program ---- INOICATORS IND DISP INO DISP IND D'! MR 0150 0156 0!5C 0162 0168 00 L2 L8 H4 01 0151 0151 015D 0163 0169 OF 0152 0158 015E 0164 L1 L7 H3 H9 L3 L9 H5 SP INO DISP IND DISP INO 01 SI' OV L4 LR H6 0153 0159 015F 0165 1P L5 HI H7 0154 Ol5A 0160 0166 LO L6 H2 He 015!) 0161 016'7 FIELD DISP L I'NVNO INVAMT 0187 005 N 0 019A 00')' 2 0151~ FIELD NAMES FIELD DISP NAME CUSTNO TOTAL 016A 022 A 0180 005 N 0 01A2 008 N 2 L T D FIELD 01 SF' MONTH STATE GRPTOT 0181 002 N 0 0193 002 N 0 01Ae 008 N 2 L T 0 FIELD DISP L T D DAY CITY 0184 002 N 0 0196 003 N 0 'r 0 .. LITERALS LITERAL ACe 0 U N T S R REG 1ST E R LOCATION INVOICE NUMBER CUSTOMER STATE CITY NUMBER .... LENGTH 24 15 22 24 24 11 2 TYPE A A A A A E A DISP 0184 01E6 OlFF 022E 024C 0278 028,9 LITERAL E C E I V A 8 L E A E CUSTOMER INVOICE DATE INVOICE NAME DAY AMOUNT MO * LENGTH 24 8 23 4 21 1 TYPE A A A A A A KEY ADDRESSES OF OBJECT PROGRAM NAME OF ROUTINE H + D LINES DETAIL CALCS CHAIN ROUT 1 LOW FIELD CLOSE FILES FILE' SEQ 2 HEX DISP NAME OF ROUTINE HEX OISF' 040E 046E 0302 042E TOTAL LINES TOTAL CALCS CONTROL FLO EXCPT LINES FILE SEQ 1 04EC 0470 03F5 04FA 02EC 0678 0377 END OF COMPILATION II XEQ L ; R R 41 6016 (HEX) WOS UNUSED BY CORE LOAD CALL TRANSFER VECTOR RGERR OC24 HLEBC OAIA LIBF TRANSFER VECTOR RGSI5 11E4 RGBlK llAA RGEDT 105A RGMVZ OFA6 RGAOO 0000 RGSII 0080 RGMV5 OC72 RGMV3 0050 RGCMP OCFE RGMVI OC6A PRNT! OA9A ZIPCO D97A CARDD 087C SYSTEM SUBROUTINES IlSX4 1249 ILSX2 1260 IlSXl 1286 IlSXO 12A3 020F (HEX) IS THE EXECUTION ADDR H-1O DISP OlCD 01F6 0216 0247 026' 0287 RPG Sample Program output on specified output device A( ( 0 UNT S (US TOMER NUMBER 10112 (USTOMER NAME AMALGAMATEO (ORP R E eEl V A B L E REG I S T E R LOCATION (ITY sTATE 53 61 INVOICE NUMBER 11603 INVOICE DATE MO DAY 11 INVOICE AMOUNT 10 S S 11315 8ROWN WHOLESALE 30 231 12324 12 28 S 11315 BROWN WHOLESALE '0 231 99588 12 14 S S 11891 FARM IMPLEMENTS 41 11 10901 10 18 S S 18530 BLACK OIL 16 61 11509 11 18530 ALACK OIL 16 61 12292 12 389.25 389.25* 802.08 261.17 1.063.25* 27.63 27.63* 8 S 592.95 S 950.97 S 1,543.92* 2~ 20116 LEATHER SELT CO 36 471 11511 11 8 S 20116 LEATHER BELT CO 36 471 12263 12 17 S S 335.63 121,75 457,38* 29011 GENERAL MFG (0 6 63 11615 11 14 S 440,12 29011 GENERAL MFG CO 6 6' 11676 11 23 S 722,22 S 1,162,34* 2905. A.. B-C DIST (0 25 39 9689 9 11 S 645,40 2905. A-B-C DIST CO 25 39 11605 11 11 S 211,69 29054 A-B-C OIST CO 25 39 12234 12 14 S 559,33 S 1,476,42* S 6.120,19** Monitor System Sample Programs 1-1-11 FORTRAN Sample Program using unformatted I/O 4. USING FORTRAN UNFORMATTED 1/0 This program is referred to under "Initializing $$$$$ Data Files for Use with FORTRAN Unformatted I/O" in Chapter 6. II JCI3 CEce lce CRIVE CART SPEC OECO CCOO V2 foICc] ACTGAl 32K CART AVAIL OECC PHY DRIVE cooe CCNFle 32K II [CP *STCRECATA hS FX SSSlS CalC CART IC CECO ce ACCR IF10 DB CNT II CCAO FCR *ICCS(LCnSK) *llST All. *I\A,.,E Lf\FCX CI~EI\SIC~ A(200),B(24),C(3CO.),E(12),FI3CO) CATA A/200*4.01,B/24*5.C/,C/300*6.CI WRITE (lO)A hRlTE (10)8 \o.RITE IIO)C H.C FILE 10 eACKSPACE lC BACKSPACE Ie REAC(lCIF I{Ewll\C 10 REAC(lC) REfIC(10)E PAL.SE <;<;<;9 CAl.l EXIT END VARIAelE AllCCATI(I\S A(I< )=018E-CCCO BIR )=OIBE-C190 CIR 1=0416-01CU EIR t=042E-0418 FEATuRES SUPPCRTEC ICCS CALLEC suePRC(RAfoiS ~REO L\o.RT LC(fJP BCKSP REWt-;C ECF PAUSE CCf\STAI\TS 10=0688 <;<;Q9=0689 -26215=068A II\TE6E~ CCRE RECLIREfJEI\TS FeR UNFCX CCfJfoICI\ C VARIAPLES 1672 PRCG~AM EI\C CF CCfJPILATICI\ II CUP *STCR[ \o.S LA ul\FCX CART IC OECO ce ACCR 2E50 II XEC; L!MCX 11-12 oe CNT CC41 52 UFIO UICAF FIR 1=0686-0430 SYSUP Reeling Sample Program for one drive systems 5. PROCESSING ON ONE DISK DRIVE A FILE THAT EXTENDS OVER TWO CARTRIDGES This program is referred to under "Reeling" in the section "SYSUP" in Chapter 6. II JOB OEDO LOG DRIVE 0000 CART SPEC OEDO ACTUAL 32K V2 M09 CART AVAIL OEDO PHY DRIVE 0000 CONFIG 32k II FOR *NAME LINK2 *IOCS(1132 PRINTER) *tOCS(DtSK) *ONE WORD INTEGERS *LIST SOURCE PROGRAM DIMENSION J(320) DEFINE FILE 2(200.320.U.K) K • 1 L • 0 4 5 6 10 DO 5 t • 1. 199 L • L + 1 DO 4 N • 1. 320 J(N) • L WRITE (2'K) J L • 999 DO 6 N • 1. 320 J(N) • L WR I TE (2' K) J WRITE (3.10) FORMAT(/' LINK No.2 EXECUTED.'/) CALL EXIT END SUPPORTED ONE WORD INTEGERS IOCS ~EATURES CORE REQUIREMENTS FOR LINK2 COMMON 0 VARIABLES 334 PROGRAM 142 END OF COMPILATION II DU!) *DUMP WS CO LINK2 CART 10 OEDO DB AOOR 4530 DB CNT OOOB II FOR *NAME LINKl *IOCS(DISK.1132 PRINTER) *ONE WORD INTEGERS *LIST SOURCE PROGRAM DIMENSION J(320) DIMENSION L(2) DEFINE FILE 1(210.320.U.K) K • 1 L(2) • 3196 L(U • 0 M • 0 DO 5 I • 1. 209 M M+ 1 DO 4 N • 1. 320 4 J(N) • M 5 WRITE (lIK) J M • 999 00 6 N • 1. 320 6 J(N) • M III Monitor System Sample Programs H-J 3 ------------------SYSUP Reeling Sample Program for one drive systems WRITE (1 'K) J WRITE (3.40) 40 FORMAT (40HOLINK NO.1 EXECUTED. CHANGE CARTRIDGES.llll PAUSE 1111 CALL SYSUP (L(Z») CALL LINK (LINK2) END FEATURES SUPPORTED ONE WORD INTEGERS 10<;5 CORE REQUIREMENTS FOR LINK1 COMMON 0 VARIABLES 136 PROGRAM 180 END OF COMPILATION II DUP *STORECI WS UA LINK1 0001 *FILES(l.OATA.OEDO) FILES ALLOCATION 1 0206 0002 OEOO DATA STORAGE ALLOCATION R 41 686C (HEX) WDS UNUSED BY CORE LOAD CALL TRANSFER VECTOR FSYSU 13F1 FSLEN 1205 SYSUP OCA2 LIBF TRANSFER VECTOR NORM 1418 FLOAT IlFA IFIX llCE PAUSE OC8e SCOMP 0799 SWRT 06B8 SDCOM 0408 SDA I 043A SOWRT 0461 SUBSC OC6E FSTO OC3C FLO OC58 PRNTZ OB5E SFI0 0705 SOFIO 04CO SYSTEM SUBROUTINES ILS04 00C4 ILS02 00B3 ILSOl 144. 0370 (HEX) IS THE EXECUT10N ADOR CART 10 OEOO DB ADDR 4530 De CMT OOFO II PAUS II JOB LOG DRIVE 0000 V2 MO' II CHANGE TO CARTRIDGE OED4 OED4 CART SPEC OEO. ACTUAL 321( CART AVAIL OED4 PHY DRIVE 0000 CONFIG 12K DUP *STORE'I CD FX LINK2 0001 *FILES(2.DATA2.0E04l FILES ALLOCATION 2 01F7 00C8 OE04 DATA2 STORAGE ALLOCATION R.1 12D8 (HEX) WDS UNUSED BV CORE LOAD H-14 SYSUP Reeling Sample Program for one drive systems LIBF TRANSFER VECTOR NORM OC80 FLOAT OCA6 tFIX OC7A PAUSE OC64 SCOMP 0771 SWRT 0690 SDCOM 0480 SDAI 0412 SOWRT 04'9 SUBSC QC.6 FSTO OC14 FLD OC50 PANTZ OB36 SFIO 07AD SDFIO 0498 SYSTEM SUBROUTINES ILS04 00C4 ILS02 00B3 ILSOl OeDC 0362 (HEX) IS THE EXECUTION ADDR CART 10 OED4 08 ADOR 3230 08 CNT II PAUS II JOB CHANGE TO CARTRIDGE OEDO OEDO LOG DRIVE CART S~EC OEOO 0000 V2 MO' OOAO ACTUAL 32K CART AVAIL OEDO PHY DRIVE 0000 CONFIG 32K II XEQ LINin LINK NO. 1 EXECUTED. CHANGE CARTRIDGES. LOG DRIVE 0000 CART SPEC OED. CART AVAIL OED4 PHY DRIVE 0000 LINK NO. 2 EXECUTED. MO'litor System Sample Programs H-15 I.' ' \ SYSUP Reeling Sample Program for multidrive systems 6. PROCESSING ON TWO DISK DRIVES A FILE THAT I:XTENDS OVER TWO CARTRIDGES This program is referred to under "Reeling" in the section "SYSUP" in Chapter 6. II JOB OEDO OED4 LOG DRIVE 0000 0001 V2 M09 CART SPEC OEDO OED4 ACTUAL 32~ CART AVAIL OEDO OED. PHY DRIVE 0000 0001 CONFIG 32K FOR .NAME MDEXl • IOCS ( DISK) .ONE WORD INTEGERS .LIST SOURCE PROGRAM DIMENSION Je:320) DEFINE FILE le210.:320.U.K) DEFINE FILE 2e200.320.U.KK) II M • 111 K • 1 KK • 1 DO 2 N • 1. 320 2 JeN) • M DO :3 I • I. 209 3 WRITE e l'K) J M • 999 DO 5 N • I. 320 J(N) • M WRITE (1'K) J M • 222 DO 7 N • 1. no 7 JeNJ • M DO 8 I • 1. 199 8 WR ITE (2' KK) J 5 M • 999 9 DO • N • 1.:320 J(N) • M WR ITE e 2' KK) J CALL EXIT END FEATURES SUPPORTED ONE WORD INTEGERS IOCS CORE REQUIREMENTS FOR MDEX1 COMMON VARIABLES ° 340 PROGRAM END OF COMPILATION II DUP .STORE WS UA ~DEXl CART 10 OEDO DB AD DR 4515 II XEQ MDEX1 L DB CNT 2 *FILES(I,DATA.OEDC) .FILES(2.DATA2.0ED4) FILES ALLOCATION 1 0206 0002 OEDO DATA 2 01F7 00C8 OED4 DATA2 STORAGE ALLOCATION R 41 78FA (HEX) WDS UNUSED BY CORE LOAD LIBF TRANSFER VECTOR PAUSE 0608 SOCOM 04DA SOAl 043C SOWRT 0463 SUBSC 06P.A SOFI0 04C2 SYSTEM SUBROUTINES lL.S04 00e4 ILS02 00B3 035A (HEX) IS THE EXECUTION ADDR H-16 0000 178 ISAM Sample Program calculating file parameters 7. CALCULATING ISAM FILE PARAMETERS This program is referred to under "Indexed Sequential Access Method" in the section "Calculating Sequentially Organized and ISAM File Sizes" in Chapter 6. This program does no error checking. For this program, you are requested to enter the first 4 values. The input fields are 5 characters long; enter right-justified decimal numbers (leading zeros are required). Press EOF on the console keyboard after each entry. The requests for your entries are as follows: ISAM FILE LOAD CALCULATIONS INDEX RECORD NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER ENTRY LENGTH IN WORDS = LENGTH IN WORDS = OF RECORDS TO BE LOADED = OF OVERFLOW SECTORS = OF INDEXES PER SECTOR = OF RECORDS PER SECTOR = OF PRIME DATA CYLINDERS • OF PRIME DATA SECTORS • OF INDEX SECTORS = TOTAL NUMBER OF SECTORS = After you enter the number of overflow sectors, the program calculates the file size. The following is a sample of the program output: ISAM FILE LOAD CALCULATIONS INDEX RECORD NUMBER NuMBER NUMBER NUMBER NUMBER NUMBER NUMBER ENTRY LENGTH IN WORDS = 00010 LENGTH IN WORDS = 00100 OF RECORDS TO BE LOADED = 00250 OF OVERFLOW SECTORS = 00009 OF INDEXES PER SECTOR = 00032 OF RECORDS PER SECTOR = 00003 OF PRIME DATA CYLINDERS = 00011 OF PRIME DATA SECTORS = 00084 OF INDEX SECTORS =00001 • TOTAL NUMBER OF SECTORS =00095 • The program that computes file size is listed as follows: Monitor System Sample Programs H-17 ISAM Sample Program calculating file paratneters II JCP LCG CRIVE ecce CART SPFC CEel CART AVAIL OECI P .... V CRIVE COOC II AS t-' *XREF CCCC 2C 23Al717C 2CCO CC02 1 CClB CCC3 2C 23A17170 OCC4 0 CCCU CCC'5 C 7CFC COCe CC 65COO(04 oeC8 01 C5CCOO16 CCOA 0 CC02 occe 20 23A1717C ocec c 2CCC eccc c: ceco CCCE 2C 23A1717C oeeF c CCCO COLO (I 1CFC CCll CC 6600CC05 C013 01 6ECCCC8C OC15 C 7C58 C016 () lCCO OC17 1. CC61 COle 1 CC4F CCle; 1. CC41 001A 1 CC30 C018 Cl OC14 C01C eC28 C03C C CC10 0031 OC20 CC41 C CCOC C042 CCIA CC4F C CCll CO'50 CC22 OCtl c C(OF 00t2 OOlE OC71 20 23Al7170 0072 n lCCO C073 1 CC80 0074 20 23Al7170 OC75 n CCCO 0076 0 7CFO OC71 C CCOE C078 C ceC7 OC7<; 2C C40C2255 OC7/! 1 CC80 007e 01 C5COOO8C 007C C 71FF CC1E C 7C89 CC7F 10 1C11 0080 C cce5 0081 CCC5 008~ C eCAC 00P7 CC05 COBC 0 lCCO OCRC C ceco COfE C cceo 008F 0 OCCO OC<;O c ceco OC91 C CC22 oce;2 C 1890 0093 0 AF.FC oer.l c H-18 eCCCI ecoc? COO03 CCCC4 eeoo') CCOOe eCOC7 CC008 CC009 CC010 CCOLI CC012 CC013 CC014 CCOl,) CC016 CC017 CC018 CCG19 (C02C CC02l eC022 CC023 CC024 CC025 (C02t CC027 CC028 C0029 CC03C CC031 CC032 CC033 CC034 CC035 C0036 CC037 CC038 C0039 CC040 (C041 eC042 CC043 CC044 C(045 ((046 CC041 CC048 CC049 CC050 CC051 (0052 (CO'53 eC054 C0055 (0056 'CC057 CC058 CC059 START LieF ec ec ~AIT4 LIBF cc e LCX LC STU LIBF CC ,...ESS CC WAITl LIBF CC 11'\ 1:3 Lex STX R BTABl NOP CC DC CC DC t- -~ y.;.:. ,-;.. :.'.::'. :':':':':-::':'.: : :'. ....:. .'.':.:....... .:. ", ii '7.. C:. ;i; :.:~.: '" a:: ca 5,rb 9,$ 1 O.~ 51;!) 9$ 1 D·~ 5 .~• • •~ 951 D~. 5iD 95 1 0 9 51;it)l~ 3333 3 ~ 33 ; { { ? ) ••.•••• [ ' ( i i i .'.. . •.• • 6 .~g A@2 E :~ 6 '"z iii ··i o o ?f A~ 2 E[~ 6 ?:§ A? 2 E .~ 6~'E A~ 2 E AGa~~ I~ 4 4 4 4 4 4 4 4 CD T 7 3 F B 7 "3 f B 7 3 B 7 3 F B '7 3 F 7 3 F B 7 3 FB 7 '3 FBI "3 F 7 IF B7 "3 FtB 7 3 f B1 "3 Hn 3 F B 1 "3 F a 7 3 F B1 3 F 8 7 3 Fit 5 5 5 5 5 5 5 5 ~ , r:.: ;0-r"'. F ;... ~ ow • ::E B40C840C~4~C840C84QC840C~4?Ca40Cm40~8~OC84Q~840C840C8~OC840C840C840C84PC66666666 ~ 1 511951 0951 D9 5 1 0 9 51:~ 951 Oi~ 514'1951 0115 1I)9!11 D! 5~:. 0951 0951 16 2 E A~ 2 EIA 6J2 EI~ 62 E ~62 EIA 6 2 EI! 62 E A62 E:I 6 z~ "'- A!~ 2 EI' Gtg.E I) 9 51 D9 51 D 9 ~ 1 0 9 51 D9 5 1 077777777 A~' 2 E A GZE A~12 E ~G Z E A ~2 E A 6~E AlE 2 E 8 8888888 71 3 F B ~ 3 F B 7"3 flBI1 3 F B 7 3.f.lB 1 "3 F B7 '3 F B7 3 F~ 1 3 f Btl "3 F 8731= B13 F B 73 F B 7:1 F ah 3 f B 7 SF al7 3 FIB" 3 F 99999999 1 zi3 4 51, 1 eltll 1I1~ I~~ 1516 f7 1811iU211n 23 241~'2t 2t~ 29P.l 31 32!t!1~~~ 37~ 3940 i4f42~~ 45 41484S5051 ~ 3 ~ 55 56 ~'158 ell! 61 h3 64~1;6~1J't69(li CDC format ~ 11 J2 13147516111119 10 II'" J14;'OI "" Card core image (CDC) format is the format in which core image programs are punched into cards. CDC format is identical to card data format (CDD), that is, one binary word occupies 1-1/3 columns and 54 binary words can be punched per card. PAPER TAPE FORMATS The paper tape formats-paper tape system format (PTS), paper tape data format (PTD), and paper tape core image format (pTC)-are analogous to the corresponding card formats (see preceding). Two frames in paper tape (data or core image) format contain one binary word and are equivalent to 1-1/3 columns in card (data or core image) format. A data record in paper tape (data or core image) format differs from a data record in card (data or core image) format in that the record is preceded by any number (normally zero) of delete characters (/7F) and a frame containing the word count, one-half the number of frames in this data record. A data record in paper tape (data or core image) format contains a maximum of 108 frames (54 binary words) plus the 2 special frames. Information that would appear in columns 73 through 80 in card format must not appear in paper tape format. Formats 1-11 Paper Tape Format The following is an example of paper tape data (PTD) format: ·· ••••• •• • •••••• •••• • ••••• •• • ••••• • · , I Record N + 2 J •• Record N + 1 ·••• •• • ••••••••• • ••• •• •••••• •• •••• f •• e• • •••• ·· · ~ Datawords I: J Typecode (lOAI. count of data words (OF) Checksum (/ES9CI Loading address (lOSCC) Record word count (l1S) Delete character (may be omitted) Record N -1 1-12 Print Formats (PRO) OSF program COl program PRINT FORMATS PRD format Print data format (PRD) is the format in which DUP prints a DSF program, core image program, or data file on a print device (1403,1132, or console printer). The following are printouts of dumps of a DSF program and a DCI program: DSF Program AOCR ***0 PR ·*·1 .**2 ***3 ·**4 *·*5 ··*6 ***7 ***8 ***9 ***A ***B ***C *·*0 *.*E .**F OOCC OC1C 002C OC30 OC4C CC5e 0060 CC70 ooeo OC9C OCAO ocec ccco OCCC OCEC OCFC 0100 CllC 012C C130 CCCO 717C 2COO 0248 3021 9C60 5C60 6021 OCOF 9821 0293 CCOO CCF1 80El CCCO 02E7 C5CO ceco 5CI0 5C10 0000 2COC CCOO OC14 lC3C A421 3021 COCC 8174 C221 C5CC CCCO 801C CCOC CCCO C5CC 02F7 02FE 21ge 2120 0100 0233 23Al CCOO 5CIC 5C34 504 5010 B070 23A 1 C2A4 ceoo' 9012 8C04 CCCO C2CE C002 030F CCCO 7430 0372 23A 1 717C 8121 e05C 7414 7414 216C eooc 117C 0000 717C CCOC 2121 CCOO 9C24 9C24 341C 1834 1000 708., 189C A8lA 65CO CCOO 5103 CC03 CCCO 7CFO 2121 3C9C 2120 2120 5C6C 6021 2C02 7Cli A8FC 0011 OC06 leCO 2C03 nco 0349 6098 2198 CCOC 70FC l:60C 2121 2CSC CCOC 7421 3098 5010 02ge CC05 COOO 801C 7013 030C 029E CCOC 035C 21C2 341C 0015 CC20 OC05 2121 7498 7421 9C50 219C 2150 23Al 029E 0021 1803 CCOI 0310 2925 8CCO 0011 2121 9C50 OCOO 65CO 6EOC 2120 8121 9C50 eccc 5C21 B434 1170 OC04 COF9 CCOO OC02 0331 ,006 2 3A 1 819C 2121 6C98 2205 0004 CCCC 983C 0010 6030 6030 1834 6010 CCOO 0000 801B 0015 0007 0346 1100 717C COOO 2121 21C2 4503 C5CO 0298 7021 8181 9821 9821 COOO 5C50 70FO 80AO 0010 8016 COOO 035A 029F 0000 509C 0011 2121 0218 022E 705B 0000 2074 C221 C221 215C 9021 COOE 02A4 C01B 900A 0140 036E 0000 70FO 3C5C CCOO 2121 0218 0002 1000 1020 3034 COOO 0011 S03C 0020 0007 0096 1890 1890 0000 0008 0005 7lFF 2174 8174 2121 0098 23Al 0279 5C34 0000 8160 8174 3034 9834 040C 0000 A81A A813 1000 C500 0859 70E6 1:l070 B070 0000 8080 7170 0267 215C 9421 341C B070 3021 lC9C 0000 1000 OOlF OOOE 0000 0205 0080 6038 1834 1834 0013 BAI 2000 0259 503C 3474 0000 1834 C221 5060 2255 0000 0000 800E 0000 0400 3007 1000 6021 6021 8174 014C C15e 0160 0170 018C Cl.,C 01AO CART 1C BC7C 5e60 7C34 OCCO C221 2154 5C60 OECI 0323 005A COOC 1834 6021 <;821 C221 2121 2121 ceca 2130 3C9C 3C21 lCA4 5C20 eo7C 1834 6021 5010 2160 2121 ce13 2121 CCCO 2121 COOO 9C50 2198 341C 346C 5C34 7414 3021 ce ACDR 2EAC CB CNT CC15 501C 2121 7430 341C 8174 6021 2154 0014 0000 5C60 B070 C221 6020 8114 3460 3098 1834 2121 7034 807C 9821 ooce 6021 2121 2130 1834 C221 2154 5010 2121 3C9C 6021 2121 3460 COOO 0312 0000 5010 2121 2198 2120 0000 3C21 2154 2121 341C 7430 8160 9834 0000 0013 9C50 3494 341C lC9C 6020 8174 602l 3498 0000 UA *Ct.;~P SA~PL 7lFF C022 189C 0009 0000 0225 23A 1 032C 341C 3494 1170 C334 9C5C CCOO ~iSk block on sector. F~r Data Files. this position will always be 0 (Data Files must start on sector boundary). Sector Core Image Program (note that the actual starting address is /01 FA) ACCR ***0 FX PR ·**1 C I SA~ ***2 ***3 ***4 ***5 *,,*(; ***7 ***8 ***9 ***A ***8 ***c *>1<*0 ***E ***F CIFC 02CC C21e 0220 C230 C240 C25C 0260 C27C C2ec 029C 02AO e280 C2CO C2CC C2EO CIFA OC91 C5CO 0267 3C21 504 9C24 3C98 B434 DC07 CCOO CC1B A813 CCCO CSCO ecoc CC91 022E 025<1 lC 3C 7414 2120 219C 6CIC 4374 OOOC 189C CODE OCCO 02CE CCIA 0376 C002 024fl '5CIC 9C24 7421 5021 5C50 0298 0000 A81A 8COE CCOO 4371 C508 0091 4377 C014 B05C 212C 905C 1834 9021 D5ec COOC C.OlF ijOEl OCOC 029E 7F7E COOO 2COO e121 3C9C 7421 (;030 215C 9834 02A4 1000 COFI 8004 CCOO 436E 0091 8COO CCCO 212l 2C50 9C50 9P.21 5C3C le9C 7lFF OCOO 8010 OC09 lCOO llCO 0091 ecoc 4371 2121 7498 6C3C C221 3034 5060 7C8e; OCOO 9012 650C C::lOC 029F OCB3 OCOO CCOO 2121 8121 ge21 0011 3021 9821 7C 11 0000 1890 OCC6 0310 OCOO 0091 4377 70FO 2121 COIC e221 8174 C221 C221 CC05 0000 A81A 7013 0331 00C5 00C4 200C 6600 212C 8181 OOOC BO-fC OOOF 4371 0658 C022 0017 COOl 0346 448C 0218 0091 0233 0005 983C 2074 8160 1834 8174 lOCO 0658 1890 8010 0002 035A 7FFF 0000 0091 4317 6EOO 7021 3034 341C 6021 8070 0298 0000 A8FC 1803 0007 036E C500 FFFF 0091 OOCO 0298 1020 9421 5060 5010 1834 4317 0000 0027 0015 0140 C500 02F7 0000 0091 70FO 7058 5C34 3474 3021 2160 6021 0000 0000 COF9 8016 0000 0205 0002 0011:: 0091 6500 1000 215C 9C60 5C 34 341C 5010 70FO 80AO 801B 900A 1000 0400 4377 0000 0091 0004 C2FO 03CC OHO 0320 C:BC C340 C350 C360 C37C C380 0390 C3AC C3AC C3CC C3CC C3EC CCCO 5C9C 8174 CC13 C221 lCA4 341C le34 2121 CC34 CI00 CI01 71FF 4C28 C4eO CC15 4377 3C5C e070 8174 2121 5C20 5060 6021 C400 481e l80C 80SC eCCC C3AF 03F4 4C2C COOC 2174 1834 GC70 2121 7430 3098 5CI0 6914 7101 <106C D051 C028 4COO DOIC 0455 70FC B07C 6021 1834 2121 3lt6C 2154 212C 6580 C832 4C30 D057 612e 047C C81E CCC4 71FF 1834 '5010 6021 C014 9821 3460 7430 7FF5 7101 03AB C580 70CF COFC 70AC 4804 7CE6 6021 2120 5010 8174 C221 2198 3494 7C03 6906 8C45 CCOI CCCO 7401 08E4 7CIA 6C3e 5C1C 743C 2154 1:l07C 2121 341C 34CJ8 CCOC 650C COil 4coe 0235 0032 C021 740C 1CCO 2198 3494 6020 1834 2121 9C50 2154 4CCO OCOO 082C 03AB 047 1000 lCOl C3F7 02FE 341C 2198 7C34 6021 2171 6021 3460 0305 6600 lC05 7COO 2COO 0827 4C28 7CC5 030F 9C5C HIC 2130 501C 0013 C221 2198 6AOF 0000 4C28 7012 OFOO 70Be 0423 l81C 0320 6098 9C50 3C9C 2154 8174 2121 341C 280F 2000 03AO 701F 2001 1001 4802 OOCA 0334 2lC2 6098 3C21 602C B070 2121 9C'50 D83A 4COO 1810 COOE OFO 1 C028 7001 74FF 0349 2121 21C2 9834 7034 1834 2121 6021 CI00 0000 CO 50 7003 C03A DOE8 7011 0032 0350 2121 2121 lC9C 2130 6021 0013 C221 180C C027 0058 4C02 003E 7401 COIC 1000 0011 2121 2121 5060 3C9C 5010 8174 2121 4C20 4C20 DOSE 0397 08F9 0032 4C20 4C80 819C 0011 2121 9821 3C21 2160 B070 2121 0380 0380 0059 C008 1006 1000 0462 0376 *[l~P 0279 ')O)C A421 7414 ')060 2150 CODE 0000 0010 1890 0000 02£7 2000 Fonnats 1-13 Print Formats (PRO) DCI program AeCR *·*0 **>1<1 ***2 ***3 ***4 ***5 ***6 *.~* 7 ***8 ***9 •• *A * •• B ···C *·*0 ••• E .·'~F C3FC C400 C41C C420 C430 C440 C450 C460 C470 C480 C49C C4AO C4eo C4CO C4eo 04EC 7CE6 74H C48C 4400 F5CO C4HO C3F4 Otl8F C3FO 09CC 70ES CO DC OHCC ecoc OAOO 4Cl8 1CC5 03F4 7CF8 DCAE CCA7 CC90 BC03 436B OC3E CC30 4C18 OC18 CCO'> OC40 CCCC C40E 4C28 1COC C'SOC COBS 4C2C 4C2C 808S 436e lelC 9C35 C4BC 70F5 CCOA (10C ceoo CCOO DOFO 089F 0.!t3F DCB7 C027 COA5 C095 C400 6936 C 10 1 74FF 4C18 4C20 OCAO 7101 r,OOC 7401 1005 4C3C 7401 70ce; DOA3 DOBC OOOC 6580 4C18 0404 04BC 04BA 400C 6921 0000 03F4 4C28 0443 03F4 DOAB C015 C004 80F1 7FFZ 04A7 101C 2001 loaF 8000 6105 COOO C48C 041 E 4C2C 74FF COBO 70B7 70A 7 4C80 E03F 0032 7001 0012 COOF C03A 0000 03F4 0805 044A 03F7 90AA 1810 0003 (J471 282F 4C20 4COl 2000 7101 0000 4C28 0000 7005 7000 614B 08B2 4C08 0098 1100 C007 Dtl'>O 04BA 04CE C820 70CA OB05 050( 0001 COEF C400 C480 7005 0453 009E 4110 40F2 CI00 C101 CIFe 6500 FOOB 7401 C02F 0002 DOIE9 031ti8 031F4 COlE 7411=F 009A 8100 CCOS 7101 1240 iJ4BC eeOO 04BA 6<;26 CCCC 03F7 C3F4 aC8C CCCC 03F4 7401 7cee 1CCO 4CEF 6931 9038 9C27 CCOO CIFC t58C 04FO 050C C5lC C52C 0530 C540 055C C')6C 057C 0580 C59C C5AC 05BO 05(0 C5DC CSEC 0503 CCIA DOl5 FFF6 1084 0005 6580 C061 1018 14FF 1'401 9010 9COO CCCO 1808 lCOO 4801 650C 0525 ecoc C024 CCOC 7C07 7400 7coe; ecoc 1010 1010 E80C COFF OOCO C6E2 1 E;08 4(00 1087 1083 1806 CC20 2121 2121 8020 nco OCOI 6950 0023 1081 7006 7CI0 E846 OCOO 4C18 1000 1086 4421 30FO 21C4 802A C818 180A 6580 CI01 0076 0000 740C 740C 1010 05Al 001Q 180C 20EO 2121 2lAO 0006 4COO 1999 7FEC DOOB 1010 0000 0'>50 0558 7400 620F 1083 CODA 24E4 OE04 21A4 9010 cOOO 2000 6A58 CI02 7400 0000 7001 7028 OSSA 1240 4C 18 1800 2121 2121 2121 4CI0 1810 4000 10AO 0040 0559 0000 700A 0400 7003 72F9 05B6 70BF 3CFC 34F4 21BC 0513 9018 7FFF 002F CI03 7045 0000 0051 0000 7400 1000 9016 0000 2121 4109 2121 C026 4808 80AC ClOO 001E L087 E062 74FF 7401 0550 6A1F DOOF 0000 2121 FEE6 2121 05FO 06CC 0610 0620 0630 064C 0650 0660 C670 0680 0690 06AO 06BO 06CC 0600 06EO 2198 2190 2'158 2150 218C 218l: 2140 2121 2121 0110 842C 2800 8400 eooo 097F 006E 980[; le2l: 217F 2121 2121 2121 2121 2121 2121 0090 8120 4010 8800 0282 217F FES7 6020 1825 CICO 21BO 2184 2110 2121 2121 0000 8820 4420 4020 9COO 0000 027F 4062 641F 3C64 0000 2121 2160 2105 2121 2121 0000 8220 422C 4040 ODIC 0000 OE7F 0623 545E E008 4eoo 2106 2164 2106 2121 2121 7FE9 8060 4120 4080 0020 1FE6 e67F F62F 5050 E407 0698 2121 2121 2121 2121 2121 0000 4820 3000 4100 0040 211F 421F Be4e 741C 0446 0000 21B4 211C 2174 2121 2121 0000 40AO 2420 4200 0080 217F OZ7F 8016 7058 0045 4eoo 2103 2121 2181 2121 2121 0000 4060 0220 4400 0100 211F F27F 041F 5ClA F404 0648 218E 21Z1 21F6 2121 2121 8110 2220 OOAO 4800 0200 417F 067F e24A 5819 F043 0000 212·1 2121 2121 ZU: 1 2121 8090 2120 2010 5000 0400 217F SE1F A054 7C58 OC02 4COO 0488 0000 4eoo 0372 0000 oeoo 0000 0000 0000 0000 ecco n21 2121 8050 20AO 2020 8010 0800 217F 467F A413 202e 0801 CHC 0528 0700 OCOO CART 10 OEDI 7eu 1 1e08 70 F 1 4Cl8 70A6 03F7 043l: COF4 08A3 C480 71FF COB6 70BE C458 6B04 03C4 C040 tA37 9024 9019 OCCO C83[; 7f-EF DOBl: C019 4Cle 1888 4COC COO 1 041:1A 04C4 COOC 70E4 2824 (C34 1800 CCOA DC32 C027 COlI 05SE 740C C480 05SC 0546 1082 eooc FFOO 2121 2121 A027 C500 70CC 0833 1084 7106 C500 0550 057C 7C06 7CBl E820 6680 COOl 0282 CAC2 C031 CCOC 801C C82E C026 6944 COOO 101C E052 6600 1082 70A8 05BE 0000 2121 2121 A02B 7lFF COEe 18CO 1010 10AO 7400 COf8 E84A CCCO 1005 18DO COOO 0000 14C4 1090 7CEB 7401 OCOO lC84 C400 05CO C058 7C06 65CO 0020 001F 1200 OCCO 2121 2121 2121 2121 2121 2111 .2121 2121 4210 2060 2040 8020 ICOO 057F 867F 9452 2468 FC40 2121 2146 2142 2102 2121 2121 4110 0820 2080 8040 2000 817F 827F 9051 142A C449 2121 2121 2121 2121 2121 2121 409C 0420 2100 808C 4000 117F C07F 8410 1029 8461 219C 2194 215e 2154 2121 2121 2110 0120 2200 8100 8000 031F E60e B04F 3468 4415 2121 2121 2121 2121 2121 2121 2090 0060 2400 8200 80AO 217F E27F 9COE 3067 OA60 C09A 1008 CCB4 6S0C 'IC20 'IC 18 'ICOO FC06 leec OCOO 4COO 04EO 0000 4(00 05C8 DB ACDR lFOO CB CNT C050 2lF2 1:: 10 Olll E 4C02 oeoo DeAF OllSC 0'i5C 0001 611DC OC46 8C36 9020 ACOF OC14 OCIB 8020 OCOO 7CE6 lC02 1084 lE:DO IC08 0~,5C 6A.~5 00131 000) 620C 4Cl8 0000 4C;~0 00J7 04130 00;~6 COOO AOOO 18DO C5HO 006E OO~iE 05FI0 05;'0 10EI8 1010 1010 00(10 212'1 212' 1 2111 The address that precedes each printed line is the core address of word 1 on that line when a core image program is being printed. If a DSF program or data file is being printed, the address is the address of word 1 on that line relative to the start of the DSF program or data file. Each word printed is 4 hexadecimal characters long, and represents one binary word. [-14 Data Formats NCF DATA FORMATS NCF format Name code format is the format in which names of subprograms, entry points, labels, etc., are stored into 2 binary words for use by monitor programs. The name consists of 5 characters, with the terminal characters possibly being"blanks. Each EBCDIC character has the 2 leftmost bits dropped, and the remaining 6-bit blocks are packed to fill the following 30 bits of the 2 words. The 2 left bits of the 2-word name code representation are used for various purposes by different parts of the monitor system. For example, in theLET/FLET entry, these bits specify the format of the file (see Appendix D "LET/FLET"). The name-data words, used internally by the FORTRAN compiler, are similarly packed but the leftmost bit of each word is used as the indicator bit. This bit is set to zero if the word contains a constant; otherwise, it is set to one. The following is an example of name code format: Name code words in hexadecimal 11 010101 000001 01 0100 000101 000000 Equivalent binary words Indicator bits Input characters EBCDIC hex N A M E D5 C1 16 04 C5 40 D5054140 EBCDI binary CrJ~ 1101 0101 11000001 11010100 - - - - - - - 11000101 _______________________- J 01000000 Formats 1-15 1-16 DFCNV I-field type Appendix J. Field Type Examples for D FCNV The following is a description of each field type supported by the program. In each of these specification descriptions, the column and field length indicators may vary from 1 to 3 digits in length; all other numeric indicators must be one digit in length. I-FIELD TYPE This field type describes FORTRAN integer conversion; input is an integer field. The specification is: m-Iw.t (P) where m is the column of the RPG record in which the converted field begins (1 through 640). I identifies the field type. w is the field length of the converted field (maximum of 14). t is the number of positions to the right of the decimal point reserved in the RPG field (maximum of 9). (P) is optional and is present only if the RPG field is to be packed. Note. Since the FORTRAN integer field is regarded as a whole number with no decimal places, ~p to 5 positions to the left of the decimal should be reserved in the converted field to hold the largest possible integer value. Alignment is at the decimal point; if 5 positions are not reserved, high-order truncation occurs (see "DFCNV Messages and Error Messages" in Appendix A). Example 1: The integer field /3A 7E (14974 decimal) is converted using the field specification 15-18.2 to the following RPG field. Record word Content 8 FOFI 9 F4F9 10 F7F4 11 FOFO Example 2 (truncation): The integer field of Example 1 is converted using the field specification 15-16.2 to the following PPG field. Record word Content 8 F4F9 9 F7F4 10 FOFO Example 3 (packed format): The integer field of example 1 is converted using the field specification 15-18 .2(P) to the following RPG field. The number is converted as in Example 1. The zone portions of each character are then removed and the digit portions are packed 2 per byte. The sign is added as a trailing hexadecimal digit (F=positive; D=negative). Record word Content 8 0014 9 9740 10 OF40 Note. Since field length does not account for sign, incorrect alignment exists if packed mode is specified and field length is an even number. In order to align the data correctly, a leading zero is added to the field. This is true in all field types that accept packed mode conversion. Field Type Examples for DFCNV J-I DFCNV J-field type R-field type Example 4: The integer field /C582 (-14974 decimal) is converted using the field specification 15-18.2 to the following RPG field. Record word Content 8 FOFI 10 F7F4 9 F4F9 11 FODO J-FIELD TYPE This field type describes 2-word integer conversion; input is a 2-word integer. The spedfication is: m-Jw.t (P) where m is the column of the RPG record in which the converted field begins (1 through 640). J identifies the field type. w is the field length of the converted field (maximum of 14). t is the number of positions to the right of the decimal point reserved in the RPG field (maximum of 9). (P) is optional and is present only if the RPG field is to be packed. Note. Since a 2-word integer is regarded as a whole number with no decimal places, up to 10 positions to the left: of the decimal point should be reserved in the converted field to hold the largest possible integer value. Alignment is at the decimal point; if 10 positions are not reserved, high-order truncation occurs (see "DFCNV Messages and Error Messages" in Appendix A). If a file contains 2-word integers, standard precision must be specifie:d on the file description card. If extended precision is specified, any J-field type specification is invalid. Example: The 2-word integer field /7FFF /FFFF is converted using the field specification 7-J 13.(p) to the following RPG field. Record word Content 4 0021 5 4748 6 3647 7 OF40 R-FIELD TYPE This field type describes FORTRAN real-variable conversion. The specification is: m-Rw.t (P) where m is the column of the RPG record in which the converted field begins (1 through 640). R identifies the field type. w is the field length of the converted field (maximum of 14). t is the number of positions to the right of the decimal point reserved in the RJPG field (maximum of '9). (P) is optional and is present only if the RPG field is to be packed. Note. If the real number of the input field is too small to yield any significant digits in the RPG field, the RPG field is set to zeros. If the real number is too large to yield any siignificant digits in the RPG field, the RPG field is set to nines (see "DFCNVMessages and Error Messages" in Appendix A). J-2 DFCNV R-field type Example 1: The standard precision real field /BCOO/0080 (-0.53125 decimal) is converted using the field specification 25-R7.5 (P) to the following RPG field. Record word Content 13 0053 14 125D Example 2: The real field of Example 1 is converted using the field specification 25-R7.5 to the following RPG field. Record word Content 13 FOFO 14 F5F3 15 FIF2 16 D540 Example 3: The standard precision real field /7AI2/0097 (eight million decimal) is con'verted using the field specification 39-R7.0 (P) to the following RPG field. Record word Content 20 8000 21 OOOF Example 4: If the field specification in Example 3 were 39-R7.2 (P) then the resulting RPG field would be set to nines since the input field is too large to yield any significant digits in the RPG field. Record word Content 20 9999 21 999F If column 33 of the file description card contained a W, a warning message would be printed when the preceding conversion took place. Example 5: The extended precision real field /0047/6250/0000 (10- 12 decimal) is converted using the field specification 17-R9.9 to the following RPG field. Record word Content 9 FOFO 10 FOFO 11 FOFO 12 FOFO 13 F040 The RPG field is set to zeros since the input field is too small to yield any significant digits in the RPG field. A number whose first significant digit is more than 9 decimal places to the right of the decimal point cannot be expressed in RPG. If column 33 of the file description card contained a W, a warning message would be printed when above conversion took place. Field Type Examples for DFCNV J-3 DFCNV B-field type C-field type 8-FIElD TYPE This field type describes FORTRAN A-conversion for integer data and CSP Al and A2 conversion. The specification is: m-Bw.n where m is the column of the RPG record in which the converted field begins (1 through 640). B identifies the field type. w is the number of ,:;haracters in the field (maximum of 255). n is the number of characters in each unit of the input field (n=1 or 2). Note. If CSP Al or A2 format is converted, one word integers must be specified on the file description card; however, no diagnostic check is made for this condition. Example: The CSP field POSITIVE appears on a disk record in A2 format as follows: Record word Content n E5C5 VE n+ I E3C9 TI n+ 2 E2C9 SI n+ 3 D7D6 PO This field is converted using the field specification '2I-B8.2 to the following RPG field. Record word Content 11 D7D6 PO 12 E2C9 SI 13 E3C9 TI 14 E5C5 VE C-FIElD TYPE This field type describes FORTRAN A-conversion for real data. The specification is: m-Cw.n where m is the column of the RPG record in which the converted field begins (1 through 640). C identifies the field type. w is the number of characters in the field (maximum of 255). n is the number of characters in each unit (2 or 3 words) of the input field. For standard precision, n may range from I through 4; for extended precision, fwm 1 through 6. Example: The FORTRAN field WASHINGTON, D. C. appears on a disk record in A4 format, extended precision, beginning at word 221 as follows; Record word Content 210 4BC3 211 4B40 212 4040 213 D6D5 ON 214 6BC4 ,D 215 4040 217 C7E3 GT 218 4040 219 E6Cl WA 220 E2C8 SH 221 4040 .c Record word Content 216 C9D5 [N J-4 DFCNV D-field type D-FIElD TVPE This field type describes CSP D 1 conversion. The specification is moD l.j= 12 .K(p) where m is the column of the RPG record in which the converted field begins (1 through 640). D identifies the field type. 11 is the length of the CSP field (maximum of 255). j is the number of positions to the right of the decimal point in the CSP field. 12 is the length of the RPG field (maximum of 14). k is the number of positions to the right of the decimal point in the RPG field (maximum of 9). (P) is optional and is present only if the RPG field is to be packed. Note. Alignment is at the decimal point. If, for example, ! 1 = 12 and k>j, then k-j high order positions of the CSP field are truncated in the RPG field (see "DFCNV Messages and Error Messages" in Appendix A). Example: The CSP Dl format field +00946.88 appears on a disk record beginning at word 78 as shown. Record word Content 72 0008 73 0008 74 0006 75 0004 76 0009 77 0000 78 0000 This field is converted using the field specification 35-C 15.4 to the following RPG field. Record word Content Record word Content 18 E6CI WA 19 E2C8 SH 24 4BC3 .C. 25 4B40 20 C9D5 IN 21 C7E3 GT 22 D6D5 ON 23 6BC4 ,D This field is converted using the field specification 25-D7.2=6.3 to the following RPG field. Record word Content 13 F9F4 14 F6F8 15 F8FO Field Tvpe Examples for DFCNV J-5 DFCNV E-field type F-field type E-FIELD TYPE This field describes CSP 04 conversion. The specification is: m-EI 1 .j= 12 .k(P) where m is the column of the RPG record in which the converted field begins (1 through 640). E identifies the field type. 11 is the length of the CSP field (maximum of 2SS). i is the number of positions to the right of the decimal point in the CSP field. 12 is the length of the RPG field (maximum of 14). k is the number of positions to the right of the decimal point in the RPG field (maximum of 9). (P) is optional and is present only if the RPG field is to be packed. Note. For E-field type cOllversion, alignment is also performed at the decimal point; high order truncation is possib 11e (see "OFCNV Messages and Error Messages" in Appendix A). Example: The CSP 04 format field -00946.88 appears on a disk record beginning at word 103 as foHows: Record word Content 101 FFF7 102 6.8FF 103 0094 This field is converted using the field specification 2S-E7 .2=7.2 (P) to the following RPG field. Record word Content 13 0094 14 6880 F-FIELD TYPE This field type describes CSP A3 conversion, and requires a 40 character translation table. The specification is: m-Fw where m is the column of the RPG record in which the converted field begins (1 through 640). F identifies the fiel.d type. w is the numbe~r of characters in the field (not to exceed the input record size in characters ). J-6 DFCNV X-field type Example:. Suppose that a 40 character translation table with W as the 23rd position relative to the last position (card column 40) of the A3 table, H as the eighth relative position, and Y as the 25th relative position, is used to form the CSP field WHY in A3 format. This field is represented on a disk record by the integer /14] 9 that is derived using the following formula. 1=1600 (N l -20) + 40N 2 + N3 where N 1 • N2 and N3 represent the positions relative to card column 40 in the table of the 1st, 2nd and 3rd characters, respectively. /1419 is converted using the field specification 21-F4 to the f oIJowing RPG field. Record word Content ]1 E6C8 12 E840 WI-I Y X·FIELD TVPE This field type allows Helds on the input record to be bypassed. The specification is: Xw where X identifies the field type. w is the number of words to be bypassed (not to exceed input record size). Example: The field specification used to bypass an array of 10 real numbers when standard precision (each real number is 2 words in length) is specified as X20. Field Type Examples for DFCNV J-7 1-8 Appendix K. Decimal and Hexadecimal Disk Addresses SECTOR ADDRESS BASE 10 SECTOR ADDRESS BASE 16 CYLINDER ADDRESS BASE 10 CYLINDER ADDRESS BASE 16 -+00000 +00008 +00016 +00024 +00032 +00040 +00048 +00056 +00064 +00072 +00080 +00088 +00096 +00104 +00112 +00120 +00128 +00136 +00144 +00152 +00160 +00168 +00176 +00184 +00192 1-00200 +00208 +00216 +00224 +00232 1-00240 +00248 +00256 +00264 +00272 +00280 +00288 +00296 +00304 +00312 +00320 +00328 +00336 +00344 +00352 +00360 +00368 +00376 +00384 +00392 +00400 +00408 +00416 +00424 +00432 +00440 +00448 +00456 +00464 +00472 +00480 +00488 +00496 +00504 +00512 +00520 +00528 0000 0008 0010 0018 0020 0028 0030 0038 0040 0048 0050 0058 0060 0068 0070 0078 0080 0088 0090 0098 ooAO 00A8 0080 0088 OOCO OOC8 0000 0008 OOEO 00E8 OOFO OOF8 0100 0108 0110 0118 0120 0128 0130 0138 0140 0148 0150 0158 0160 0168 0170 0178 0180 0188 0190 0198 OIAO 0lA8 OIBO 0lB8 OICO OlC8 0100 0108 OlEO OlE8 01FO 01F8 0200 0208 0210 +00000 +00001 +00002 +00003 +00004 +00005 +00006 +00007 +00008 +00009 +00010 +00011 +00012 +00013 +00014 +00015 +00016 +00017 +00018 +00019 +00020 >00021 +00022 +00023 +00024 +00025 +00026 +00027 +00028 +00029 .00030 +00031 +00032 +00033 +00034 +00035 +00036 +00037 +00038 +00039 +00040 +00041 +00042 +00043 +00044 +00045 +00046 +00047 +00048 +00049 +00050 +00051 +OOOS2 +00053 +00054 +00055 +00056 +00057 +00058 +00059 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 +00060 +00061 +00062 +00063 +00064 +00065 +00066 OOOA oooB oooc 0000 oooE OOOF 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 OOIA 0018 OOIC 0010 OOlE OOIF 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0020 002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 0038 003C 0030 003E 003F 0040 0041 0042 SECTOR ADDr,[SS BASE 10 +00536 +00544 +00552 +00560 +00568 +00576 +00584 +00592 +00600 +00608 +00616 +00624 +00632 +00640 +00648 +00656 +00664 +00672 +00680 +00688 +00696 +00704 +00712 +00720 +00728 +00736 +00744 +00752 +00760 +00768 +oon6 +00784 +00792 +00800 +00808 +00816 +00824 +00832 +00840 +00848 +00856 +00864 +00872 +00880 +00888 +00896 +00904 +00912 +00920 +00928 +00936 +00944 +00952 +00960 +00968 +00976 +00984 +00992 +01000 +01008 +01016 +01024 +01032 +01040 +01048 +01056 +01064 SECTOR ADDRESS BASE 16 0218 0220 0228 0230 one 0240 0248 0250 0258 0260 0268 0270 0278 0280 0288 0290 0298 02AO 02A8 0280 0288 02CO 02C8 0200 0208 02EO 02E8 02FO 02F8 0300 0308 0310 0318 0320 0328 0330 0338 0340 0348 0350 0358 0360 0368 0370 0378 0380 0388 0390 0398 03AO 03A8 0380 0388 03CO 03C8 0300 03D8 03EO 03E8 03FO 03FB 0400 0408 0410 0418 0420 0428 CYLINDER ADDRESS BASE 10 CYLINDER ADDRESS BASE 16 +00067 +00068 +00069 +00070 +00071 +00072 +00073 +00074 +00075 +00076 +00077 +00078 +00079 +00080 +00081 +00082 +00083 +00084 +00085 +00086 +00087 +00088 +00089 +00090 +00091 +00092 0043 0044 0045 0046 0047 0048 0049 004A OO4B OO4C 0040 OO4E OO4F 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 0050 005E 005F 006(1 0061 0062 0063 0064 0065 0066 0067 0068 0069 OO6A 0068 OO6C 0060 OO6E OO6F 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 0078 007C 0070 +00093 +00094 +00095 +00096 +00097 +00098 +00099 +00100 +00101 +00102 +00103 +00104 +00105 +00106 +00107 +00108 +00109 +00110 +00111 +00112 +00113 +00114 +00115 +00116 +00117 +00118 +00119 +00120 +00121 +00112 +00123 +00124 +00125 +00126 +00127 +00128 +00129 +00130 +00131 +00132 +00133 oon; 007F 0080 0081 0082 0083 00S4 0085 SECTOR ADDRESS BASE 10 +01072 +01080 +01088 +01096 +01104 +01112 +01120 +01128 +01136 +01144 +01152 +01160 +01168 +01176 +01184 +01192 +01200 +01208 +01216 +01224 +01232 +01240 +01248 +01256 '-01264 1)1272 01280 ,01288 ··01296 +-01304 +01312 +01320 +01328 +01336 +01344 +01352 +01360 +01368 +01376 +01384 +01392 +01400 +01408 +01416 +01424 +01432 +01440 +01448 +01456 +01464 +01472 +01480 +01488 +01496 +01504 +01512 +01520 +01528 +01536 +01544 +01552 +01560 +01568 +01576 +01584 +01592 SECTOR ADDRESS BASE 16 0430 0438 0440 0448 0450 0458 0460 0468 0470 0478 0480 0488 0490 0498 04AO O4A8 04BO 04B8 04CO 04C8 0400 0408 04EO 04E8 04F0 04F8 0500 0508 OSlO 0518 0520 0528 0530 0538 0540 0548 0550 0558 0560 C568 0570 0578 0580 0588 0590 0598 05AO 05A8 0580 05B8 oseo 05C8 0500 0508 OSEO 05E8 05FO 05F8 0600 0608 0610 0618 0620 0628 0630 0638 CYLINDER ADDRESS BASE 10 +00134 +00135 +00136 +00137 +00138 +00139 +00140 +00141 +00142 +00143 +00144 +00145 +00146 +00147 +00148 +00149 +00150 +00151 +00152 +00153 +00154 +00155. +00156 +00157 +00158 +00159 +00160 +00161 +00162 +00163 +00164 +00165 +00166 +00167 +00168 +00169 +00170 +00171 +00172 +00173 +00174 +00175 +00176 +00177 +00178 +00179 +00180 +00181 +0018, +00183 +00184 +00185 +00186 +00187 +00188 +00189 +00190 +00191 +00192 +00193 +00194 +00195 +00196 +00197 +00198 +00199 CYLINDER AOORFSS BASE 16 0086 0087 0088 0089 008A 008B 008C 0080 008E 008F 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 OO9A 0098 009C 0090 009E 009F OOAO OOAI OOA2 OOA3 OOA4 OOA5 OOA6 OOA7 OOA8 OOA9 OOAA COAB COAC OOAO OOAE OOAF 0080 OOBI 0082 0083 0084 0085 0086 0087 0088 0089 OOBA 0088 OO8C 0080 008E OO8F OOCO OOCI OOC2 OOC3 OOC4 OOC5 OOC6 OOC7 Decimal and Hexadecimal Disk Addresses K-l K-2 Appendix L. Disk Storage Unit Conversion Factors ~~ Bits Data words Disk blocks Sectors Tracks Word Disk block Sector Track Cylinder Disk 16 320 5,112 20,480 40,960 8,192,000 20 320 1,280 2,560 512,000 64 128 25,600 4 8 1,600 2 400 16 0 Cylinders o 200 These follow the first actual word of each sector, which is used for the address. Disk Storage Unit Conversion Factors L-l L-2 Appendix M. Character Code Set EBCDIC Binary Ref no. Hex 4567 0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1010 1100 1101 1110 1111 00 01 02 03 04 05 06 07 08 09 OA OB OC aD DE OF 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10 11 12 13 14 15 16 17 18 19 lA lB 12 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 20 21 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1 !II 30 31 3 4 5* 6 7* 8 9 10 11 12 13 14 15 Graph ics and control names Hex 12 11 0 9 8 7-1 0123 0 1 2 1132 IBM card code Rows 0 9 9 8 9 9 9 1 1 2 B030 9010 8810 8410 8210 8110 8090 8050 8030 9030 8830 8430 8230 8130 80BO 8070 3 4 5 6 7 9 9 9 9 8 9 9 9 9 9 9 9 8 8 8 8 8 8 8 1 2 3 4 5 6 7 8 1 Printer EBCDIC subset hex PTTC/8 hex U-uppercasE L-Iowercase 0001 32 33 34 35 36 37* 38* 39 40 41 42 43 44 45 0010 46 47 0011 48 49 50 51 52 53* 54' 55 56 57 58 59 60 61 62 63 11 11 11 11 11 11 9 9 11 11 11 11 11 11 11 11 1C lD IE IF 11 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 0 a a 0 0 0 0 0 0 0 0 0 0 0 a 12 11 TVOf"VVrltPr CD 2 3 4 5 6 7 9 9 9 9 9 9 9 9 9 9 9 8 9 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 e 8 8 8 8 5 1 1 2 3 4 5 6 0 9 0 9 8 9 9 9 7 9 8 9 9 9 9 8 8 8 8 9 8 9 8 38 3C 3D 3E 3F 9 8 7030 3010 2810 2410 2210 2110 2090 2050 2030 3030 2830 2430 2230 2130 20BO 2070 1 2 3 4 6 7 8 8 9 9 33 34 35 36 37 38 39 3A 1 1 2 3 4 5 6 7 9 9 9 32 1 2 3 4 5 6 7 9 8 ","'-'.U>.l Notes. 1 9 9 9 11 11 0030 5010 4810 4410 4210 4110 4090 4050 4030 5030 4830 4430 4230 4130 40BO 4070 ' F030 1010 0810 0410 0210 0110 0090 0050 0030 1 1030 2 0830 0430 0230 0130 OOBO 0070 3 4 5 6 7 1403 Printer hex NUL PF HT lC DEL Punch Off Horiz.Tab lower Cose Delete 6D (U/l) 6E (U/l) 7F (U/l) ,. 16 17 18 19 20* 21* 22* 23 24 25 26 27 28 29 30 31 Console printer hex notes RES NL BS IDL Restore New Line Backspace Idle BYP LF EOB PRE Bypass Line Feed End of Block Prefix 4C (U/l) DD~U/l) PN Punch On Reader Stop UC EOT Upper Case End of Trans. 05 81 J] 3 D (U/l) 3E (U/l) 03 OD(U/l) OE (U/l) : or 7 E or SA or 5E or 72 or 76 or 52 or 56 or 66 or 62 V W X Y Z 58 19 IA 58 Ie 5D 5E IfF 210 -- S T U -- OD OE E2 E3 E4 E5 E6 E7 E8 E9 32 23 34 25 26 37 38 29 FO Fl F2 F3 F4 F5 F6 F7 F8 F9 IA {l) 01 (l) 02 (l) 13 (l) 04 (l) 15 (l) 16 (l) 07 (l) C4 FC 08 DC FO F4 DO 04 08 (l) 19 (l) =4 46 07 EO CIS (U) (U) (U) (U) (U) (U) (U) (U) 98 or 9A 9C or 9E BO or B2 B4 or B6 90 or 92 94 or 96 A4 or A6 AO or A2 41F 10 51 52 1:3 54 - o 1 2 3 4 5 6 7 8 9 49 40 01 02 43 04 45 I Glossary-Index $$$$$ data files, initializing for use with FORTRAN unformatted I/O 6-27 $DUMP entry (skeleton supervisor) use by CIL 3-13, $EXIT entry (skeleton supervisor) use by CIL 3~ 13 $LlNK entry (skeleton supervisor) use by ClL 3-l4 $PRET address, indicates preoperative error 3-2 $PST I aJdress, indicates postoperative error 3-2 $PST2 aJd,ess, indicates postoperative error 3-2 $PSTJ address, indicates postoperative ~rror 3-2 $PST4 address, indicates postoperative error 3-2 ** header information FORTRAN control record format 5-69 pJinting a header on each page 5-69 *ARITHMETIC TRACE (see also ARITHMETIC TRACE FORTRAN control record) 5-70 *COMMON (see also COMMON assembler control record) 5-63 * DEFINE (see also DEFINE DUP control record) 5-45 *DELETE (see also DELETE DUP control record) 5-44 *Dl'JLE (see also DFILE DUP control record) 5-48 *DUMP (see also DUMP DUP control record) 5-22 *DUMPDATA (see also DUMP DATA DUP control record) 5-24 *J)UMPDATA E (see also DVMPDATA E DUP control record) 5-26 *DUMPFLET (see also DUMPFLET DUP control record) 5-29 *DUMPLET (see also DUMPLET DUP control record) 5-28 *DWADR (see also DWADR DUP control record) 5-47 *END (see also END MODSF patch control record) 4-19 *EQUAT (see also EQUAT supervisor control record) 5-17 *EXTENDED PRECISION (see also EXTENDED PRECISION FORTRAN control record) 5-68 *FILES (see also FILES supervisor control record) 5-15 *G2250 (see also G2250 supervisor control record) 5-16 *IOCS (see also IOCS FORTRAN control record) 5-65 *LEVEL (see also LEVEL assembler control record) 5-61 *LlST (see also LIST assembler control record) 5-53 *LIST ALL (see also LIST ALL FORTRAN control record) 5-67 *LIST DECK (see also LIST DECK assembler control record) 5-57 *LlST DECK E (see also LIST DECK E assembler control record) 5-59 *LIST SOURCE PROGRA.\1 (see also LIST SOURCE PROGRAM FORTRAN control record) 5-66 *LIST SUBPROGRAM NAMES (see also LIST SUBPROGRAM NAMES FORTRAN control record) 5-66 *LIST SYMBOL TABLE (~'ee also LIST SYMBOL TABLE FORTRAN control record) 5-67 *LOCAL (see also LOCAL supervisor control record) 5-13 *MACLlB (see also MACLIB assembler control record) 5-63 *MACRO UPDATE (see also MACRO UPDATE DUP control record) 5-49 *MON (see also MON MODIF patch control record) 4-9 *NAME (see also NAME FORTRAN control record) 5-69 *NOCAL (see also NOCAL supervisor control record) 5~14 *ONE WORD INTEGERS (see also ONE WORD INTEGERS r:ORTRAN control record) 5-68 *ORIGIN (see also ORIGIN FORTRAN control record) 5-71 ~'OVERFLOW SECTORS (see also OVERFLOW SECTORS assembler control record) 5-61 *PRINT SYMBOL TABLE (see also PRINT SYMBOL TABLE assembler control record) 5-59 ""PRO (see also PRO MODSF control record) 4-15 *PUNCH SYMBOL TABLE (see also PUNCH SYMBOL TABLE assembler control record) 5-59 *SAVE SYMBOL TABLE (see also SAVE SYMBOL TABLE assembler control record) 5-60 *STORE (see also STORE DUP control record) 5-30 *STORECI (see also STORECI DUP control record) 5-38 *STOREDATA (see also STOREDATA DUP control record)' 5-33 *STOREDATACI (see also STOREDATACI DUP control record) 5-37 *STOREDATAE (see also STOREDATAE DUP control record) 5-34 *STOREMOD (see also STOREMOD DUP control record) 5-42 *SUB (see also SUB MODIF patch control record) 4-12 *SYSTEM SYMBOL TABLE (see also SYSTEM SYMBOL TABLE assembler control record) 5-60 *TRANSFER TRACE (see also TRANSFER TRACE FORTRAN control record) 5-70 *TWO PASS MODE (see also TWO PASS MODE assembler control record) 5-52 *XREF (see also XREF assembler control record) 5-56 / / * (comments) monitor control record (see also comments nl0nitor control record) 5-9 / / ASM (see also ASM monitor control record) 5-5 // CEND (see also CEND monitor control record) 5-11 / / COBOL (see also COBOL monitor control record) 5-6 / / CPRNT (see also CPRNT monitor control record) 5-11 II DEND (see also DEND MODIP patch control record) 4-13 / / DUP (see also DUP monitor con trol record) 5-6 / / EJECT (see also EJECT monitor control record) 5-11 // FOR (see also FOR monitor control record) 5-6 1/ JOB (see also JOB monitor control record) 5-2 // PAUS (see also PAUS monitor control record) 5-10 / / records read during FORTRAN program execu tion 6-51 / / RPG (see also RPG monitor con trol record) 5-6 /I TEND (see also TEND monitor control record) 5-10 / / TYP (see also TYP monitor control record) 5-10 / / XEQ (see also XEQ monitor control record) 5-7 @DCOM (see DeOM) @HDNG, on a system cartridge 2-6 @IDAD (see IDAD) @RIAD, on a system cartridge 2-6 @RTBL, on a system cartridge 2-6 A-conversion, PORTRAN 6-50 absolu te address 3-10 An address that indicates the exact storage 10catio1l where data is found or stored absolu te program 3-10 A DSF program to which you assigll an origin so that the program can be executed from that core location only. absolute starting address, defining with *ORIGIN PORTRAN control record 5-71 acronyms used in DUP operations 5-20 adding system library subroutines (MODIF) 4-12 address formats used in this publication hexadecimal 1~2 symbolic 1-2 addresses, appendix K, decimal and hexadecimal disk K-I ADRWS disk maintenance program 4-8 Index X-I allocation addresses, locating I;ORTRAN 6-18 altering LET and FLET with DUP control records 5-20 aitering the contents of a core location 7-14 analyzing disk cartridges, operating procedure 9-36 appendixes A, monitor system operational and error messages A-I B, monitor system error wait codes B-1 C, monit'Jr system library listing Col 0, LET /FLET D-l L system location equivalence table (SLET) E-l F, core dump F-l G, rcsiden t monitor G-l II, monitor system sample programs H-l I, formats 1-1 J, field type examples for OFCNV J-l K, decimal and hexadecimal disk addresses K-l L, disk storage unit conversion factors k1 M, character code set M-1 ARITHMETIC TRACE FORTRAN control record format 5-70 tracing variable values during execution 5-70 arithmetic tracing, how to stop 5-70 ASM monitor control record format 5-5 general function 5-5 (lssembler CALL TSTOP 5-70 CALL TSTRT 5-70 deleting with the *DEFlNE OUP control record 5-46 description 3-5 error codes A-2 error mt:ssages A-2 FILE statement 3-10 listing of error codes A-3 listing of error messages A-5 loading 8-8 monitor system program 3-5 assembler control records 5-50 *COMMON 5-63 cl control record format .5-47 writing sector addresses in WS 5-47 E-field type, DFCNV J-6 effective program length Tlu.~ ending address of a relocatable program. For example, in assembler language programs, this address is the last value used by the location assignment counter during assembly. This value is assigned to the END statement. EJECT monitor control record example 6-5 format 5-11 skips the printer to a new page 5-11 usage of 6-5 END MODSF patch control record description 4-19 format 4-19 end-of-data indicator for RJE user exit 10-9 end-of-me control card, RPG 5-74 end-of-flle control record, DFCNV 4-25 X~8 end-of-file indicators, RJE 10-6 end-of-program card, CDS program 1-10 ending address of RJE user exit data 10-8 entering jobs from the card reader 7-12 from the console keyboard 7-12 from the paper tape reader 7-12 entry point Either (1) the symbolic address (name) where a program is entered, (2) the absolute core address where a program is entered, or (3) the address, relative to the address of the first word of a subroutine, where a subroutine is entered. entry points to the skeleton supervisor 3-2 EQUAT supervisor control record additional field information 5-17 for substituting subroutines 5-17 format 5-17 maximum number of substitutions 5-17 tips for using 6-48 equatable FORTRAN I/O subroutines 6-48 ERASE FIELD key 7-13 error codes assembler, description A-2 FORTRAN, description A-7 listing of assembler A-3 listing of FORTRAN A-9 error messages assembler, description A-2 auxiliary supervisor A-58 COPY A-60 DCOM update A-37 DFCNV A-68 DISC A-59 DLCIB A-61 DUP, description A-13 FORTRAN compilation A-7 ID A-60 listing of assembler A-5 listing of DUP A-14 listing of MUP A-14 MODIF A-62 MODSF A-66 MUP, description A-13 RJE A-28 SGJP A-26 supervisor A-36 system loader A-22 SYSUP update A-37 error notes listing of RPG compiler A-40 RPG compiler, description A-38 error recovery procedures, RJE 10-11 error statistics, RJE 10-12 error traps postoperative 3-2 preoperative 3-2 PROGRAM STOP key 3-2 error wait codes appendix B, monitor system B-1 PTUTL B-9 error waits cold start program B-1 ISS subroutine preoperative B-2 listing of ISS subrou tine B-3 errors console printer subroutine B-8 FORTRAN I/O 6-51 I/O device subroutine B-5 errors (continued) paper tape subroutine B-9 1442 card subroutine B-6 2501 card subroutine B-8 2501 card subroutine feed check B-8 2501 card subroutine read check B-8 execution The execu tion of a program specified on an XEQ monitor control record and any subsequent links executed via CALL LINK statements. The execution is complete when a CALL EXIT is executed. EXTENDED PRECISION FORTRAN control record format 5-68 specifying extended FORTRAN precision 5-68 F-field type, DFCNV J-6 feed check error, 2501 card subroutine B-8 field specification control record description 4-24 example 4-24 spedfying repeated fields 4-24 field type examples for DFCNV, appendix J J-l file description DFNCV control record additional field information 4-23 description 4-21 format 4-22 file index, contents of an ISAM 6-32 file label, computing for lSAM files 6-30 file labels, contents oflSAM 6-31 file map, reading a 6-13 file organization, indexed sequential (IS AM) 6·28 file processing assembler and RPG disk file organization and processing 6-28 sequen tial 6-28 file records how FORTRAN formatted are written in sectors 6-25 how unformatted FORTRAN are written in sectors 6-26 file sizes calculating ISAM 6-29 calculating sequentially organized 6-29 computing for DFCNV 4-23 FILE statement, assembler 3-10 FILES supervisor control record additional field information 5-15 continuing to another FILES control record 5-15 equating program file numbers to stored data files 5-15 format 5-15 how processed 6-9 maximum number of equated data files 5-15 fixed area (FX) The area on disk in which you store core image programs and data files if you want them to always occupy the same sectors. Packing never occurs in the fixed area. Programs in disk system format cannot be stored in this area. changing the size of 5-45 defining 5-45 deleting information from 5-44 description 2-9 storing information in *STOREDATA 5-33 *STOREDATACI 5-37 *STOREDATAE 5-34 FLET fixed location equivalence table 2-8 printing the contents of 5-29 FLET and LET, altering with DUP control records 5-20 FLIPR core load construction use of 3-11 system library utility subroutines 4-4 flowchart blocks in operating procedures, functions of 1-1 FOR monitor control reCDrd format 5-6 general function 5-6 format conversion and information transfer, DUP control records 5-20 format of hexadecimal addresses used in this publication 1-2 format of symbolic addresses used in this publication 1-2 formats appendix 1 1-1 card 1-6 CDC program card 1-11 CDD data file card 1-11 CDS data card 1-9 CDS program 1-6 data 1-15 DCI program 1-5 DDF data file 1-4 disk 1-2 DSF program 1-2 NCF 1-15 paper tape 1-12 PRD print 1-13 print 1-13 formatted disk file The organization of a FORTRAN disk data file to allow random accessing of fixed length records. Data conversion is not possible. formatted file records, how FORTRAN writes in sectors 6-25 formatted FORTRAN I/O statements 6-25 FORTRAN calling sequence for SYSUP 6-21 compilation error messages A-7 compilation messages A-7 error codes, description A-7 I/O wait codes B-I0 listing of error codes A-9 messages A-7 FORTRAN A-conversion 6-50 FORTRAN allocation addresses, locating 6-18 FORTRAN compiler, description 3-6 FORTRAN control records 5-64 **(header information) 5-69 *ARITHMETIC TRACE 5-70 *EXTENDED PRECISION 5-68 *IOCS 5-65 *L1ST ALL 5-67 *LIST SOURCE PROGRAM 5-66 *LIST SUBPROGRAM NAMES 5-66 *LIST SYMBOL TABLE 5-67 *NAME 5-69 *ONE WORD INTEGERS 5-68 *ORIGIN 5-71 *TRANSFER TRACE 5-70 general functions 5-64 how to code 5-64 where placed in the input stream 5-64 FORTRAN core load A core load that is built from a mainline written in the FOR TRAN language. specifying I/O devices for 5-65 FORTRAN core map, reading a 6-15 and 16 FORTRAN data fIles, converting to RPG data files 4-20 FORTRAN DATA statement, length of 6-51 Index X-9 PORT RAN disk files data me processing 6-23 formatted FORTRAN I/O statements 6-25 initializing $$$$$ data files 6-27 organization and processing 6-23 unformatted FORTRAN I/O statements 6-26 FORTRAN DSF programs, dumping to cards 6-52 FORTRAN formatted file records, how written in sectors 6-25 FORTRAN I/O errors, tips for FORTRAN programmers 6-51 FORTRAN I/O statements formatted 6-25 unformatted 6-26 FORTRAN I/O subroutines, equatable 6-48 FORTRAN IOCS control record, I/O subroutines called by 6-49 FORTRAN logical unit numbers 6-24 FORTRAN object program paper tape data record format 6-49 FORTRAN program . control of the console printer 6-50 listing a 5-66 listing with subprogram names and symbol table 5-67 FORTRAN program control of the console printer 6-50 FORTRAN program execution / / records read during 6-51 keyboard input of data records during 6-50 FORTRAN programmer, how to assign core load origin 3-10 FORTRAN programmers, tips for 6-48 FORTRAN READ and WRITE statements, maximum record sizes used in 6-24 FORTRAN sample program H-l FORTRAN source cards, invalid characters in 6-49 FORTRAN subprogram names, listing with a program and symbol table 5-67 FORTRAN subroutines, restriction on use of core image header storage area 3-9 FORTRAN symbol table, listing 5-67 FORTRAN unformatted file records, how written in sectors 6-26 FORTRAN unformatted I/O initializing $$$$$ data files for use with 6-27 sample program using H-12 FSLEN system library utility subroutines 4-4 function A subprogram that evaluates a mathematical relationship between a number of variables. In FORTRAN, a FUNCTION is a subprogram that i~' restricted to a single value for the result. This type of subprogram is called by direct reference. functions of console operator keys during monitor system control 7-13 functions of flowchart blocks in operating procedures 1-1 header, construction of the core image 3-9 generation of the 1130 RJE work station program 10-3 grouping of assembler mnemonics 6-35 G2250 supelrvisor control record examples 5-17 format 5-16 specifying use of graphic subroutine package 5-16 Jhalt codes (see wait codes) header DCI program 1-5 DSF program 1-3 heading, how to specify a page 5-5 hexadecimal address format used in this publication 1-2 hexadecimal disk addresses, appendix K K-l hexadecimal MODIF patch data record (hex), format 4-11 X-IO I-field type, DFCNV J-l I/O device subroutine errors B-5 I/O devices list of principal 8-9 specifying for FORTRAN COfe loads 5-65 I/O errors, FORTRAN 6-51 I/O statements, unformatted FORTRAN 6-26 I/O subroutines called by FORTRAN 10CS control record 6-49 equatable FORTRAN 6-48 how to specify disk 5-8 using the disk 6-4 I/O wait codes FORTRAN B-lO IBM area 2-8 That part of disk storage that is composed of DCOM, the CIB and.the monitor programs. This area is also known as the IBM system area or system area. IBM-supplied system loader control records 8-2 PHID 8-3 SCON 8-2 system program sector break cards 8-4 TERM 8-2 type 81 8-7 IBM system area CIB 2-8 cushion area 2-6 FLET 2-8 LET 2-8 SCRA in the 2-7 system device subroutine area 2-7 IBM system area on a nonsystem cartridge 2-13 IBM system area on a system cartridge 2-6 ID, disk maintenance program 4-7 error messages A-60 messages A-60 IDAD 2-5 IDENT, disk maintenance program 4-5 messages A-59 ILS branch table (IBT, see interrupt branch table) A table consisting of the addresses of the interrupt entry points for each ISS used for the interrupt level. An IBT is required by the ILS for an interrupt level with which more than one device is associated. ILS header card CDS program 1-9 ILS subroutine example 6-44 ILS subroutines, rules for writing 6-42 ILSs how to specify special 5-8 writing by assembler language programmers 6-42 ILS02 in the skeleton supervisor 3-2 ILS04 in the skeleton supervisor 3-2 IMM STOP key (immediate stop) 7-13 incore subprogram A subprogram that remains in core storage during the entire execution of the core load of which it is a part. ILSs are always incore subprograms, whereas LOCALs and SOCALs never are. incorporating subrou tines, core load construction 3-10 index register 3, assembler program use of 6-35 index sectors, computing for ISAM files 6-30 indexed sequential access method files, calculating size of 6-29 indexed sequential file organization, ISAM 6-28 indicator word The first word of a DSF block indicating which of the following data words should be incremented (relocated) when relocating a program in disk system format. This word also indicates which words are LIBF, CALL, and DSA names and the graphic instnlction GSE, GBE, or GBCE. Programs in disk system format all contain indicator words. Each pair of bits in the indicator word is associated with one of the following data words; the first pair with the first data word following the indicator word, etc. information transfer and format conversion, DUP control records 5-20 initial load, monitor system 8-1 initial load operating procedure card system 8-15 paper tape system 8·28 initial program load The action that occurs when the PROGRAM LOAD key is pressed. One record is read into core, starting at location zero, from the hardware device that is physically wired to perform this function. The record read, usually a loader, then instnlcts the system as to the next action to be performed; such as, load more records. initialization, satellite disk (DISC) 4-6 initialization subroutine of DCIP 9-8 initializing $$$$$ data files for use with FORTRAN unformatted I/O 6-27 initializing disk cartridges, operating procedure (DCIP) 9-12 input changed LOGON effect on RJE input 10-3 stacked job arrangement 1-3 input at the work station, RJE 10-2 input of data records, from the keyboard during FORTRAN program execution 6-50 INT REQ key (interrupt request) 7-13 INT REQ service subroutine assembler 6-45 for any core load example 6-46 for core load using TYPEZ, WRTYZ, TYPEO or WRTYO 6-47 rules for coding an 6-45 interrupt branch table 6-42 interrupt level subroutine (ILS) 6-42 A subroutine that analyzes all interrupts on a given level, that is, it determines which device on a given level caused the interrupt and branches to a servicing subroutine (ISS) for the processing of that interrupt. interrupt level 2, skeieton supervisor 3-2 interrupt level 4, skeleton supervisor 3-2 interrupt levels, specifying for ISSs (*LEVEL assembler control record) 5-61 interrupt request key (INT REQ) 7-13 interrupt service subroutine (ISS) 6-37 A subroutine that (1) manipulates a given I/O device and (2) services all interrupts for that device after they are detected by an ILS. interrupt transfer vector (lTV, see transfer vector) The contents of words 8 through 13 or core, which are the automatic BSI instnlctions which occur with each interrupt. In other words, if an interrupt occurs on level zero and if core location 8 contains 500, an automatic BSI to core location 500 occurs. Similarly, interrupts on levels 1 through 5 cause BSIs to the contents of core locations 9 through 13, respectively. I/O device subroutines, deleting 10AR header 10CS FORTRAN control record format 5-65 I/O subroutines called by 6-49 specifying I/O devices for FORTRAN core loads 5-65 ISAM add operation, deleting duplicate records caused by a disk error during an 6-34 ISAM me, contents of 6-31 ISAM file index, contents of 6-32 ISAM file label, contents of 6-31 ISAM file parameters, sample program to calculate H-17 ISAM files calculating size of 6-29 compu ting file label for 6-30 compu ting index sectors 6-30 computing overflow sectors 6-30 computing prime data sectors 6-30 random processing of 6-28 sequential processing of 6-28 ISAM indexed sequential file organization 6-28 ISAM overflow area, contents of 6-33 ISAM prime data area, contents of 6-32 ISS, specifying interrupt level for (*LEVEL assembler control record) 5-61 ISS, subroutines in system library 4-2 ISS branch table 6-42 ISS counter A counter in COMMA (word $IOCT) that is incremented by one upon the initiation of every I/O operation and decremented by one upon completion of the I/O operatio~ header card, CDS program 1-8 subroutine error waits, listing of B-3 subroutine example 6-38 subroutine preoperative error waits B-2 subroutines nameN 4-3 nameZ 4-2 nameO 4-2 name! 4-2 ISS subroutines in system library 4-2 ISSs, writing by assembler language programmers ISS ISS ISS ISS ISS J-field type, DrCNV J-2 JECL for the 1130 RJE work station job 6-37 10-5 A group of tasks (subjobs) that are performed by the monitor system and are interdependent; that is, the sllcces~lul execution of any given subjob (after the first) depends on the successful execution of at least one of those that precede it. how to specify a temporary 5-4 how to use SYSUP when changing cartridges during a JOB monitor control record additional field information 5-4 examples 5-5 format 5-2 and 3 general function 5-2 jobs entering from the card reader 7-12 entering from the console keyboard 7-12 entering from the paper tape reader 7-12 restrictions on temporary 5-4 stacked input arrangement 6-1 6-20 4-3 The words required by an I/O device subroutine (ISS). They must be the first or the first and second words of the I/O buffer. keyboard, entering jobs from the console 7-12 keyboard input at the RJE work station 10-2 Index X-II keyboard input of data records during FORTRAN program execution 6-50 keyboard operation. starting 7-12 keyboard operation, stopping 7-13 keyboard procedures, RJE console to-to keys backspace (~) 7-12 FRASE FIELD 7-13 IMM STOP 7-13 INT REQ 7-13 PROGRAM START 7-13 PROGRAM STOP 7-13 REST KB 7-13 layout of core load ready for execution length of FORTRAN DATA statement 3-14 6-51 LET location equivalence table 2-8 printing the contents of *DUMPLET 5-28 LET and FLET, altering with DUP control records LET/FLET 5-20 I1ze location equivalence table (LET) for the user area and the fixed location equivalence table (FLET) for the fixed area. These are disk resident tables through which the disk addresses a/programs and data files stored in the lIser area or fixed area are found. On a system cartridge, LET occupies the cylinder preceding the user area. If a fixed area is defined, FLET occupies the cylinder preceding it; otherwise, there is no FLE1: appendix D D-I disk format D-I dump format D-2 entry format D-l sector header format 0-1 IDUMYentry 0-1 LET in IBM system area 2-7 LEVEL assembler control record, specifying mterrupt levels for ISSs 5-01 UHF subroutine ,1 subroutine that must be referenced wz'th an LIBF statement. The type codes for subroutines in this categor}' are 3 and 5. UHF TV 3-13 The transfer vector through which LIBFsubroutines are {:ntered at execution time. URFs. restriction on number in a core load 3-13 library, monitor system 4-1 library maintenance, system· 4-14 link A link is a core image program that is read into core for execution as a result of the execution ofa CALL LINK statement. linking between programs, how to avoid overprinting when 6-5 LIST ALL FORTRAN control record 5-67 LIST assembler control record, listing an assembler program 5-53 list deck punching (*LIST DECK) 5-57 punching with error flags (*LIST DECK E) 5-59 reading a punched 5-58 LIST DECK assembler control record, punching a list deck 5-57 LIST DECK E a3sembler control record, punching a list deck with error flags 5-59 LIST SOURCE PROGRAM FORTRAN control record, listing a FORTRAN program 5-66 LIST SUBPROGRAM NAMES FORTRAN control record 5-66 LIST SYMBOL TABLE FORTRAN control record 5-67 X-12 list.. ~s DUMPFLET D-6 DUMPLET D-3 SLET E-l monitor system library, appendix C C-1 resident monitor G-1 load-although-not-called (NOCAL) subroutine 6-11 A su.broutine included in a core image program although it is not referenced in the core image program by an LIBFor CALL statement. Debugging aids such as a trace or a dump fall into this category. load mode control record (system loader) 8-8 for card system 8-8 for paper tape sy~tem 8-8 format 8-8 load mode control tape (system loader) 8-10 materials needed for preparation of 8-10 preparation of 8-10 load-on-call (LOCAL) subroutine 3-11 A subroutine that is a part cf a core image program, but resides on disk when not in use during execution. A LOCAL is read from the disk into a special overlay area incore when called during execution. LOCALs, which are specified for any given execution by the user, are a means 0/ gaining core storage at the expense of execu· tion time. The core load builder constructs the LOCALs and all linkages to and from them. loading 17ze process of reading information into core storage, usually from disk. loading address The address at which a mainline, subroutine, core load, or DSF module is to begin. For mainlines and DSF modules, the loading address is either absolute or relative. For subroutines, it is always relative, whereas, for core loads, it is always absolute. loading the assembler and compilers 8-8 loading the DCIP stand-alone utility program 9-11 LOCAL and NOCAL control record usage, tips on monitor control and usage 6-10 LOCAL-call-LOCAL, how to specify 5-8 LOCAL-calls-a-LOCAL, usage 6-10 LOCAL supervisor control record additional field information 5- t 3 coding for linked programs 5-13 continuing to another LOCAL control record 5-13 format 5-13 specifying LOCAL subroutines 5-13 when mainline program is in working storage 5-14 LOCALs, core load builder provision for 3-11 LOCALs, using 6-9 locating FORTRAN allocation addresses 6-18 location assignment counter A counter maintained in the assembler for assigning addresses to the instructions it assembles. A similar counter is maintained in the core load builder for loading purposes. location equivalence table (LET) 2-8 logic flow of the monitor system 3-15 logical cartridge assignments, specifying 5-4 logical record length of RJE user-exit data 10-8 logical unit numbers, FORTRAN 6-24 LOGON, effect on RJE input of changed 10-3 long instruction An assembler instruction that occupies two core storage locations. low COMMON, how processed by core image loader 3-14 The words of core that are saved in the core image buffer when linking from program to program. This area exists even if there is no COMMOl\~ machine and device requirements, RJE 10-1 MACLIB assembler control record format 5-63 specifying the use of the macro library 5-63 macro libraries, reserving disk space for 5-48 macro library, specifying the use of 5-63 macro overflow, specifying WS sectors for 5-61 MACRO UPDATE DUP control record calling the macro update program 5-49 format 5-49 macro update program (MUP), calling 5-49 mainline A program about which a core image program is built. The mainline is normally the program in control and calls subroutines to perform various functions. mainline header card, CDS program 1-6 mainline program, conversion during core load construction mainline programs error messages for monitor system library A-59 messages for monitor system library A-59 'lystem library 4-5 mainline programs that use all of core 6-9 maintenance system library (MODIF) 4-8 system library (MODSF) 4-14 main tenance programs, disk 4-5 manual dump of core storage 7-14 master cartridge 2-3 3-10 The cartridge residing on logical drive zero. A master cartridge must be a system cartridge. maximum record sizes used in FORTRAN READ and WRITE statements 6-24 merging assembler symbol tables 5-60 messages auxiliary supervisor error A-58 COpy A-60 core load builder A-54 DCOM update error A-37 DFCNV A-67 DFCNVerror A-68 DISC A-59 DLCIB A-61 DUP A-13 FORTRAN A-7 10 A-60 IDENT A-59 listing of DUP error A-14 listing of MUP error A-14 MODIF A-61 MODIF error A-62 MODSF A-65 MODSF error A-66 monitor system library mainline programs A-59 MUP error A-13 printed during cold start 7-10 RJE A-33 RJE error A-28 RPG compiler A-38 SGJP error A-26 supervisor A.35 supervisor error A-36 system loader A-22 SYSUP update error A-37 messages printed during cold start 7-10 messages sent to RJE work stations 10-12 minimum system configuration 111 mnemonics, grouping of assembler 6-35 MODII' disk maintenance program 4-8 *MON patch control record 4-9 *SUB patch control record 4-12 / / DEND patch control record 4-13 adding su brou tines to the system library 4-12 disk maintenance programs 4-8 error messages A-62 example 4-14 messages A-61 patch control records 4-9 patch data records 4-11 modified EBCDIC code (see also name code format) A 6-bit code used internally by the monitor programs. In converting from EBCDIC to modified EBCDIC, the leftmost 2 bits are dropped. MODSF disk maintenance program 4-14 *END patch control record 4-19 *PRO patch control record 4-15 error messages A-66. example 4-20 messages A-65 MODSF patch control and data records 4-15 MODSF patch data records D-mode 4-19 P-mode 4-17 MON MODIF patch control record additional field information 4-11 description 4-9 format 4-10 monitor A synonym for the entire 1130 Disk Monitor System, Version 2, which is also known as the monitor system or the disk monitor. monitor control, tips on 6-1 monitor control record analyzer, disk-resident supervisor programs 3-3 monitor control records 5-1 / / *(comments) 5-9 / / ASM 5-5 / / CEND 5-11 / / COBOL 5-6 / / CPR NT 5-11 / / DUP 5-6 II EJECT 5-11 / / FOR 5-6 / / JOB 5-2 / / PAUS 5-10 / / RPG 5-6 / / TEND 5-10 / / TYP 5-10 / / XEQ 5-7 coding of 5-1 functions of 5-1 usage of EJECT 6-5 monitor mode, RJE 10-1 monitor program (see also monitor system programs) One of the following parts of the monitor system: supervisor (SUP), core image loader (CIL), core load builder (CLB), disk utility program (DUP), assembler (ASM), FORTRAN compiler (FOR), RPG compiler (RPG), or COBOL compiler. monitor system error wait codes B-1 logic flow of 3-15 using the 1130 with the 7-12 Index X-13 Monitor System, operating the 1130 Disk 7-1 monitor system control, functions of console operator keys during 7-13 monitor system error wait codes, appendix B B-1 monitor system initial load and system reload 8-1 monitor system library 4-1 monitor system library listing, appendix C C-l monitor system library mainline programs, messages A-59 monitor system operational and error messages, appendix A monitor system programs 3-1 assembler 3-5 core image loader 3-1 3 j:ore load builder 3-7 disk placement of 3-] disk utility program 3-4 FORTRAN compiler 3-6 RPG compiler 3-6 supervisor 3-2 monitor system sample programs, appendix H B-1 monitor system sector break cards, listing of 8-5 monitor usage, tips on 6-1 MUP error messages A-13 MUP error messages, listing of A-14 notes listing of RPG compiler error A-40 RPG compiler error, description A-38 null command, RJE 10-6 and 10 A-I name code format (NCF) 1-15 'l1ze format in which the names of subro~tines, entry points, labels, etc., are stored for use in the monitor programs. The name consists of 5 characters, terminal blanks are added if necessary to make 5 characters. Each character is in modified EBCDIC code, and the entire 30-bit representation is right-justified in two 16-bit words. The leftmost 2 bits are used for various purposes by the monitor. name data words The format in which constants and the names of variables and subprograms are stored for internallJse by the FORTRAN compiler. The first bit of each name data word is set to zero to indicate that the word contains a constant and i~' set to one of the word contains a *ame. In either case, the remainder of the word is packe(1 with the characters in modified EBCDIC code. NAME FORTRAN control record format 5-69 printing the program name on each printed page 5-69 nameN ISS subroutines 4-3 nameZ ISS subroutines 4-2 nameO ISS subroutines 4-2 namel ISS subroutines 4-2 naturally relocatable program 2-6 A program that can be executed from any core storage location without first being relocated. The only absolute addresses in such a program refer to parts of the resident monitor, which are fixed. NOCAL and LOCAL control record usage 6-10 NOCAL example 6-12 NOCAL supervisor control record format 5-14 specifying NOCAL subroutines 5-14 NOCALs, the use of 6-11 nonsystem cartridge 2-3 A cartridge that does not contain the monitor programs, although it does contain DCOM, LET, and working storage. A nonsystem cartridge can be used only as a satellite cartridge. eIB on a 2-13 cylinder 0 on a 2-12 description . 2-12 IBM system area on a 2-13 sector @DCOM on a 2-13 sector @IDAD on a 2-13 )(.·14 'Jbject program The output from either the assembler, or the FOR TRAN, RPG, or COBOL compiler. object program considerations, RPG 6-52 object program paper tape data record format, FORTRAN 6-49 one word integers FORTRAN control record format 5-68 specifying one word of core for integers 5-68 operating procedures analyzing disk cartridges 9-36 card system initial load 8-15 card system preload 8-25 card system reload 8-19 console printer core dump 9-2 copying disk cartridges 9-20 DCIP 9-9 disk compare 9-40 dumping disk cartridges 9-28 functions of flowchart blocks in 1-1 initializing disk cartridges 9-12 paper tape reproducing 9-42 paper tape system initial load 8-28 paper tape system reload 8-33 patching disk cartridges 9-32 preparation for DCIP 9-9 printer core dump program 9-5 PTUTL program 9-46 RJE 10-9 operating the 1130 Disk Monitor System 7-1 operator keys, console 7-13 Optical Mark Page Reader, readying the 1231 7-9 organization, disk 2-1 ORIGIN FORTRAN control record defining an absolute starting address 5-71 format 5-71 origin locations, used by the CLB during core load construction 3-9 origin of a core load assignment during core load construction 3-9 how assigned by assembler programmer 3-10 how assigned by FORTRAN programmer 3-10 output continuing RJE 10-7 discontinuing RJE 10-7 output to the RJE work station 10-6 overflow area, contents of the ISAM 6-34 overflow sectors, compu ting ISAM file 6-30 OVERFLOW SECTORS assembler control record format 5-61 specifying WS sectors for symbol table overflow 5-61 specifying WS sectors for macro overflow 5-61 overlays, subroutines included in SOCAL 3-12 overprinting how to avoid when linking between programs 6-5 how to avoid when using / / CPRNT 6-5 P-mode patch data record format 4-19 packing 2-11 The process of storing programs in the user area to the nearest disk block, thus reducing the average wasted disk space from 160 words per program to 10 disk words per program. This process of moving programs toward the beginning of the user area makes additional space available in working storage. padding Areas in the user 01' fixed area required to start core image programs and data files on a sector boundary. The length of the padding, which is reflected in LET or FLET by a 1DUMY entry, is from one to 15 disk blocks. page heading, how to specify 5-5 paper tape data record format, FORTRAN object program 6-49 paper tape formats 1-12 paper tape input, PTUTL 4-25 paper tape output, PTUTL 4-25 Paper Tape Punch, readying the 1055 7-7 paper tape reader, entering jobs from the 7-12 Paper Tape Reader, readying the 1134 7-6 paper tape reproducing program, stand-alone utility 9-42 paper tape subroutine errors B-9 paper tape system cold start procedure 7-11 paper tape system initial load materials needed for 8-28 operating procedure 8-28 organization of tapes for 8-29 paper tape system reload materials needed for 8-33 operating procedure 8-33 organization of tapes for 8-33 paper tape utility program (see PTUTL) patch control and data records MODIF 4-9 MODSF 4-15 patch control records MODIF 4-9 MODIF *MON 4-9 MODIF *SUB 4-12 MODIF / / DEND 4-13 MODSF 4-15 MODSF *END 4-19 MODSF *PRO 4-15 patch data records MODIF 4-11 MODIF binary 4-12 MODIF hexadecimal (hex) 4-11 MODSF 4-15 MODSF D-mode 4-19 MODSF P-mode 4-17 patching disk cartridges, operating procedure 9-32 PAUS monitor control record format 5-10 general function 5-10 phase identification control record (see also PHID control record) PHID control record (IBM-supplied system loader) format of first 8-3 format of second 8-4 physical drive number 1-2.3 Plotter, readying the 1627 7-8 postoperative error traps, skeleton supervisor 3-2 PRD print format 1-13 preload operating procedure, card system 8-25 preoperative error trap, skeleton supervisor 3-2 preoperative error waits, ISS subroutine B-2 prepa