C26 3717 1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968 1 1130 Disk Monitor System Version 2 Programming And Operators Guide 1968
C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968 C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968
User Manual: C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968
Open the PDF directly: View PDF .
Page Count: 169
Download | |
Open PDF In Browser | View PDF |
File Number 1130-36 Form C26-3717-1 Systems Reference Library IBM 1130 Disk Monitor System, Version 2, Programming and Operator's Guide Program Numbers 1130-0S-005 1130-0S-006 This manual contains the oper,ating and maintenance procedures for the mM 1130 Disk Monitor System, Version 2. An introductory section acquaints the user with the IBM 1130 System. A section on programming tips and techniques assists the user in utilizing the Monitor system. Monitor system control records are described in detail. An appendix contains all error messages generated by the system. PREFACE This publication provides the IBM 1130 System user with the information required to operate and maintain the IBM 1130 Disk Monitor programming system. It is recommended that the user familiarize himself with the terms contained in the Glossary at the back of this manual. It is important that these terms be understood in the context of the Monitor system. All hexadecimal addresses in this manual are shown in the form /XXXX. Symbolic addresses rather than absolute addresses are used throughout this manual. A table of equiva1ences is provided in Appendix H, Resident Monitor. $XXXX All symbolic labels whose first character is a dollar sign are found in the Resident Communications Area (COMMA) =#XXXX All symbolic labels whose first character is a poun<;i sign are found in the Disk Communications Area (DCOM). @XXXX All symbolic labels whose first character is a commercial at sign are considered to have absolute values, i. e; , @HDNG refers to the page heading sector (sector 7) and thus has a value of 7. MINIMUM SYSTEM CONFIGURATION The minimum system configuration required to operate the 1130 Disk Monitor system is as follows: • IBM 1131 Central Processing Unit, Model 2, with 4096 words of core storage,and one of the following input/output devices • IBM 1442 Card Read Punch, Model 6 or 7 • IBM 2501 Card Reader, in combination with an IBM 1442 Card Punch, Model 5, or an IBM 1442 Card Read Punch, Model 6 or 7 • IBM 1134 Paper Tape Reader in combination with an IBM 1055 Paper Tape Punch. PUBLICATIONS The following publications will assist the user in utiliz ing the Monitor system. IBM 1130 Functional Characteristics (Form A26-5881) IBM 1130 Computing System Input/Output Units (Form A26-5890) IBM 1130 Assembler Language (Form C26-5927) NOTE: The =# and @ characters are not included in the 1403 Printer or 1132 Printer character set; therefore, an equal sign (=) replaces the =# and an apostrophe (') replaces the @ in the printer listings. Second Edition This publication, C26-3717-1, is a major revision of C26-3717-0, which is now obsolete. The manual has been updated to correspond with modification 1 of the IBM 1130 Disk Monitor System, Version 2. A large number of changes and additions have been made to text and tabular material throughout the manual. Specifications contained herein are subject to change from time to time. Any such change will be reported in subsequent revisions or Technical Newsletter. Requests for copies of IBM publications should be made to your IBM representative or to the IBM branch office serving your locality. A form is provided at the back of this publication for reader's comments. If the form has been removed, comments may be addressed to IBM Nordic Laboratory, Technical Communications, Box 962, Lidingo 9, Sweden. © International Business Machines Corporation, 1967, 1968 IBM 1130/1800 Basic FORTRAN IV Language (Form C26-3715) IBM 1130 Subroutine Library (Form C26-5929) CONTENTS INTRODUCTION ••••••••••••••••••••••••••••••••• MONITOR SYSTEM LIBRARY. • • • • • • • • • • • • • • • • • • • • • • •• Adding and Removing Subroutines. • • • • • • • • • • • • • • • • • • • System Library Subroutines. • • • • • • • • • • • • • • • • • • • • • • • • •• Pre-operative Errors. • • • • • • • • • • • • • • • • • • • • • • • • • • •• 1442 Ca.rd Subroutine Errors ••••••••••••••••••••••• 2501 Card Subroutine Errors ••••••••••••••••••••••• Console Printer Subroutine Errors •••••••••••••••••••• Keyboard Subroutine Functions •••••••••••••• '. • • • • • •• Paper Tape Subroutines •••••••••••••••••••••••••• System Library Mainline Programs· • • • • • • • • • • • • • • • • • • • •• Disk Maintenance Programs • • • • • • • • • • • • • • • • • • • • • • • • System Maintenance Program (MODIF)' • • • • • • • • • • • • • • •• Paper Tape Utility (PTUTL) • • • • • • • • • • • • • • • • • • • • • • •• System Library Utility Subroutines ••••••••••••••••••••• 57 57 57 57 58 59 60 60 60 61 61 64 67 70 SYSTEM GENERATION AND SYSTEM RELOAD •• • • • • • • • • • •• Card System Pre-Load ••••••••••••••••••••••••••••• Initial Load (Card System). • • • • • • • • • • • • • • • • • • • • • • • • • • System Reload (Card System). • • • • • • • • • • • • • • • • • • • • • • •• Initial Load (Paper Tape System) •••••••••••••••••••••• System Reload (Paper Tape System) • • • • • • • • • • • • • • • • • • •• 73 73 74 77 79 81 COlD START (CARD AND PAPER TAPE SYSTEM) • • • • • • • • • •• 83 STAND-ALONE UTILITY PROGRAMS •• • • • • • • • • Console Printer Core Dump •••• • • • • • • • • • • • Printer Core Dump. • • • • • • • • • • • • • • • • • • • • Disk Cartridge Initialization Program (DCIP) • • • • Paper Tape Reproducing Program • • • • • • • • • • • Stand-Alone Paper Tape Utility Program (PTUTL) • • • • • • • •• • • • • • • • •• • • • • • • • •• ••••• ••" • • • • • • • •• ••••••••• 85 85 85 85 89 89 APPENDIX A. MONITOR SYSTEM ERROR AND OPERA nONAL MESSAGES. • • • • • • • • • • • • • • • • • • • • • • • • •• 91 1130 SYSTEM FAMILIARIZATION. • • • • • • • • • • • • • • • • • • • •• Readying the IBM 1130 Computing System • • • • • • • • • • • • •• Using the 1130 with the Monitor System ••••••••••••••• 3 3 8 DISK ORGANIZATION • • • • • • • • • • • • • • • • • • • • • • • • • • • •• System Cartridge. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• IBM System Area. • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• User Area ••••••••••••••••••••••••••••••••••• Working Storage Area. • • • • • • • • • • • • • • • • • • • • • • • • • •• Fixed Area. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Non-System Cartridge ••••••••••••••••••••••••••••• 11 12 12 14 15 15 15 MONITOR PROGRAMS •••••••••••••••••••••••••••• Supervisor •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Resident Monitor. • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Disk-Resident Supervisor Programs ••••••••••••••••••• Monitor Control Records • • • • • • • • • • • • • • • • • • • • • • • • •• 17 17 17 18 18 Supervisor Control Records •••••••••••••••••••••••• Supervisor Core Dump Program. • • • • • • • • • • • • • • • • • • • •• Disk Utility Program (DUP) •• • • • • • • • • • • • • • • • • • • • • • • •• General Flow ••••••••••••••••••••••••••••••••• Information Transfer and Fonnat Conversion ••••••••••••• Altering LET/FLET ••••••••••••••••••••••••••••• DUP Control Records • • • • • • • • • • • • • • • • • • • • • • • • • • •• Assembler • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Card Operation • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Keyboard/Paper Tape Operation • • • • • • • • • • • • • • • • • • • •• Origins of Mainlines. • • • • • • • • • • • • • • • • • • • • • • • • • • •• Assembler Control Records •••••••••••••••••••••••• FORTRAN Compiler •••••••••••••••••••••••••••••• lIb Records Read During the Execution of a FORTRAN Program ••••••••••••••••••••••••••••••••••• FORTRAN Control Records •••••••••••••••••••••••• Core Load Builder • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Core Load Construction •••••••••••••••••••••••••• Transfer Vector •••••••••••••••••••••••••••••••• System Overlays • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• LOCAL/SOCAL Flipper ••••••••••••••••••••••••••• Core Image Loader ••••••••••••••••••••••••••••••• Fetching the Supervisor •••••••••••••••••••••••••• F etching a Lillk ••••••••••••••••••••••••••••••• 22 24 26 26 26 26 26 35 35 36 36 36 40 PROGRAMMING TIPS AND TECHNIQUES •••••••••••••••• Using the Disk I/O Subroutines ••••••••••••••••••••• The Use of SOCALs • • • • • • • • • • • • • • • • • • • • • • • • • • • •• Tips on Monitor Control. • • • • • • • • • • • • • • • • • • • • • • • • •• Maximum Performance of High Speed Devices. • • • • • • • • • •• Tips for Assembler Language Users ••••••• • • • • • • • • • • •• Writing ISS and ILS •••• • • • • • • • • • • • • • • • • • • • • • • • •• Reading a Core Map and a File Map • • • • • • • • • • • • • • • • •• Locating FORTRAN Allocation Addresses • • • • • • • • • • • • • •• Initializing $$$$$ Data Files for Use With FORTRAN Unformatted I/O •••••••••••••••••••••••••••• Use of Defined Files •••••••••••••••••••••••••••• Duplicate Program and Data File Names ••••••••••••••• Mainline Programs that Use All of Core •••••••••••••••• 49 49 49 49 50 51 51 53 54 APPENDIX G. LET/FLET. • • • • • • • • • • • • • • • • • • • • • • • • • •• 123 54 54 55 55 APPENDIX K. BASIC DIFFERENCES BETWEEN 1130 DISK MONITOR SYSTEM, VERSION 1 AND 2 • • • • • • •• 151 40 40 44 44 46 46 46 47 47 47 APPENDIX B. CHARACTER CODE CHART. • • • • • • • • • • • • •• 105 APPENDIX C. FORMATS........................... 109 APPENDIX D. DISK STORAGE UNIT CONVERSION FACTORS ••• 115 APPENDIX E. DECIMAL AND HEXADECIMAL DISK ADDRESSES • 117 APPENDIX F. MONITOR SYSTEM LIBRARY USTING • • • • • • • •• 119 APPENDIX H. RESIDENT MONITOR (INCLUDING TABLE OF EQUIVALENCES) • • • • • • • • • • • • • • • • • • • • • •• 127 APPENDIX I. APPENDIX SYSTEM LOCATION EQUIVALENCE TABLE (SLET) •••••••••••••••••••••••••••••• 143 J. MONITOR SYSTEM SAMPLE PROGRAMS ••••••• 145 GLOSSARY ••••••••••••••••••••••••••••••••••••'. 153 iii INTRODUCTION The 1130 Disk Monitor System provides for the continuous operation of the 1130 Computing System, with minimal set-up time and operator intervention, in a stacked job environment. The Monitor system consists of seven distinct but interdependent elements -- Supervisor, Disk utility Program, Assembler, FORTRAN Compiler, Core Load Builder, Core Image Loader, and System Library. The Supervisor performs control functions for the Monitor system and provides the linkage between user programs and Monitor programs. The Disk Utility Program (DUP) is a group of IBMsupplied programs that performs operations involving the disk such as storing, moving, deleting, and dumping data and/or programs. The Assembler converts source programs written in Assembler language into machine-language object programs. The FORTRAN Compiler translates source programs written in 1130 Basic FORTRAN IV language into machine-language object programs. The Core Load Builder constructs core image programs from mainline object programs. The mainline programs and all necessary subprograms are converted into Disk Core Image format from Disk System format, and the resultant core load is built for immediate execution or for storing for future execution. The Core Image Loader serves as both a loader for core loads and as an interface for the Monitor programs. The System Library is a group of disk-resident programs that perform I/O, data conversion, arithmetic, disk initialization, and maintenance functions. Introduction 1130 SYSTEM FAMILIARIZATION The operating procedures for l.'eadying the system I/O units are described below. Following these procedures are instructions to the operator on the various ways of actually getting data in and out of the system and how these methods are utilized by the 1130 Disk Monitor Programming System. READYING THE IBM 1130 COMPUTING SYSTEM This section describes the basic operator actions required to ready the IBM 1130 Computing System for operation. The paragraphs on readying the I/O units should be sufficient to allow the operator to prepare the units for selection by the system. Where necessary, illustrations have been provided to supplement the text. Additional information regarding 1130 system and unit displays and operator functions can be found in the following publications. IBM 1130 Functional Characteristics (Form A265881) IBM 1130 Input/Output Units (Form A26-5890) IBM 2501 Card Reader, Models A1 and A2 - Component Description and Operating Procedures (Form A26-5892) IBM Disk Pack Handling and Operator Procedures (Form A26-5756) 3. Lift up on the left and right platen pin feed pressure plates. 4. Set the paper release lever in the forWard position. This lever is located on the top right rear comer of the Console Printer. If the paper is to be pin fed, this lever should remain in this position. 5. Feed the paper in from the rear and guide it under the platen. Make sure that the paper lies over and closes the forms check microswitch. This will turn off the FORMS CHECK light on the console operator panel. 6. Lay the paper back across the top of the Console Printer and guide the paper so that the holes line up with the pin feeds. 7. Close the pin feed pressure plates. 8. Looking directly down into the Console Printer, set the left and right margins. The margin settings can be read on the scale across the front of the unit. 9. Close the top cover. 10. Press CARRIER RETURN. The Console Printer is now ready to be selected. To ready the single disk storage drive, perform the following steps. 1. 2. 3. 1131 Central Processing Unit Most operator action will occur at the console of the 1130 system. This console, as well as three I/O devices -- the Keyboard/Console Printer, the console entry switches, and a single disk storage drive -- are all located in or on the 1131 CPU. 4. System Power On. When the 1131 POWER switch is turned on, the following console operator panel lights will be on: DISK UNLOCK (no cartridge in single disk storage drive) and FORMS CHECK (if there is no paper in the Console Printer). If any other operator panel lights are on, press the RESE T key. To ready the Console Printer, perform the following steps: 6. 1. 2. Open the Console Printer top cover. Pull the paper pressure rod forward (the rod with three rubber rollers that leans against the platen). If the paper is to be pin fed, this rod should remain in this position. 5. Open the single disk storage access cover located at the front of the 1131 (to the right of the console). The cover swings open to the right. Grasp the handle of the access release mechanism and pullout and down. Pick up the cartridge and, holding the cartridge with the IBM name towards you and on the left, insert the cartridge into the slot. When the cartridge is seated, raise the access release handle to lock the cartridge into place. Turn the DISK switch (leftmost switch on the panel beneath the cartridge enclosure) to the ON position. As the disk starts to turn, the DISK UNLOCK light on the console operator panel will go out. Close the access cover. When the drive comes up to speed (approximately 90 seconds), the DISK READY indicator on the console operator panel will tum on. The single disk storage drive is now ready to be selected. 1442 Model 6 and 7 Card Read Punch Ready Procedure Pre-conditions. POWER ON light on, CHECK light off, CHIP BOX light off, stacker not full, and covers closed. When the system is first powered up, it is good practice to press the NPRO key to ensure that no cards are in the feed path. 1130 System Familiarization 3 Readying the Card Read Punch. When all pre-conditions are met, place the cards to be processed in the hopper, face down, 9-edge first, and press reader START. When the first card is positioned at the read station, the READY light will turn on. The card. read punch is now ready to be selected. Position a tape without a leader (or when starting in the middle of a tape) so that the first character position to be read is one position to the right of the read starwheels. Lower the lever on the read head, thus bringing the read starwheels in contact with the tape. Wind the leader on the take-up reel and let down the tape tension arms. 1442 Model 5 Card Punch Ready Procedure Pre-conditions. POWER ON light on, CHECK light off, and ATTENTION light off. When the system is first powered up, the HOPPER check light is lit. Press NPRO to turn this light off. This action ensures the card path is clear. Read Head Readying the Card Punch. When all pre-conditions are met, place blank cards in the hopper, face down, 9-edge first, and press punch START. Two card. feed cycles are taken and the first card is registered at the punch station. When the punch READY light turns on, the card punch is ready to be selected. Take-up Reel Supply Reel Tape Tension Arms 2501 Card Reader Ready Procedure Pre-conditions. POWER ON light on, READ CHECK light off, FEED CHECK light off, and ATTENTION light off. When the system is first powered up, the FEED CHECK light is lit. Press NPRO to turn this light off. This action ensures that the card path is clear. Readying the Card Reader. When all pre-conditions are met, place the cards to be processed in the hopper, face down, 9-edge first, and press reader START. When the first card is positioned at the pre-read station, the READY light will turn on. The card reader is now ready to be selected. The paper tape reader is now ready to be selected. 1055 Paper Tape Punch Ready Procedure Pre-conditions. System power on. Readying the Paper Tape Punch. 1. 1134 Paper Tape Reader Ready Procedure 2. Pre-conditions. System power on. Readying the Paper Tape Reader. Raise the lever located at the top right side of the read head (see illustration below). Load the reel containing the program tape on the right hand drive and lock the reel in place. The tape must be loaded so that the threehole side is nearest the operator. With both tension arms in the up position, feed the tape across the read head and position the tape on the drive sprocket. Position a program tape so that a delete code (all punches) beyond the program ID punched in the leader is under the read starwheels. 4 3. 4. 5. 6. Place a reel of tape in the supply pan so that the tape feeds out toward the punch die (see illustration below). With the punch die facing forward (unit name plate at the front), pivot the tape pressure lever (right side of die) up and to the right. Feed the tape from the supply pan over the first tape guide, under the tape tension lever, and slide the tape in under the punch die, tear guide, and tape pressure lever. If the punch has a take-up reel, guide the tape over the side of the unit, over the outside of the side guide, and back up towards the front of the unit. The tape now makes a half turn towards the outside and comes up and over the end guide. The tape is then brought up and over to the left and wound over the top of the take-up reel. Use a rocking motion to feed the paper under the platen (if necessary raise the paper tension control guide located in the center of the tractor). 7. When the paper appears in front of the platen, grasp it firmly and pull it up so that it lies evenly across the tractor. 8. Place the holes in the paper on the left and right tractor pins and close the tractor pressure plates. 9. Reinsert the outfold guide bar. 10. Using the knob at the right end of the carriage, feed the paper until a crease between two sheets appears just above the print wheels. 6. Supply Pan To load the carriage control tape into the printer: 1. 2. 3. 4. Take-up Reel Raise the carriage cover directly above the platen clutch knob. Raise the brush holder by pulling the lever on the right side towards you. Insert a carriage control tape (channel one to the left) and close the brush holder. Close the carriage cover. Tear Guide Form Stop Bar Tractor Assembly After the tape is loaded, a leader (all delete codes) may be made by first pressing and holding the DELETE key. Now press the FEED key and hold until a leader of sufficient length has been punched. Release the FEED key ~releasing the DELETE key. The paper tape punch is now ready to be selected. Paper Tension Control Guide 1132 Printer Ready Procedure Pre-conditions. POWER ON light on and MOTOR switch on. The FORMS CHECK light will be on if there are no forms in the printer. Readying the 1132 printer. To load the forms into the printer: 1. 2. 3. 4. 5. Raise the top cover and disengage the PLATEN CLUTCH (set it to OUT). This knob is located on the right side of the print carriage (see illustration below). Turn the outside knob on the right end of the carriage to ensure that the carriage Is free. Remove the spring loaded outfold guide bar (the bar across the bottom front of the forms tractor, directly behind the print wheels). Open the left and right tractor pressure plates. Now feed the forms from the rear of the printer under the form stop bar (three levers) and down under the tractor. Holder Release Platen Knob 1132 Carriage Fami liarization Press the CARRIAGE RESTORE key on the 1132 operator's panel. Engage the platen clutch (set to IN) and close the printer top cover. Press printer START. When the READY light comes on, the 1132 printer is ready to be selected. 1130 System Familiarization 5 1403 Printer Ready Procedure Carriage Tape Pre-conditions. System power on. The END OF FORMS light will be on if there are no forms in the printer. Carriage Brush • Holder Release Readying the 1403 Printer. To load the forms into the printer: 1. 2. 3. 4. 5. 6. 7. Paper Advance Raise the printer cover and set the feed clutch selector knob to neutral. This knob is located on the right side of the print unit (see illustration below). Unlock the print unit by pulling back on the release lever located on the left side of the unit. The print unit will swing out to the right. Open the upper and lower left and right tractor guides. Lift the forms up from their position below the front of the printer and lay them back across the arched rack at the top of the printer. Line up the holes in the paper with the tractor pins and close all four tractor guides. Close the print unit and lock the print unit release level. The ribbon drive will activate when the print unit is closed. Using the PAPER ADVANCE knob located at the right end of the print mit, advance the paper until a crease between two forms is about 1/2 inch above the print position indicator bar on the print unit. Print Unit Feed Clutch Selector Knob Upper and Lower Tractor Guides Print Unit FRON:U Forms In Rollers To load the carriage control tape in the printer: 1. 2. 3. 4. Raise the carriage brush holder by pulling down on the lever on the right side. The carriage brush holder is located to the right and slightly above the print unit (see illustration). Insert the carriage tape (channel one to the left) and close the brush holder. Set the feed clutch selector knob to 6 or 8 lines per inch, whichever is desired. Close the printer cover. Press CHECK RESET and printer START on the operator panel. When the PRINT READYlight comes on, the 1403 printer is ready. Set the ENABLE/ DISABLE switch on the 1133 to the ENABLE position (READY light on). The 1403 Printer is now ready to be selected. 2310 Disk Storage Ready Procedures Press the CARRIAGE RESTORE key on the 1403 operator's panel. Continue to restore until sufficient paper has fed over the top arch to extend down the back of the printer. Open the rear cover of the printer and ensure that this paper has fed down between the forms stacker guide and the printer. If the paper has fed properly, the rollers on the forms stacker guide will keep a constant downward pull on the paper. Close the back cover. 6 Pre-condition. System power on, CARTRIDGE UNLOCKED lights on the 2310 operator's panel on. Readying the 2310 Disk Storage Drive. 1. 2. Open the front door of the disk drive. Grasp the handle of the access release mechanism of the drive to be loaded (drive 1 or 3 on top, 2 or 4 on the bottom) and pull out and down. 3. 4. Pick up the cartridge and, holding the cartridge with the IBM name towards you and on the left, insert the cartridge into the slot. When the cartridge is seated, raise the access release handle to lock the cartridge into place. If desired, load the other drive on the 2310 disk storage unit. Close the front door of the disk storage unit. Turn on the START/STOP switch for the desired drives. The CARTRIDGE UNLOCKED lights will go out when the drives start to turn. When the drives come up to speed (approximately 90 seconds), the indicators showing the drive numbers wi1llight, thus showing that the heads are loaded and the drives are ready. When the drives are required by the system, set the ENABLE/DISABLE switches on the 2310 disk storage drives and on the 1133 to the ENABLE position (1133 READY light on). The 2310 disk storage drives are now ready to be selected. 7. 8. 9. Pull a short length of paper off the roll, slide the end under the carriage rods, under the tear bar, behind the core, and fasten it to the front side of the core with two or three short pieces of cellophane tape. Wind one or two turns of paper onto the core. Make certain the drum sprockets are properly meshed with the sprocket holes on both sides of the paper. Reinstall the pen assembly in the carriage. Tum the 1627 power switch to ON. The 1627 power on indicator will come on. NOTE = The pen is down when the power is off; therefore, the pen assembly should be installed with the carriage over an area outside the "recording area". If the pen does not raise when power is turned on, tum the pen switch to DOWN, then to UP. » Supply Roll 1627 Plotter Ready Procedure Pre-conditions. System power on. Readying the 1627 Plotter. Load the chart paper using the following procedure. 1. 2. Ensure the 1627 Power switch is OFF (1627 power on indicator lamp out). Remove the pen assembly, if installed, by loosening the knurled knob at the bottom of the pen holder and lifting the assembly out of the carriage. Tear Bar Take-up Roll With the pen in the UP poSition, use the drum (x axis) and carriage (Y axiS) controls to position the pen for the first plot. The 1627 plotter is now ready to be selected. Caution Use care when handling the pen assembly. This assembly is manufactured to close tolerances for optimum performance. 3. 4. 5. 6. Rotate the right rear chart spool by hand until the drive key is pointing upward. Hold the new roll of chart paper so that the key slot in the core is pointing upward. Place the roll against the spring-loaded left rear idler spool and force the spool to the left. Lower the paper roll into the paper well and slide the right end onto the drive spool. Make certain the drive key engages the key slot in the core. The paper should feed out from under the roll and over the drum (see illustration). Install a paper roll core on the front spool below the drum, in the same manner as with the paper roll. 1231 Optical Mark Page Reader Ready Procedure Pre-conditions. System power on, RESET light on, and READ light off. SYSTEM STOP light on if the CPU is stopped. Readying the Optical Mark Page Reader. Place the data sheets in the hopper with the side to be read facing up and the top edge positioned to feed first. Set the FEED MODE switch to ON-DEMAND. The settings of the other selector switches on the operator console are dependent on the data being read. Press PROGRAM LOAD on the 1231 operator's console. This action clears the delay line and conditions the machine for program loading. The PROGRAM LOAD light turns on. Press 1231 RESET. This causes the hopper to raise to the ready position. The RESET light turns off and the 1231 START light turns on. Press 1130 System Familiar~ation 7 1231 START. The first data sheet in the hopper is fed through the 1231, loading the delay line. The first data sheet is now in the stacker. The PROGRAM LOAD light turns off. Press 1231 START. The 1231 START light turns off. With all lights off on the 1231 operator's console (the SYSTEM STOP light may be on), the 1231 optical mark page reader is ready to be selected. To display the contents of the address: 1. 2. Set the console Mode switch to DISPLAY. Press PROGRAM START. USING THE IBM 1130 WITH THE MONITOR SYSTEM The contents of the selected location is displayed in the Storage Buffer Register. Successive pressing of the PROGRAM START key will display consecutive core locations. To alter the contents of the address: When all I/O units required for a job are on-line and in a ready condition, the user may proceed as follows. I. 2. Set the new data word in the console entry switches. Press PROGRAM START. To return to system operation: Loading a Program from Card or Paper Tape On the console: 1. 2. 3. 4. 5. Press IMM STOP (press PROGRAM STOP if the Monitor system is running) • Press RESET. Check that the console Mode swit ch is set to RUN mode. With the reader wired for IPL in a ready state, press PROGRAM WAD (if the system has a 2501 and a 1442-6 or -7, ensure that the 1442 is not ready). The first record (usually a loader) is read into core starting at location zero. Instructions on this record tell the system what operation is to be performed next, usually the loading of more records from the input device. When a card reader goes not ready, press reader START to read in the last card and pass control to the loaded program. This action is not required with paper tape input. Altering or Displaying the Contents of a Selected Core Location Using the Console Entry Switches 1. 2. 3. 8 With the system stopped, set the console Mode switch to LOAD. Set the console entry switches to the desired fourcharacter hexadecimal core addr:. sSG Switches 0-3 constitute the first hexadecimal character, 4-7 the second, etc. Press LOAD IAR (the selected address is displayed in the IAR). 1. 2. Set the console Mode switch to RUN. Press PROGRAM START. NOTE: At a Monitor system WAIT, the address of instruction causing the WAIT is at the address displayed in the IAR minus 1. Reading the Console Entry Switches Under User Program Control The setting of the console entry switches can be read by an XIO read instruction at any time during the execution of a user-written stored program. The device code of the instruction is set to 00111. Entering Programs from the Keyboard Under Monitor System Control A single Monitor control record or an entire program including all required control records and data records can be entered from the 1130 Keyboard using the Monitor System. Control is passed to the Keyboard when a / / TYP Monitor control record is read from the prinCipal input device. Control is returned to the principal input device when a / / TEND or / / JOB record is entered from the keyboard. Keyboard Operation When the / / TYF Monitor control record is read, the Console Printer performs a carrier return and the KB SELECT light on the Keyboard operator's panel turns on. The system is now ready to accept input from the Keyboard. Enter all control records in the correct format. Use the space bar for blanks. The records are printed on the Console Printer as they are entered. Press EOF to end each record. An NL (new line) character is entered, the carrier is restored to a new line, and the keyboard is reselected. This sequence of events continues until a / / TEND or / / JOB record is entered. Pressing EOF then returns control to the principal input device. Up to 80 characters can be entered in each record. If an error is made when entering a record from the Keyboard, the user can elect to backspace and correct the entry or re-enter the entire record. Backspace. When the backspace key (-) is pressed, the last graphic character entered is slashed and the address of the next character to be read is decremented by +1. If the backspace key is pressed twice consecutively, the character address is decremented by +2, but only the last graphic character is slashed. For example, assume that *DELET has been entered and the backspace key is pressed three times. The next graphic character replaces the L, but only the T is slashed. If the characters FINE are used for replacement, the paper would show *DELEtFINE, but *DEFINE would be stored in the buffer. Re-entry. When the ERASE FIEID key is pressed, a character interrupt signals the interrupt response subroutine that the previously-entered Keyboard record is in error and is to be re-entered. The subroutine prints two slashes on the Console Printer, restores the carrier to a new line, and prepares to replace the old record in the I/O area with the new record. The new record overlays the previous record, character by character. Blanks are placed in the buffer following the NL character which terminated the new record. Console Functions While Under Monitor System Control PROGRAM STOP Key. Pressing this key causes a level 5 interrupt and an entry to the PROGRAM STOP key trap providing there are no user-written device subroutines associated with level 5 currently in core. The trap consists of a WAIT and a branch. When the PROGRAM START key is pressed, the interrupt level is turned off and execution resumes following the point of the level 5 interrupt. The PROGRAM STOP key trap allows the user to stop the entire 1130 system with the ability to continue execution without disturbing the system status or the contents of core storage. If a higher interrupt level is being serviced when the PROGRAM STOP key is pressed, the PROGRAM STOP key interrupt is masked until the current operation is completed. INT REQ. Pressing the Interrupt Request key causes the current job to be aborted. Control is returned to the Supervisor, which then searches for the next JOB record in the input stream. IMM STOP. Do not press IMM STOP when running under Monitor system control. The contents of a system cartridge can be destroyed, necessitatmg a regeneration of the system. Manual Dump of the Monitor System If a problem occurs during the execution of a core load and the user desires to dump core storage, the dump entry point in the Skeleton Supervisor can be entered by a manually executed transfer to the dump entry entry point plus one (location $DUMP+l). A dump of the entire contents of core storage is given in hexadecimal and the dump program (see Supervisor Core Dump Program) executes a CALL EXIT thereby terminating the execution of the core load in progress. If the dump was necessitated by the introduction of b&tl data in a Monitor system program, the system may loop rather than perform the dump. If this occurs when DISKZ is in use, the user must manually clear$IOCT and $DBSY before reinitiating the dump. 1130 System F amili arization 9 DISK ORGANIZATION Before describing the contents of a Monitor system and non-system cartridge, it is necessary to briefly describe the steps to initialize the cartridges for use on the system. • When the Monitor system is loaded by the System Loader onto a disk cartridge that has been initialized by the Disk Cartridge Initialization Program (DCIP), that cartridge becomes a system cartridge. • Placement of a system cartridge on any physical drive readies the system for the user-initiated cold start procedure. The cold start establishes the phYSical drive on which the system cartridge has been placed as logical drive 0, which is, by definition, the system drive. The system cartridge on logical drive 0 is then called the master cartridge. • The other cartridges on the system (also initialized by DCIP) are called non-system cartridges. If desired, the I BM system can then be loaded on any of these cartridges, thus making them system cartridges. However, once a cold start has been performed and a master cartridge established, all other cartridges, system or non-system, are called satellite cartridges, The organization of programs and areas on system and non-system cartridges is described and illustrated below. The copy ID (updated by DCIP or COPY) gives the user the ability to identify any given copy of a system or nonsystem cartridge. Each time a copy is made, word 5 (initially 1) is incremented by one, i. e., word 5 of the copy is always one greater than the source. The reserved area of sector @IDAD is used by the System Loader when the IBM System is loaded on the cartridge (see Figure 2). Following initialization by DCIP (or DISC), an error message and the program that causes it to print are stored in sector @IDAD. The error message -- NONSYST. CART. ERROR -- is printed if an attempt is made to cold start a cartridge that is not a system cartridge. This message and the program that prints it are overlaid by the Cold Start program when the Monitor system is loaded on the cartridge. r. Cartridge 10 .-Copy Code Error Message and Error Message Program Defective Cf~~~er J Words: Reserved J 1 2 3 4 5 6 270 271 320 Figure 1. Contents of Sector @>IDAD after Initialization by OCIP or DISC Sector @IDAD of any Cartridge This sector, illustrated in Figure 1, contains the defective cylinder table, the cartridge ID, the cartridge copy code, a reserved area, and an Error Message program. The defective cylinder table contains the addresses of the first sector on any cylinders on the cartridge that are not capable of accurately storing data. The Monitor system can be operated from a cartridge with up to 3 defective cylinders. The cartridge ID is a hexadecimal number in the range /0001 - /7FFF that Wliquely identifies the cartridge. r; Cartridge 10 y-Copy Code Defective Cylinder Table I Words: DISKZ (this copy of OISKZ is used only during the cold Cold Start start procedure). Program I 1 2 3 Figure 2. Reserved 4 5 6 30 31 270 271 320 Contents of Sector @>IDAD after the IBM System is on Disk Disk Organization 11 SYSTEM CARTRIDGE The system cartridge is divided into three logical areas, which are illustrated in Figure 3. These areas are the IBM System Area, the User Area, and the Working Storage. In addition, the user may define a Fixed Area on disk for the purpose of storing programs and/or data files into permanent locations so they may be referenced by sector address. IBM SYSTEM AREA During system generation, the IBM system decks are loaded on disk by the System Loader. The disk areas occupied by the IBM-supplied Monitor programs, and the disk areas reserved for the use of these programs, are collectively known as the IBM System Area. The contents of the IBM System Area are listed below. Cylinder 0 The contents of sector @IDAD have already been described (see Figure 2). Sector @DCOM contains the Disk Communications Area, which is described below (see DCOM). Sector @RIAD contains the Resident Image. The Resident Image is a copy of the Resident Monitor without a disk I/O subroutine, that is, it is a reflection of COMMA and the Skeleton Supervisor (see Resident Monitor in the section Supervisor). The Resident Image is used to initialize the Resic1ent Monitor during a cold start. -------...... ---2 5 Figure 3. 12 Layout of a System Cartridge DCOM The Disk Communications area, located in sector @DCOM of a system cartridge, contains the parameters that must be passed from one Monitor program to another and that must be accessed through disk storage (as opposed to core storage). Generally speaking, parameters that are not required when fetching a link stored in Disk Core Image format are found in DCOM. A listing of DCOM is provided in Appendix H, Resident Monitor. DCOM is divided into two parts. The first part of DCOM contains the parameters that are not related to all the disk cartridges, for example, the core map switch. The second part of DCOM contains the cartridge-related parameters: cartridge ID, LE T address, file protect address, etc. Each of the System Device Subroutines,DISKZ, DISKI,DISKN ----6 7 Can be deleted from the system by the user 2. Present only if a Fixed Area is defined for this cartridge by the user 3. Optionally defined by the user ". fW:Jy not be deleted by the user from a system cartridge. S. Initially contains only the System Library; user-written programs may be added 1. The System Location Equivalence Table (SLET) resides on sectors @SLET and @SLET+1. SLET is composed of an identification number, core loading address, word count, and sector address for every phase of every Monitor program. Sector 5 is reserved. Sector @RTBL contains the Reload Table, which is used by the System Loader during a program reload and by the Disk Utility Program (DUP) when deleting the Assembler or FORTRAN Compiler. The Reload Table is established during system generation when the System Loader reads the Type 81 System Loader control card. Sector @HDNG is used to store the page heading that appears at the top of each page printed by a Monitor program. Symbol Sector @IDAD 0 @DCOM I @RIAD @ SLET 2 3 @ RTBL 6 @HDNG 7 parameters in the second part is in the form of a fiveword table, one word for the corresponding value for each of the five possible cartridges. The five words of each table, known as a quintuple, are arranged in the order of logical drive numbers; that is, the first is for logical drive 0, the second for logical drive 1, etc. The parameters for the non-system cartridges are obtained from the DCOM areas of 1hosecartridges and stored in the DCOM on the system cartridge 1hrough the use of a merge operation. For example, the file protect address quintuple on the master DCOM is composed of the file protect address from each of the other four logical drives, plus its own file protect address. The subroutine for performing the DCOM merge operation is called SYSUP and mu~t be called by the user for the purpose of updating the DCOM parameters if cartridges are changed during a job (see SYSUP in the section System Utility Subroutines). A similar subroutine is an integral part of the Monitor Control Record Analyzer and is executed during JOB processing. During the processing of a JOB record, the DCOMs of only those cartridges listed on the JOB record are merged into the master DCOM. The parameter tables for the other drives are cleared to zero. DCOM Indicator Words In the following paragraphs, "set" means that a value is stored in the word in question; "reset" means that it is cleared to zero. Working Storage Indicator Word. DCOM contains a Working Storage Indicator word for each cartridge on the system. The Working Storage Indicator word for a cartridge contains the disk block count of any DSF program, DCI program, or Data File currently in Working Storage on that cartridge. The Working Storage Indicator word for a cartridge is set (1) at the completion of a DUP operation in which information is transferred to Working Storage and (2) at the completion of any assembly or successful compilation, at which time the Assembler or FORTRAN Compiler places the assembled/compiled object program in Working Storage. The Working Storage Indicator word for a specific cartridge is reset 1) following any STORE operation to the User Area on that cartridge and 2) following the building of a core load that requires LOCALs and/or SOCALs. Because the User Area is increased at the expense of Working Storage, it is assumed that any STORE operation to the User Area overlays a part of the Working Storage area with that which was stored. Therefore, the Working Storage Indicator word is reset. Format Indicator Word. DCOM contains a Format Indicator word for each cartridge on the system. The Format Indicator word for a cartridge indicates the format of any DSF program, DCI program, or Data File currently in Working Storage on that cartridge. The Format Indicator word for a cartridge is set and reset under the same conditions as the Working Storage Indicator word for the same cartridge. Temporary Mode Indicator Word. The Temporary Mode Indicator word in DCOM is set by the Supervisor when temporary mode is indicated by the user in the JOB record (see / / JOB under Monitor Control Records). Table 1 lists DUP operations and any restrictions that apply when in temporary mode. The temporary mode indicator is set/reset during JOB processing. Monitor System Disk Areas Following cylinder 0, the IBM System is loaded onto disk in the order shown in Figure 3. The individual programs are described in the section of this manual entitled Monitor Programs; the disk areas are described below. System Device Subroutine Area. The System Device Subroutine Area contains the following components. • The subroutines used by the Monitor programs to operate the following print devices. 1403 Printer 1132 Printer Console Printer Table 1. Restrictions on DUP Operations in Temporary Mode DUP Operations Restrictions DUMP None DUMPDATA None STORE None STORECI To UA only STOREDATA To UA and WS only STOREDATACI To UA only STOREMOD Not allowed DUMPLET None DUMPFLET None DWADR Not allowed DELETE Not allowed DEFINE FIXED AREA Not allowed DEFINE VOID ASSEMBLER Not allowed DEFINE VOID FORTRAN Not allowed Disk Organization 13 • The subroutines used by the Monitor programs to operate the following I/O devices. 2501 Card Reader/1442 Card Punch, model 5, 6, or 7 1442 Card Read Punch, model 6 or 7 1134/1055 Paper Tape Reader/Punch Keyboard/Console Printer • The I/O character code conversion, subroutines used in conjunction with the I/O subroutine for the following devices. 2501 Card Reader/1442 Card Punch 1134/1055 Paper Tape Reader/Punch Keyboard/ Console 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 subroutines are located in this area rather than in the System Library because they are processed by the Core Load Builder differently than those stored in the System Library. DISKZ is stored twice on the disk, once in sector @IDAD with the Cold Start program, and once in the System Device Subroutine Area with DISK1 and DISKN·. Cold Start initializes with the DISKZ in sector @IDAD, in all other cases, DISKZ is fetched from the System Device Subroutine Area. Supervisor Control Record Area. The Supervisor Control Record Area (SCRA) is the area in which Supervisor control records (LOCAL, NOCAL, and FILES) are saved. These records are read from the input stream (following an XEQ or STORE CI control record) and are stored in the SCRA for subsequent processing by the Core Load Builder. Fixed Location Equivalence Table (FLET). This table 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 format • Each Data File stored in Disk Data format • The padding required to permit a DCI program or Data File to be stored on a sector boundary. Each cartridge on the system having a Fixed Area has a FLET. Regardless of the size of the Fixed Area (one cylinder is the minimum requirement), the FLET for a cartridge occupies the cylinder preceding the fixed Area (a minimum of 2 cylinders of Fixed Area may be initially defined. The first cylinder becomes FLET). The sector address of the first sector of FLET on a given cartridge may be obtained from the LET on the same cartridge. The last LET header contains this sector address. A FLET dump is illustrated in Appendix G. Core Image Buffer (CIB). The CIB is the area on disk in which the Core Load Builder builds any portion of a core load that is to reside below location 4096. It is also used by the Core Image Loader to save any COMMON defined below location 4096 during the transfer of control from one link to the next. Location Equivalence Table (LET). The LET on a cartridge is a directory to the contents of the User Area on that cartridge. There is one LET entry for: • Each entry point for each program stored in Disk System format • Each program stored in Disk Core Image format • Each Data File stored in Disk Data format • The padding required to permit a DCI program or Data File to be stored on a sector boundary. Each LET entry specifies the name of an entry point, DCI program, or Data File; its format; and its size in disk blocks. Each cartridge on the system has a LET. However, a cartridge has a User Area only if there is an entry in the LET on that cartridge other than a dummy entry (lDUMy). On a system cartridge, LET occupies the cylinder preceding the User Area. COMMA contains the sector address of the first sector of LET for each cartridge being used in a given job. A LET dump is illustrated in Appendix G. USER AREA Each FLET entry specifies the name of the DCI program or Data File, its format, and its size in disk blocks. 14 The User Area (UA) is the area in which the user can store programs in Disk System format or Disk Core Image format and/or Data Files in Disk Data format. The User Area is defined on any cartridge when the cartridge is initialized. However, its size is 0 sectors until the first DSF program, DCI program, or Data File is stored in the User Area on that cartridge. The User Area occupies as many sectors as are required to contain the DSF programs, DCI programs, and Data Files stored on that cartridge. When a DSF program, DCI program, or Data File is to be added to the User Area, it is stored at the start of Working Storage, that is, immediately following the end of the User Area. The area occupied by the new DSF program, DCI program, or Data File is then incorporated into the User Area, and Working Storage is decreased by the size of that area. DSF programs are stored in the User Area starting at the beginning of a disk block; DCI programs and Data Files are stored starting at the beginning of a sector. The User Area is packed when a DSF program, DCI program, or Data File is deleted from the User Area; that is, the DSF programs, DCI programs, and/or Data Files in the User Area are moved so as to occupy the vacancy (the area formerly occupied by the deleted DSF program, DCI program, or Data File). In 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 in the vacancy. All following DSF programs, DCI programs, and Data Files are Similarly packed. The area gained by packing the User Area is returned to Working Storage. WORKING STORAGE AREA Working Storage (WS) is that area on all cartridges that is not defined as the User/Fixed Area and, on a system cartridge, as the IBM System Area. Working Storage is available to Monitor and user programs alike as temporary disk storage. It extends from the sector boundary immediately following the User Area to the end of the cartridge (cylinder 199). FIXED AREA The Fixed Area (FX) is 'the area in which the user may store programs in Disk Core Image format and/or Data Files in Disk Data format if it is desired that these programs and Data Files always occupy the same sectors. The Fixed Area is optionally defined on any . cartridge by the use of the DUP operation, DEFINE FIXED AREA. This operation is also used to increase or decrease the size of the Fixed Area. When a DCI program or Data File is stored in the Fixed Area, it is stored starting at the beginning of a sector. When a DCI program or Data File is deleted from the Fixed Area, no packing of the Fixed Area occurs. Hence, DCI programs and Data Files in this area reside at fixed sector addresses and can be referenced as such by the user. NON-SYSTEM CARTRIDGE Figure 4 shows the layout of a non-system cartridge, a cartridge that contains no Monitor programs. Such a cartridge on multi-drive 1130 systems can be used exclusively for the storage of data and/or programs and is called a satellite cartridge. Except for cylinder 0, which is described below, the definitions of the ~ present on a non-system cartridge are the same as those previously described for a system cartridge. Cylinder 0 Sector raIDAD of cylinder 0 on a non-system cartridge contains the parameters established by DCIP or DISC (see Sector @lDAD of any Cartridge). Note however that the Error Message program has not been overlaid since this is not a system cartridgeo An attempt to cold start a non-system cartridge will cause the error message to be printed on the Console Printer. Sector @DCOM of cylinder 0 contains only that information from DCOM applicable to this non-system cartridge (see DCOM). The location equivalence table (LET) for the cartridge (see Location Equivalence Table), occupies the remaining six sectors of cylinder O. ! CyJ. 0 I I I I FLETl !Fixed l -_ -- I ~rea2! Ct~~rea I Workin~ Storage ---- --- __ Error Message Prog. I I DeOM LET o 1 2-7 IDand I - - __ I --I 1. Present only if a Fixed Area is defined for this cartridge by the user 2. Optionally defined by the user 3. May be deleted by the user. However, a CIB must be present on at least one of the cartridges on the system at any given time. Figure 4. Layout of a Non-System Cartridge Disk Organization 15 MONITOR PROGRAMS The Monitor programs: Supervisor, DUP, Assembler, FOR TRAN Compiler, Core Load Builder, and Core Image Loader reside in the IBM System Area on the master cartridge. The following paragraphs briefly describe these programs and the subprograms within them that are of most interest to the user. SUPERVISOR The Supervisor is actually a group of programs and areas which are responsible for the control functions of the Monitor system. The Supervisor reads control records included in the stacked job input, decodes them, and calls the appropriate Monitor program to perform the specified operation. The Supervisor initially achieves control of the Monitor system through the user-initiated cold start procedure (see Cold Start). A portion of the Supervisor is located in core storage. This portion is called the Resident Monitor. the link to be executed is in Disk System format, it will be necessary to call the Core Load Builder before transferring control to the core load itself. ) The use of the Core Image Loader as an intermediate supervisor allows the Monitor system to achieve efficient link-to-link transfer of control. The Skeleton Supervisor, which is interspersed with. COMMA, consists of the entry points and subroutines described below. LINK Entry Point. LINK is the entry point in the Skeleton Supervisor that accomplishes link-to-link transfer of control. EXIT Entry Point. EXIT is the entry point in the Skeleton Supervisor that accomplishes link-toSupervisor transfer of control. DUMP Entry Point. DUMP is the entry point in the Skeleton Supervisor that prints out the contents of core storage between specified limits. Dynamic dumps are obtained through the DUMP entry point; terminal dumps are obtained through the DUMP entry point plus 1. RESIDENT MONITOR The resident portion of the Monitor system consists of (1) a data area used for system parameters and for communication between Monitor programs (COMMA), (2) the Skeleton Supervisor, and (3) a disk I/O subroutine (either DISKZ, DISK1, or DISKN). Core Communications Area (COMMA) In general, COMMA consists of the parameters re- quired by the Core Image Loader to process a CALL LINK to a DCI program without referring to the Disk Communications area (DCOM). This information is interspersed with parts of the Skeleton Supervisor (see Appendix H, Resident Monitor). Skeleton Supervisor On any entry to the Resident Monitor (EXIT, LINK, or DUMP), the Skeleton Supervisor calls the Core Image Loader, which determines where the Skeleton Supervisor was entered and either calls the Supervisor if the entry was at EXIT or DUMP or fetches and transfers control to the core load specified in the CALL LINK statement if the entry was at LINK. (If ILS02 Subroutine. The ILS02 subroutine handles the servicing of interrupts on level 2. Only the disk devices on the system interrupt on level 2. Since the Skeleton Supervisor requires the disk, the ILS02 subroutine is a part of the Resident Monitor. ILS04 Subroutine. The ILS04 subroutine handles the servicing of interrupts on level 4. One of the devices that interrupt on level 4 is the Keyboard. Since the user may perform a console interrupt request at any time, the ILS04 subroutine is a part of the Resident Monitor. Preoperative Error Trap. The preoperative error trap is entered by all ISS subroutines when an error is detected before an operation has been initiated. The trap consists of a WAIT and a branch. When the PROGRAM START key is pressed, execution resumes at the location following the branch to this trap. Undel!' certain conditions, this trap is entered when no error has occurred, e. g., FORTRAN PAUSE. Postoperative Error Traps. One of the postoperative error traps (there is one for each interrupt level) is entered by all ISS subroutines when an error is detected after an operation has been initiated. Each trap consists of a WAIT and a branch. When the PROGRAM Monitor Programs 17 START key is pressed, control is returned to the ISS subroutine, which may then retry the operation in error. PROGRAM STOP Key Trap. The PROGRAM STOP key trap is entered if a level 5 interrupt occurs and there is no user-written device subroutine associated with level 5 currently in core. 'The trap consists of a WAIT and a branch. When the PROGRAM START key is pressed, the interrupt level is turned off and execution resumes following the point of the level 5 interrupt. This trap allows the user to stop the entire 1130 system with the ability to continue execution without disturbing the system status or the contents of core storage. If a higher interrupt level is being serviced when the PROGRAM STOP key is pressed, the PROGRAM STOP key interrupt is masked until the current operation is completed. any of the three disk I/O subroutines; however, only one clisk I/O subroutine may be referenced in a given core load. In this context "core load" includes column 19 of the XEQ record (the entry in column 19 of the XEQ record specifies the version of the disk I/O subroutine to be used by the core load during execution). DISK-RESIDENT SUPERVISOR PROGRAMS The programs described below are the disk-resident programs that constitute the Supervisor. One of these programs is fetched and given control by the Core Image Loader, depending upon the entry made in the Skeleton Supervisor; the Monitor Control Record Analyzer is called follOwing an EXIT entry, the DUMP program following. a DUMP entry. Monitor Control Record Analyzer Interrupt Request Key When the INT REQ key is pressed, all busy indicators are turned off anc;l a switch in COMMA is set to instruct the Supervisor to pass input records until a JOB record is encountered. Parts of the Monitor which should not be interrupted before completion, e. g., SYSUP, delay the interrupt request until they have completed their operation. Disk I/O Subroutine The disk I/O subroutine required by the program in control resides in core storage following the Skeleton Supervisor. The following table lists the disk I/O subroutines, their approximate sizes, and the corresponding addresses of the end of the Resident Monitor plus 1. End of Resident Monitor +1 (CQre Location) Subroutine (in Core) Decimal Hexadecimal 480 /01EO DISKZ 660 /0294 DISK1 930 /03A2 DISKN DISKZ is the disk I/O subroutine used by all system programs. DISKZ is initially loaded with the Resident Monitor. Prior to the execution of a core load requiring 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. User programs, including those written in FORTRAN language, may use 18 The Monitor Control Record Analyzer (1) reads a Monitor control record or Supervisor control record from the input stream, (2) prints the control record on the principal print device, and (3) fetches the required Monitor program and transfers control to it. Supervisor control records are stored on disk in the Supervisor Control Record Area. Supervisor Control Record Area. The Supervisor Control Record Area is the area on disk, within the IBM System Area, on which the FILES, LOCAL, and NOCAL control records are stored from the input stream. The Core Load Builder reads these records from this area on disk for analysis during the building of the core image program. MONITOR CONTROL RECORDS Monitor control records perform the load and control fWlCtions of the Monitor system. The individual control records are described in the paragraphs that follow. Where shown in the control record format, the character "b" indicates that the column must be blank. Remarks may be punched in the card columns listed as "not used" in the control record formats. // JOB The JOB control record defines the start of a new job. It causes the Supervisor to perform the job initialization procedure, which includes: • The initialization of COMMA • The initialization of the parameters in DCOM • The setting of the Temporary Mode Indicator if a T is present in column 8 of the JOB control record (reset if no T in column 8). If set, the temporary mode indicator causes all nSF programs, DCI programs, or Data files stored in the User Area by DUP during the current job to be deleted automatically from that area at the end of the job (that is, at the beginning of the next job). See DCOM for DUP restrictions while in the temporary mode. • The definition of the cartridges to be used during the current job. IDs 1 through 5 on the JOB control record specify the cartridges to be used. These cartridges may be mounted on the physical drives in any order. The order of the IDs in the JOB control record specifies the logical assignments for the cartridges. IDs 1 through 5 correspond to logical drives 0 through 4, and they must be specified consecutively. If only three drives are to be used IDs 1-3 only are specified. The cartridge-related entries of COMMA and DCOM (quintuples) are filled in according to the logical order specified by the user. The first ID may be left blank, in which case the master cartridge for the last JOB will also be the master for this JOB. • The definition of the cartridge on which the Core Image Buffer for the current job is to be found. The ID of the cartridge containing the CIB must follow the field of the fifth cartridge ID. If the CIB ID is omitted, the CIB on the master cartridge is used. Core image programs can be built faster if the CIB is assigned to a cartridge other than the master cartridge. • The definition of the cartridge containing the Working Storage to be used by the Monitor programs (System Working Storage). The ID of the cartridge to be used for Working Storage by the Monitor Systern must follow the CIB ID. If the Working Storage II> is omitted, all Monitor programs use the Working Storage on the master cartridge (except when otherwise specified, see nup Control Records). Core Image programs can be built faster if the System Working Storage is on a cartridge other than the master cartridge. They can be built even faster if the CIB, the system Working Storage, and the Monitor system itself are all on separate cartridges. Assemblies are also faster if System Working Storage is on a separate cartridge. • The definition of the cartridge containing the unformatted 170 ($$$$$) disk buffer area to be used with this job. • The starting of a new page on the principal print device. A skip to channel 1 is executed on the 1132 or 1403 Printer; or five consecutive carriage returns are made on the Console Printer. The page count is reset to 1, and the current page heading is replaced with whatever appears in columns 51-58 of the JOB control-record. HDNG (assembler language) statements and * *(FORTRAN control record) records will cause additional information to be printed. The format of the JOB control record is as follows. Card Column 1-6 Contents 9-10 11-14 //bJOB Reserved Temporary mode indicator Reserved First ID 15 16-19 Reserved Second ID 20 21-24 Heserved Third ID 25 26-29 Reserved Fourth ID 30 31-34 Reserverl Fifth In 33 36-39 Reserved CIB ID 40 41-44 Reserved Working Storage ID 45 46-49 Reserved Unformatted dtsk I/o ID 50 51-58 Reserved Date, Name, etc. 59-80 Not used Notes T or blank. A T ind icates that temporary mode is desired for this job. This is the ID of the master cartridge (logical drive 0). This is the ID of the cartridge on logical drive 1. This is the 1D of the cartridge on logical drive 2. This is the ID of the cartridge on logical drive 3. This is the In of the cartridge on logical drive 4. This is the ID of the cartridge containing the CIB to be used during this Job. This is the ID of the cartridge contnining the Working Storage to be used b'the monitor during this Job. See *FILES, p.23, for details on Workinp; Storage for user programs. This is the ID 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 prindpnl print device during this job. II ASM This control record causes the Supervisor to read the Assembler into core storage and transfer control to it. Any Assembler control records and the source statements to be assembled must follow this control record. Comments control records (I I *) may not follow this control record. The format of the ASM control record is as follows. Card Column 1-6 7-80 Contents Notes //bASM Not used (See *FILES, p. 23 for working storage for user programs. ) Monitor Programs 19 //FOR This control record causes the Supervisor to read the FOR TRAN Compiler into core storage and transfer control to it. Any FORTRAN control records and the source statements to be compiled must follow this control record. Comments control records (// *) may not follow this control record. The format of the FOR control record is as follows. Card Column 1-6 7-80 Contents Notes //bFOR Not used the Core Load Builder via the LINK entry point in the Resident Monitor. After the Core Image program has been built, or if the name in the control record is that of a program already stored on disk in DCI format, the Core Image Loader is called to read the core load into core storage and transfer control to it. If an L is punched in column 14 of this control record, a core map is printed by the Core Load Builder during the building of the core image program. In addition, a core map is printed for all DSF links during the execution (see Reading a Core Map and a File Map for an example of a core map). These core maps include: • The execution address of the mainline program • The names and execution addresses of all subprograms in the core load • All file allocations, with the file number, sector address (relative to first sector of Working Storage for files in Working Storage, absolute otherwise), sector count, and either cartridge ID or the address of Working Storage. (If the file is in Working Storage, the address of Working Storage will be included; otherwise, the name of the file is printed.) //DUP This control record causes the Supervisor to read the control portion of the Disk Utility Program into core storage and transfer control to it. A DUP control record must follow this control record. Only one / / DUP control record is required to process a stack of D UP control records, provided no Monitor control record other than the Comments control record (// * ) is encountered. The format of the DUP Monitor control record is as follows. Card Column 1-6 7-80 Contents Notes //bDUP Not used //XEQ This control record causes the Supervisor to initialize for core load execution. If the name specified in this control record (columns 8 through 12) is that of a mainline program stored in Disk System format, the Supervisor reads the Supervisor control records (LOCAL, NOCAL, or FILES), if any, from the input stream and writes them in the Supervisor Control Record Area (SCRA). The Core Load Builder is then called to build a core image program from the mainline program. If no name is specified on this control record, a mainline program in Disk System format is assumed to be stored in the Working Storage of the cartridge specified in columns 21-24. The Supervisor then processes the Supervisor control records and calls 20 Columns 16 and 17 of this control record contain the right-justified decimal count of Supervisor control records to be read by the Supervisor before calling the Core Load Builder. Column 19 contains a character that identifies the disk I/O subroutine to be used by the core load during execution. If column 19 contains zero or one, DISK1 is fetched by the Core Image Loader along with the core load. If Column 19 contains an N, DISKN is fetched. If column 19 contains a blank or a Z, no disk I/O subroutine is fetched (that is, DISKZ, which is in core storage for use by the Monitor programs, is used by the core load). Any other character is illegal and will cause the execution to be bypassed. All links in Disk System format that are called during a given execution must utilize the same disk I/O subroutine as the link that precedes them in execution. Comments control records (// *) may not follow an XEQ control record. The format of the XEQ control record is as follows. Card Column 1-6 7 8-12 ( continued) Contents //bXEQ Reserved Name Notes This is the name (left-justified) of the nSF program or DCI program to be executed. Card Column 13 14 15 16-17 1& 19 21-24 25-80 II Contents Reserved Core Map Indicator Reserved Count Reserved Disk I/O subroutine indicator Cartridge ID Notes L or blank.. An L indicates that a core map is to be printed for this and all following DSF links during this execution. This is the right justified decimal munber of Supervisor control records (LOCAL, NOCALt and FlLES) that follow. This column specifies the disk I/O subroutine to be loaded into core by the Core Image Loader for use by the core load during execution. The ID of the cartridge that contains the mainline program in its Working Storage (valid only if no name is specified in columns 8-12; blanks in this field indicate the System Working Storage). 8-80 Card Column Contents 1-7 J/bTEND 8-80 Not used Notes I I EJECT This control record causes the Supervisor to WAIT. When PROGRAM START is pressed, the Supervisor continues processing Monitor control records from the input stream. The format of the PAUS control record is as follows. 1-7 This control record causes the Supervisor to reassign the card or paper tape reader as the principal input device. The reassignment is to whichever unit was the principal device prior to the detection of a TYP control record. The TEND control record must be entered from the Keyboard. The format of the TEND control record is as follows. Not used PAUS Card Column II TEND Contents Notes //bPAUS Not used 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. Control is then returned to the Supervisor, which reads the next record in the input stream. The EJECT control record itself is printed. The format of the EJECT control record is as follows. Card Column 1-8 9-80 Contents Notes //bEJECT Not used IITYP This control record causes the Supervisor to temporarily assign the Keyboard as the principal input device. The Keyboard replaces the card or paper tape reader as the principal input device until a TEND or JOB control record is entered from the Keyboard. The format of the TYP control record is as follows. Card Column 1-6 7-80 Contents Notes //bTYP Not used With the Keyboard as the principal inp~t device, the keyboard functions are identical to those discussed for TYPEZ and TYPEO (System Library Subroutines) with one exception. The END-OF-MESSAGE character causes the rest of the buffer to be filled with blanks. Therefore, at the completion of a new message, nothing will remain of any previously-entered message. I I *(comments) This control record allows the user to print alphameric text on the listing printed on the principal print device by the Supervisor and DUP. The Supervisor and DUP simply print the control record and continue reading control records from the input stream. The Comments control record may not immediately follow an XEQ, ASM, or FOR control record. The format of the Comments control record is as follows. Card Column 1-4 5-80 Contents / / ti* User comments Notes Any alphameric characters may be used. Monitor Programs 21 II CPRNT area. The LOCAL subprograms are specified on the LOCAL control record as follows: This control record causes the Supervisor to print all Monitor and Supervisor control records that it reads on the Console Printer. Printing by all other Monitor programs will be on the principal print device. Once the CPRNT control record has taken effect, all Monitor and Supervisor control records will be printed as described above. To return the printing of Monitor and Supervisor control records to the principal print device, a reload function must be performed by the System Loader to redefine the principal print device. The format of the CPRNT control record is as follows. Card Column Contents 1-8 l/bCPRNr 9-80 Not used Notes where MAlNl is the name of the mainline program already stored on disk. SUBl through SUBn are the names of the LOCAL subprograms used with that mainline program. In the case illustrated below, all the LOCAL control records except the last end with a comma (continuation character) and the mainline program name appears on the first LOCAL control record only. SUPERVISOR CONTROL RECORDS The control records described below (LOCAL, NOCAL, and FILES) are used by the Core Load Builder to: • Provide for subprogram overlays during execution (LOCAL) • Include subprograms not called in the core load (NOCAL) • Equate disk storage files defined in the mainline program during compilation or assembly to specific files stored on the disk (FILES) These control records are placed in the input stream following an XEQ Monitor control record that names a mainline program stored in Disk System format or following a STORECI control record. 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. Up to 99 Supervisor control records may follow the XEQ or STORECI control record. There is no specified order (by type) to be followed; however, the types may not be intermixed. *LOCAL LOCAL (load-on-call) subprograms are subprograms specified by the user to be read, one at a time, as they are called during the execution, into a LOCAL overlay 22 The same results would have been obtained if the records had been: All the LOCAL subprograms for each mainline program in an execution must be specified on the LOCAL control records that follow the XEQ Monitor control record initiating the execution. Separate LOCAL control records must be used for each mainline program in the execution that calls LOCAL subprograms. For example, • If a subprogram is specified as a LOCAL subprogram, it is included as a LOCAL subprogram in the core image program even if it is not otherwise called. • The information on all the LOCAL control records for an execution may not exceed M+2(C+ 1), where M is the number of mainlines and C is the number of commas. This restriction also applies to NOCAL control records. • Only subprogram types 3, 4, 5, and 6 can be named on LOCAL and NOCAL control records. Subprogram types 3 and 5 are referenced by LIBF statements, types 4 and 6 with CALL statements. Types 5 and 6 are ISSs; types 3 and 4 are subprograms. See Appendix C for a description of subprogram types. • Conversion tables, e. g., EBPA, HOLTB, may not be used as LOCALs. where MAIN2 is a link called by MAIN!. If the mainline program is to be executed from Working Storage, the mainline program name must be omitted from the LOCAL control record. For example, *FILES This LOCAL control record format must be used if LOCALs are to be specified with the DUP operation STORE CI. No embedded blanks are allowed in the LOCAL control record. *NOCAL NOCAL (load-although-not-called) subprograms are subprograms specified by the user to be included in the core load, even though they are not called. They are specified on NOCAL control records using the same format that applies to LOCAL control records except that *NOCAL is used in place of *LOCAL. Rules for LOCAL and NOCAL Usage The user must observe the following rules in the usage of LOCAL and NOCAL control records: • A subprogram cannot be specified as a LOCAL subprogram if it causes another subprogram, also specified as a LOCAL subprogram in the same mainline program, to be called. For example, if A calls B and B calls C, and A is a LOCAL subprogram, neither B nor C can be specified as a LOCAL subprogram for the same mainline program. • If a subprogram is specified as a LOCAL subprogram and system overlays (SOCALs) are employed, the subprogram is made a LOCAL subprogram, even if it would otherwise have been included in one of the SOCALs. By means of FILES control records the file numbers specified in FORTRAN DEFINE FILE statements or in Assembler FILE statements are equated to the names of Data Files stored in the User and Fixed areas. FILES control records may also be used to define Data Files in Working Storage other than the master cartridge. All the User/Fixed Area files to be used by all the core loads in an execution must be defined in the FILES control records following the XEQ Monitor control record initiating the execution. All the files thus defined are available to each core load in the execution. When Data Files are equated in a program stored in DCI, successful execution of this program requires that all cartridges on which these files are stored must be in the same condition and on th8\same logical drives as when the STORECI occurred. This is necessary since the Core Load Builder places an absolute sector address, including the drive code, into the file table for each equated file. The format of the FILES control record is as follows. where FILE 1 through FILEn are the file numbers specified in the FORTRAN DEFINE FILE statements or Assembler FILE statements. Monitor Programs 23 NAME1 through NAMEn are the names of Data Files already stored on disk. If the name is omitted (2 commas are required in the control record format), the file is placed in Working Storage on the specified cartridge. CARl through CARn are the IDs of the cartridges on which the respective Data Files are found. If the cartridge ID is omitted, it is assumed that the corresponding Data File has been defined on the master cartridge. Continuation of FILES control records may be indicated by a comma following the last file definition on the control record, as follows: SUPERVISOR CORE DUMP PROGRAM The DUMP program provides the user with a hexadecimal printout of the contents of core storage. The calling sequences for the DUMP and PDMP statements are contained in the Assembler language manual (Form C26-5927). FORTRAN programs access the DUMP Program through the FORTRAN statement CALL PDUMP (See FORTRAN language manual, Form C26-3715). Terminal and Dynamic Dumps The DUMP entry point ($DUMP) in the Skeleton Supervisor (and thus the DUMP program in the Supervisor) can be entered (1) by a BSI to the DUMP entry point, (2) by a manually executed transfer to the DUMP entry point plus 1, or (3) by a branch to location zero. which contains an MDX to $DUMP+1. The continuation comma may appear only immediately after a right parenthesis. No more than 159 files may be equated during an execution. No embedded blanks are allowed in the FILES control record. 24 When the DUMP entry point is entered, a dump of the area of core storage bounded by the limit parameters is given in hexadecimal format. Execution of the core load in progress then resumes at the location following the last parameter of the call to the DUMP entry point. When $nUMP+1 is entered, a dump of the entire contents of core storage is given in hexadecimal format. The DUMP program then executes a CALL EXIT, thereby terminating the execution of the core load in progress. A portion of a core dump is printed below. ACCUMULATOR 4000 EXTENSION 7803 XRl 7FAO XR2 7803 OVERFLOW OFF XR3 0000 CARRY OfF AOOR ••• 0 ···1 ···2 •• ·3 ••• 4 ••• 5 ••• 6 ••• 7 ···8 ••• 9 ••• A •• ·B ···C ••• 0 ••• E ••• F 0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 OOAO OOBO OOCO 0000 OOEO OOFO 0100 0110 0120 0130 0140 0150 0160 0170 0180 0190 OlAO 01BO 01CO 0100 OlEO 01FO 0200 0210 0220 0230 0240 0250 0260 0270 0280 0290 02AO 0280 02CO 0200 02EO 02fO 0300 0310 0320 0330 0340 0350 703F 0000 4000 0000 7400 0032 OOEE COOO 0000 0080 oooe 0000 4CCO 6109 0200 OOEf 6AEO 6600 0198 5002 0400 0028 OCOE 4828 023A 1002 4810 4808 C247 0000 4480 7F33 0395 4480 4400 70BO 4480 4C3F 6A50 4(,18 703C 0254 6A01 70B3 0004 0398 0336 0845 0835 4C20 039B 40C5 4040 7BC3 FFFB 5540 C002 0000 0032 70FD 70fO 0000 0000 COOO CCOO COOo 0083 0810 CfOO FF6A COFO 00F2 7000 5004 0141 703A 0000 fFFF 4400 COOl 70fO C8BO 4102 COOO 30CO 3000 0000 0000 0001 1149 0000 004B 00F4 0819 0001 FECO 0000 C009 001B C101 0239 70BB F251 8A40 4213 0000 0006 045A 02A9 4480 6600 OA01 C928 037B 6A13 4480 039B 630A 032F 02A9 0209 1F70 1810 0845 0835 OOIC 03A7 4006 03C5 C140 0000 COOO 00f2 0000 0806 6580 0000 0000 4C80 4CCO OCCC 0051 9400 4580 0300 7400 7053 00C9 0140 0001 FFFF 1800 800A 80e2 EA50 100B 8230 DA3C CA32 COO a 6180 6FOO (,302 70B5 035A C303 OA13 403C 1810 70BB 70DE 400B 0700 C700 C700 180C 0400 6600 66CO 72FO C400 C640 £340 4C40 OFFA 0327 7400 0000 6902 0039 COOO 0000 0081 con 0658 6906 002A 7FE8 0000 OOEE 4(.00 4850 OFFA 0080 0140 0008 COEE oeoo C480 C101 OCOO 0000 0000 0106 0658 6A07 0818 2eoo CODA 70FD OIBE 70EE 0140 C600 COOO 1803 8006 016F 0237 70BC 4213 1810 ('23C 0000 18AO C120 4C20 70B5 4079 70BO 708B 7085 C390 6600 613C 02A4 73FF 1004 1004 E('80 4COO 630A 630A C019 4C18 0407 C9C4 03C5 0080 COOl 70fO COOO 003f 1800 0000 fFFF 3000 CCOO 0658 2807 280E 6500 COOO 7002 6908 (,800 0004 0008 1810 7040 8008 7201 EA42 C101 CA38 824F 4808 COOO OFOO 4(,20 020C 4480 4480 C928 7925 6215 4400 7192 C008 llFF 70FA 1804 1804 02BE 01Ft 40A8 70fF 4C20 02E7 C603 0540 E340 0000 7fAO 70F4 OOOC 0001 (,100 0000 0000 4C80 0000 0000 080A 690F 7fAO 0000 OOBA 08lE 0900 90;00 5000 00A6 7401 8007 70F5 8247 9400 OA34 0100 70E9 0000 0142 0307 CCOO 70B5 70B8 0206 4480 6EOO 03A7 C202 0500 70fA 4C80 4C18 9480 4COO 4480 4480 6827 031B 4480 C5E3 4040 4040 7AEO 0900 783F 7014 C8f3 088B 0000 0802 0085 0000 0000 4400 6A10 6600 0000 7015 6500 74fF 0004 OFF8 74FF 0032 0006 6600 0240 009A 4213 CA36 7500 0000 633C ClIO 0342 4480 7925 1800 7085 039f 1000 8400 7925 C003 029F 0209 02BE 01FF 70B5 70BB 4400 C112 708B 4040 58C6 18C6 7C56 703f 30CC OCCO 4400 6500 0000 OC01 CCOO OCOO OCOO OCF7 0816 7803 oeco 690f 7FAO OOEE <15CO 01CC 0032 6500 62fO 00f2 EA48 4818 C231 OA34 0140 0000 6FCC 4C28 OCOO 70B5 405A 0207 4480 C400 C('OO 039C llFF OOOA 0203 C700 0400 C193 4480 1925 044C 9202 7925 4040 07C1 03C5 00B3 4000 4C80 1810 00F2 010C COOO 0000 3000 0140 CCOO 6500 1002 C803 cooo 6A10 6600 703E 0122 0101 1000 C004 6980 C230 023B 7014 0480 CI01 C900 COAD 7925 0283 70A4 4480 6600 C305 70B5 039B 0390 0400 70FC 4480 6180 7F6B 0386 4C10 70BS C845 6700 0112 1203 03e5 (440 E340 0000 7803 0028 7012 COfO COfE 0000 COOO 4C80 0000 0000 7FAO 4(,10 4CCO 0000 1008 7803 C812 9600 0001 70BC C900 CI01 E249 CA3C 1893 0198 EA50 OA32 3333 6300 C700 7004 70B5 7925 4480 4480 0400 0916 039C 6500 70BB 7FF(. 4COO (,600 02E7 4098 DCOO 7925 1810 C202 E361 4040 £2(,3 00C4 00F2 003f 0001 7001 1890 COOO 0000 0089 0000 0000 6600 0000 00C4 0000 003C 4C80 C014 9400 000 A COE3 08C7 EOCB 0250 OA3A 180F 9101 0101 CA3C 016E C193 7F70 CCOO (,400 6780 10BO 70B5 039(, 4480 7203 7FAO 7925 CCOO OlFf OOFS 7301 CllO 70A4 6680 0400 4C20 C603 78C6 E309 0091 7400 0150 0004 COFO 4400 0000 0000 0000 0000 0000 7803 4480 4001 oeoo 1800 00F7 4293 9781 009F 70(.F 0800 0101 C400 02EB 1002 4C20 4213 0900 0100 4C28 4C18 033£ 0386 7FFC C928 4036 6680 7087 14FF 4C80 4C80 0394 e400 8400 6FOO 4C28 4480 7FB4 0390 02E7 C5E3 07C1 4005 8000 OOEE OCCO FFfF 00C7 00F2 COOO 0000 3000 0000 occd 2000 002C 4000 0011 0058 6500 1810 OEBA FFfB COE8 1810 9400 009F 4828 EA3A 0116 C240 708f 03CO OlFl 02E7 OCOO 4418 C302 OAOO 6600 7FFC C4CO 039F 0284 0290 OBOO 7188 039B 0336 02FF 70RO 1201 C1l2 70f2 C603 C440 0648 0000 70FO 0000 0000 7400 7400 CCOO 0000 4C80 9000 0000 C802 FFfE 7803 0000 6211 0004 0480 0141 9680 4400 1084 00A4 EA4E 70BC 1800 CA3C 0235 0000 ODIC 6780 0400 10A4 03E7 4480 C306 0371 1206 0390 1001 4040 02F7 4480 6700 0400 74fC C84A C83E C202 0400 0000 C5E3 4040 4040 - 800~ 7006 EA43 482ij 7002 7094 4820 0000 7089 6FOO 4400 10B8 044(. C928 70BO 6600 7201 02BO 0400 6105 C700 4C80 4(,18 (.700 7005 C84A C831: 0315 4400 05(;4 4040 C9C2 oeoo CI01 0033 1401 9247 4828 CA34 4830 0900 0000 7FFC 02CO 1804 4480 6317 4480 4480 4480 0400 7925 02E(' 140C 7925 7F68 7F6B 100C 0386 032F 032F 70FA 0390 C4E4 7B('3 7BE4 ...., 7E80 7ECO lEOO 7EEO 7EfO 7FOO 7flO 7F20 7F30 7F40 7f50 7F60 7F70 7F80 7F90 7FAO 7F80 7FCO 7FOO 7fEO 7FFO ~ 4480 7926 4480 80AC 70FO 0116 0000 0000 0000 0000 0000 0000 0150 0000 05A3 05F8 0000 0000 0000 7C64 0000 70B3 6500 70BA 1800 can 8300 0000 0000 0000 COOO COOO 0110 0000 eooo COOB 0030 0000 0000 0000 0000 0000 7U4 7FAO 0200 1010 0116 0117 0000 0000 0000 0000 COOO 1110 0000 COOO 0568 0230 0000 COOO 0000 0000 OOAO 08C8 C8B8 C084 A8AA 8300 4480 eooo COOO 0000 1052 2222 0000 0000 0000 0010 0035 0000 0000 0000 0000 00F2 280F 2001 OOAD 8115 0111 10B7 0000 C406 0000 0000 3333 0000 0000 0000 03CO C230 0000 0000 0000 COOO 7803 690C 4C80 6BAO 90A9 4480 C12E 0000 3040 0000 0000 OOOF 0000 0020 COOO 0015 0037 CCOO 0000 0000 0000 10BB 6A09 1EBC C301 4C08 70B7 4C98 0000 0020 0000 0000 OABB 6B06 435E EOB3 7EEB C12E 7EOO 0000 0000 COOO 0000 FFFE 0000 0000 0000 C018 0039 70BB 0000 0000 0000 7803 ecoo 0000 0461 C248 7803 0000 0000 0000 0802 3333 6500 4480 0115 4480 4C98 1010 0000 0200 0000 1052 0000 0000 0000 0000 03CO 0000 0000 0000 0000 0080 1l0E 7FAO 7DBA 4820 1084 7ECf 012E 0000 0000 COOl OCOO 0000 oeoo 0000 0000 001(. 0000 0000 oeco oeoo 0080 7091 4C80 0100 C300 0050 1010 4FOO 0000 0000 0001 0000 0000 COOO OOOC 0000 05A3 0000 OCOO cooo 0004 0080 7A06 7EB2 COFB 4(.30 C896 012E 0002 0000 0000 010A 0000 0000 0118 0009 0000 OOlF 0000 0000 0000 056B 0080 0640 7E4f 0002 7EEO 4400 4FOO 0000 0000 oeoo 7800 0000 0140 0000 0000 0000 05A3 0000 0000 0000 0461 0080 7182 6700 COB9 4480 00F2 0002 0000 0000 FFF6 OCOO 0106 0000 0000 0000 0000 0024 0000 0000 0000 70FO 1C56 7925 0000 1005 7084 7400 70FO 0000 0070 oeoo 0000 oeoo 0000 0000 0000 OCOO 0500 0000 OCOO 0000 003F 7A£A 7985 6600 435E 005C OOEE C080 0000 0001 0000 0000 0000 0000 0000 0000 0000 0029 0000 0000 0000 0000 7AEA 7963 Monitor Programs 25 DISK UTILITY PROGRAM (DUP) IN FORMA TION TRANSFER AND FORMAT CONVERSION The Disk Utility Program (DUP) provides the user with the ability to perform the following operations through the use of control records. Table 2 summarizes the DUP operations that transfer information from one area or medium to another area or medium. In addition, the format conversions made during the transfers of information are shown. The acronyms for the various formats are described below. The formats are described in Appendix C. • Store Disk System Format (DSF) programs, Disk Core Image (DCI) programs, and Data Files on the disk • Make the DSF programs, DCI programs, and Data Files on the disk available in printed, pWlChed card, or punched paper tape output Format Acronym • Remove DSF programs, DCI programs, and Data Files from the disk DSF DDF DCI CDS CDD CDC PTS • Determine the status of disk storage through a printed copy of LET/FLET PTD • Modify the system PTC PRD • Perform other disk maintenance functions Disk System Format Disk Data Format Disk Core Image Format Card System Format Card Data Format Card Core Image Format Paper Tape System Format Paper Tape Data Format Paper Tape Core Image Format Printer Data Format ALTERING LET/FLET DUP control records are described in the section of this manual entitled DUP Control Records. DUP error messages are listed in Appendix A. GENERAL FLOW DUP is called into operation when the Supervisor recognizes a DUP Monitor control record (// DUP). The control portion of D UP is brought into core to read the next record from the input stream, which should be a DUP control record (* ••• ). The DUP control record is printed and analyzed. LET is searched for the program specified, and switches and indicators are set in accordance with the information obtained from the control record. The DUP program required to perform the requested operation is then read into core from the disk and given control. The DUP program performs its assigned tasks, directed by the switches and indicators that were set according to the information on the DUP control record. Upon completion of its tasks, the DUP program prints a message and returns control to the control portion of DUP. The control portion indicates the completion of the DUP operation with a printed message and reads the next record from the input stream. If the record read is a Monitor control record other than comments, control is returned to the Supervisor to process the record. If the record read is a DUP control record, DUP maintains control and reads the next record. Comments Monitor control records are Simply printed; blank records are passed. 26 The two tables LET and FLET constitute a directory to the contents of the User and Fixed areas on disk. The allocation of disk storage and, correspondingly, the contents of LET /FLET can be altered by the user only through the use of DUP. Before storing any DSF program, DCI program, or Data File, DUP searches LET/FLET to ensure that the name of the DSF program, DCI program, or Data File does not already appear in LET/FLET on the cartridge specified on the DUP control record. (If no cartridge is specified, the LET /FLET of every cartridge specified on the last JOB record is searched.) Disk storage is allocated to the DSF program, DCI program, or Data File and a corresponding entry is made in LET/FLET only if the name is not found. When dumping or deleting a DSF program, DCI program, or Data File from the User/Fix~d Area, the DSF program, DCI program, or Data File is located through LET /FLET using the name specified by the user in the DUP control record. A LET/FLET printout and description is contained in Appendix G. DUP CONTROL RECORDS DUP control records call IBM-supplied programs that perform operations involving the disk such as storing, moving, deleting, and dumping data and/or programs. DUP control records generally follow the format described below. Note that all fields in the control Table- 2. Summary of DUP Data Transfer Operations uTO·· AretJ Symbols, with Formats "FROM" Area Symbols, with UA Formats DSF DDF FX DCI DDF DSF UA CD WS DCI DSF DDF DCI DUMP DUMPDATA DDF DUMP DUMPDATA DCI DUMPDATA DDF DUMP DUMPDATA DCI DUMPDATA PT CDS COD DUMP DUMPDATA CDC PTS DUMP DUMP DUMPDATA DUMPDATA DUMP DUMP PTD PR PTC DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMPDATA DUMP DUMP DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMP DUMPDATA PRO FX DSF WS STORECI STOREDATA STORECI DUMP STOREMOD STOREDATA DUMP DUMPDATA DCI STOREDATA STOREMOD STOREMOD STOREDATA STOREDATACI STOREDATACI DUMPDATA STORE STOREDATA STORECI STOREDATA STORECI STORE STOREDATA STOREDATACI STOREDATA STOREDATACI STOREDATA STOREDATACI CDC STOREDATA STOREDATACI STOREDATA STOREDATACI STOREDATA STOREDA TACI STOREDATA STORECI STOREDATA STORECI STORE STOREDATA STOREDATACI STOREDATA STOREDATACI STOREDATA STOREDATACI PTC STOREDATA STOREDATACI STOREDATA STOREDATACI STOREDATA STOREDATACI Column 1. Column 1 always contains an *(asterisk). Operation Field. Columns 2 through 12 (21 in the case of the DEFINE operation) contain the name of the desired DUP 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 (b) is required within or following the operation name. FROM and TO Fields. Columns 13 and 14 contain the "FROM" symbol, that is, the symbol specifying the disk area or I/O device from which information is to be DUMP DUMPDATA DUMPDATA DUMP DUMPDATA DUMP DUMPDATA DUMP DUMP DUMPDATA DUMPDATA DUMP DUMP DUMPDATA STOREDATA PTD record except the count field are always left-justified and that unless otherwise stated, all fields are required. DUMP DUMP STOREDATA COD STORE DUMPDATA DUMP DUMPDATA STOREMOD STOREDATA PTS PT STOREDATA DDF CDS CD STORE STOREMOD DUMPDATA DUMP obtained (the source). Columns 17 and 18 contain the "TO" symbol, that is, the symbol specifying the disk area or I/O device to which information is to be transferred (the destination). The symbols that must be used as the "FROM" and "TO" symbols are shown below. Symbol UA FX WS CD PT PR Disk Area or I/O Device User Area, Disk Fixed Area, Disk Working Storage, Disk Card I/O device. If the 1134 has been defined as the prinCipal input device, CD is equivalent to PT. Paper Tape Principal print device Monitor Programs 27 When used, the symbols UA, FX, and WS each specify an area on disk but do not identify the cartridge on which the area is found. Name Field. Columns 21 through 25 contain the name of the DSF program, DCI program, or Data File involved in the specified DUP operation. The name may consist of up to five alphameric characters, and must be left-justified within the field. The first character must be alphabetic (A-Z, $), and no embedded blank characters are allowed. When referencing a DSF program, DCI program, or Data File already stored on disk, the name must be an exact duplicate of the LET/FLET entry. Count Field. Columns 27 through 30 contain the cOlmt. The COlUlt is always a right-justified decimal integer. The COlUlt field is defined in the individual control record formats for those operations that require it. FROM and TO Cartridge ID Fields. Columns 31 through 34 contain the cartridge ID of the cartridge containing the disk area from which information is to be obtained, that is, the "FROM" (source) cartridge ID. Columns 37 through 40 contain the cartridge ID of the cartridge containing the disk area to which information is to be transferred, that is, the "TO" (destination) cartridge ID. Either or both of these cartridge IDs may be omitted. If a cartridge ID is omitted, and the corresponding FROM or TO field is the User or Fixed Area, a search is made of the LE T /FLE T on each cartridge specified on the JOB record, starting with the cartridge on logical drive zero (the master cartridge) and continuing through logical drive four. If the corresponding FROM or TO field is Working Storage, then a default to System Working Storage is made. If a cartridge ID is specified, the LET/FLET on the specified cartridge only is searched, or System Working Storage is used. Use of the "FROM" and "TO" cartridge IDs makes it possible for DUP (1) to transfer DSF programs, DCI programs, and Data Files from one cartridge to another without deleting them from the source cartridge, and (2) to operate on a nSF program,. DCI program, or Data File even though the same name appears in the LET/FLET on more than one cartridge. Unused Columns. All unused columns between columns 2 and 40 must be left blank. Columns 41 through 80 are ignored by DUP and are available for user's remarks. DUP Operations and Control Record Formats down of the control record for the operation, and (3) a table of the transfers and format conversions possible in the operation. *DUMP The DUMP operation moves information from the User/ Fixed Area on disk to Working Storage or makes information from the User/Fixed Area and Working Storage available as card, paper tape, or printed output. The print format is illustrated in Appendix C. The movement of DSF programs from the User/ Fixed Area to the output devices is accomplished in two phases; that is, the information is first moved to System Working Storage and then to the output device. Hence, information residing in Working Storage on the cartridge defined in the JOB Monitor control record by the Working Storage ID (see / / JOB under Monitor Control Records) is destroyed during the DUMP operation. Data Files and DCI programs are moved directly from the User/Fixed Area to the output devices. The number of disk blocks to be dumped is obtained from the LET/FLET entry, or, if the dump is from Working Storage, from the appropriate Working Storage Indicator in DCOM. The format of the DUMP control record is as follows. Card Column 1-6 7-12 13-14 *DUMPb Reserved "FROM" symbol 15-16 17-18 Reserved "TO" symbol 19-20 21-25 Reserved Program name 26-30 31-34 II 35-36 37-40 The following are descriptions of the various DUP operations. Each description consists of (1) a brief description of the processing performed, (2) a break- 28 Contents 41-80 Reserved FROM II cartridge ID Reserved "Ta" cartridge ID Not used Notes See chart below. If the dump is from Working Storage and the corresponding Working Storage Indicator is zero, an error message is printed (see DUP error messages, Appendix A). See chart below. If the dump is to cards and if a 1442-6 or 1442-7 is utilized, each card is checked to see that it is blank before it is punched. If a non-blank card is read, the System will WAIT at $PRET with /100F displayed in the Accumulator after the appropriate erroi message has been printed (see DIn '.Tor Messages, Appendix A). The name is required except when the dump is from Working Storage to the printer. The following chart is a su:m:mary of the information transfers and format conversions performed by DUMP. Card Column 27-30 Possible Somces, IDeluding Fcrmats COId:eDIs Comd: Possible Destinatkms,. IueJu.ding Fonnats UA(nsF) WS(DSF) UA or WS (nsF) cq:CDS) Bme...- P'l'{PTS) PR(PRD) 35-36 37-40 BT(JI UA or F.X (DDF) WS(IDF) 41-80 ca1d.dgeID Not used UA, FX, or WS (IDF) cq:cm) UA or F.X (DCI) WS(OCI) UA, FX, or WS (OCI) cq:CDC) Possible Sources. Including Fonnats *DUMPDATA Card Column Contents 1-10 11-12 13-14 15-16 17-18 :tDUMPDATAb Reserved n FROM" symbol Reserved nTO' symbol 19-20 21-25 26 (continued) Reserved Program name Reserved Notes carlridge ID Resened The following chart is a su:m:mary of the information transfers and format conversions performed by DUMPDATA. PI(PTC) PR(PRD) The DUMPDATA operation moves information from the User/Fixed Area on disk to Working Storage or makes information from the User/Fixed Area and Working Storage available in ca:nl, paper tape, or printed output. The print format is similar to that of DUMP (see Appendix C). The DUMPDATA operation differs from the DUMP operation in that the information, after transfer, is always in data. format, and the amount of information transferred is dependent upon the count field of the DUMPDATA control record rather than the actual length of the program or data. Information is moved directly from the User/Fixed Area or Working Storage to the output devices. The contents of Working Storage are not changed. The COWlt field (columns 27-30) in theDUMPDATA control record specifies the number of sectors to be dumped. This number of sectors is dumped regardless of the length of the DSF program, DeI program, or Data File, as indicated in the LET/FLET entry or in the Working Storage Indicator. The format of the DUMPDATA control record is .as follows. The COIIDt (dgbt justU'led, decimal) specifies the .'IIIDIIher of secIDIs 10 he doJapecI.. The COIDIt ovenides. the CODteIds of theWoddDg S1DI'age diem. aDd the dbk. h10ck COIIDt :in the JEr/FIEC euby. m- 31-34 P'l1PTD) PR(PRD) Notes Possible Destin~ IDcfuding Falmats UA(DSF) WS(DDF) UA or WS(DSF) CD(CDD) PT(PTD) PR(PRD) UA or EX (DDF) WS(DDF) UA, FX, or WS(DDF) CD(CDD) PT(PTD) PR(PRD) UA(DCI) or FX(IDF) WS(DDF) UA, FX, or WS(DCl) CD(CID) PT(PTD) PR(PRD) *DUMPLET The DUMPLET operation prints the contents of LET on the principal print device. In addition, the contents of FLET are also printed on the principal print device if a Fixed Area has been defined by the user. If the name of a DSF program, DCI program, or Data File is specified in the DUMPLET control record, only the LET/FLET entry corresponding to that name is printed. If a cartridge ID is specified in the control record, the LET/FLET on only that cartridge is printed. If neither name nor cartridge ID are specified, the entire contents of both LET and FLET on each cartridge specified on the JOB record are printed. A sample LET/FLET dump and description appears in Appendix G. The format of the DUMPLET control record is as follows. See chart below. See chat below. If 1he dump is to carc:ts. and if a 1442-6 or 1442-7 is u~ each card is checked to see that it is blank be:mre it is punched. The name is required eJtC.ept when the dump is :&om WoddDg Storage to the printer. Card Cohmm Contents 1-8 :t{)Q,,{PLET 9-20 Reserved PIogram name 21-25 26-30 31-34 35-80 Reserved "FROM" cartridgeID Not used Notes Use of the name specifies tha the JEr/FIET eDtry for that name only is to be printed.. If aD. ID is specified, the IEr/RET on that cartridge only is printed. MoDitor Programs 29 *DUMPFLET Card Column The DUMPFLET operation prints the contents of FLET on the principal print device. If the name of a DCI program or Data File is specified in the DUMPFLET control record, only the FLET entry corresponding to that name is printed. If a cartridge ID is specified in the control record, the FLET on that cartridge only is printed. If neither name nor cartridge ID are specified, the entire contents of the FLET on each cartridge defined on the JOB record are printed. A sample LET /FLET dump and description appears in Appendix G. The format of the DUMPFLET control record is as follows. Card Column 1-10 11-20 21-25 Contents Notes *DUMPFLETb 26-30 31-34 IIFR01v1"I 35-80 cartridgeID Not used 13-14 *STORE Reserved Subtype (for type 3.4,5 and 7 subprogr ams only) IIFROM" symbol 15-16 17-18 19-20 21-25 Reserved liTO" symbol Reserved Program name 26-30 31-34 II 35-36 37-40 41-80 Res~ed Progr am name 1-6 7-10 11-12 Contents See" System Overlays" under Load Builder. ~ If the STORE operation is from Working Storage and the corresponding Working Storage_Indicator is zero, an error message is printed (see DUP Error Messages, Appendix A). See chart below. The name is required except when the STORE operation is to Working Storage. Reserved FROM II cartridge ID Reserved II TOil cartridge ID Not used Use of the name specifies that the FLET entry for that name only is to be printed. Reserved If an ID is specified, the FLET on that cartridge only is printed. The following chart is a summary of the information transfers and format conversions performed by STORE. Possible Sources, Including Formats *STORE The STORE operation moves information from Working Storage to the User Area or accepts information from the input devices and moves it to Working Storage or the User Area. All movement of information from the input devices to the User Area is accomplished in two phases; that is, the information is first moved to the System Work...,. ing Storage and then to the User Area. Hence, information residing in Working Storage on the cartridge defined in the JOB Monitor control record by the Working Storage ID (see / / JOB under Monitor Control Records) is destroyed during the STORE operation. Since the User Area and Working Storage are adjacent areas, and since the User Area expands as needed into what had been Working Storage, DUP assumes that on any STORE operation to the User Area, the contents of that Working Storage are destroyed. Therefore, the appropriate Working Storage Indicator is reset to zero following the STORE operation to the User Area. DUP makes the required LET entry (or entries) for each program stored. A LET entry is made for each entry point in the program. DUP supplies the disk block count required in the LE T entry for the primary entry point. The format of the STORE control record is as follows. 30 Notes Possible Destinations, Including Formats WS(DSF) UA{DSF) CD(CDS) PT(PTS) UA or WS( DSF) *STOREDATA The STOREDA TA operation moves information from Working Storage to the User/Fixed Area or accepts information from the input devices and moves it to Working Storage or the User/Fixed Area. DUP assumes that the input to the STOREDA TA operation is in data format; the output from the STOREDATA operation is always in data format. Information is moved directly from the input devices to the User/Fixed Area. The contents of Working Storage are not changed except that when storing to the User Area, the contents of Working Storage on that drive are destroyed since the User Area and Working storage are adjacent areas. DUP makes the required LET/FLET entry. The name specified on the STOREDA TA control record is the name used to generate the LET /FLET entry and is the name that must be used in all subsequent references to the Data File. DUP supplies the disk block count required in the LET/FLET entry if the source is cards or paper tape. If the source is Working Storage, the sector COllllt specified in the STOREDA TA control record is used. The format of the STOREDATA control record is as follows. Card Column Contents 1-10 11-12 13-14 15-16 17-18 19-20 21-25 *STOREDATA Reserved "FROM" symbol Reserved "TO" symbol Reserved Program name 26 27-30 Reserved Count 31-34 "FROM" cartridge ID Reserved "TO" cartridge ID Not used 35-36 37-40 41-80 Notes See chart below. See chart below. The name is not required when the STORE operation is from cards or paper tape to Working Storage. If the source is Working Storage, the count is the munber (decimal) of sectors of data to be stored. This count overrides the contents of the Working Storage Indicator. If the source is cards, the count is the munber (decimal) of cards to be read. If the source is paper tape, the count is the munber (deCimal) of paper tape records to be re ad. Card Column Possible Destinations, Including Formats WS(DSF, DDF, DCI) UA or FX(DDF) CD(CDS, CDD, CDC) UA, FX, or WS(DDF) PT(PTS, PTD, PTC) UA, Fx, or WS(DDF) *STOREDATACI The STOREDATACI operation moves information from Working Storage to the User/Fixed Area on disk or accepts information from the input devices and moves it to Working Storage or to the User/Fixed Area. If the input is from cards or paper tape, the STOREDATACI operation assumes the input format to be card or paper tape core image format. If the input is from Working Storage (the information has been previously dumped to Working Storage or stored in Working Storage from an input device), the appropriate Format Indicator must indicate Disk Core Image format (DCI); otherwise, no STORE operation is performed. The output from the STOREDA TACI operation is always in Disk Core Image format. Contents 21-25 *STOREDATACI "FROM" symbol Reserved "TO" symbol Reserved Program name 26 27-30 Reserved Count 31-34 "FROM" cartridge ID Reserved "TO" cartridge ID Not used 1-12 13-14 15-16 17-18 19-20 The follOwing chart is a summary of the information transfers and format conversions performed by STOREDATA. Possible Sources, Including Formats All movement of information from the input devices to the User/Fixed Area is done directly; that is, the transfer is not made via Working Storage. Hence, the contents of Working Storage are not changed by the STOREDATACI operation when storing information from an input device to the Fixed Area. Note, however, that when storing to the User Area, the contents of Working Storage on that drive are destroyed. DUP makes the required LET/FLE-T entry. The name specified on the STOREDATACI control record is the name used to generate the LET/FLET entry and is the name that must be used in all subsequent references to the core image program. DUP computes the disk block count required in the LET/FLET entry from the count specified in the STOREDATACI control record. The format of the STOREDATACI control record is as follows. 35-36 37-40 41-80 Notes See chart below. See chart below. If the STORE operation is to Working Storage, the name is not required. The count (right justified, decimal) is the munber of records in the core image input. The count is not required if· the source is Working Storage. The following chart is a summary of the information transfers and format conversions performed by STOREDATACI. Possible Sources 1Dc1uding Form ats Possible Destinations, Including Formats WS(DCI) UA or FX(DCI) CD(CDC, CDD) UA, FX, or WS( DCI) PT{PTC, PTD) UA, FX, or WS(DCI) *STORECI The STORECI operation obtains an object program from Working Storage or from an input device, converts it into a core image program using the Core Load Builder, Monitor Programs 31 II Mo;~l;ne Isu~ ~ore I~.e Figure 5. grams LOCAl/ SOCAL Flipper LOCAL Area SOCAL Area COMMON DUP makes the required LET/FLET entry for the core image program as it is stored. The name specified on the STORECI control record is the name used to generate the LET/FLET entry and is the name that must be used in all subsequent references to the DCI program. DUP obtains the disk block count required in the LET/FLET entry from the Core Load Builder. The format of the STORECI control record is as follows. Card Column Notes Contents *STORECI Disk I/O subroutin<' indicator This column specifies the disk I/o subroutine to be loaded into core by the Core Image Loader for use by the core load during execution. Disk Subroutine Indicator 0,1 N blank or Z :In others 10-12 13-1-! Reserved "FROM" symbol 15-16 17-18 19-20 21-25 26 Reserved "TO" symbol Reser,-ed Program name Reserved (continued) 32 SOCALs Layout of a Core Image Program Stored in the User/Fixed Area The DCI program stored in the User/Fixed Area includes the Transfer Vector built by the Core Load Builder; however, neither the disk I/O subroutine nor any COMMON area is included. Figure 5 shows the layout of a DCI program as it is stored in the User/ Fixed Area. No scale is intended in this illustration. 9 LOCALs Head., and stores the core image program into the User/ Fixed Area. The Core Load Builder is fetched to build a core image program for the STORECI operation as if execution were to follow; that is, that portion of the core load residing above core location 4096 is placed in the System CIB, and LOCALs and/or SOCALs are placed in System Working Storage. The STORECI operation stores all these portions of the core image program into the "TO" (destination) area. 1-8 Transfer Vector DISK 1 DISKN DISKZ An error message is printed (see DUP Error Messages, Appendix A.) See chart below. If the STORE operation is from Working Storage and the corresponding Working Storage Indicator is zero, an error message is printed (see DUP Error Messages, Appendix A). See chart below. Card Column Contents 27-30 Count 31-34 "FROM" cartridge ID Reserved "TO" cartridge ID Not used 33-36 37-40 41-80 Notes The count is the number (decimal) of FILES, NOCAL, and LOCAL control records that follow the STORECI control record. These records are read by DUP for use by the Core Load Builder before the STORE operation is performed. Note that the mainline program name must not be used on the LOCAL or NOCAL control records. Data files named in FILES record must be in Fixed Area. The following chart is a summary of the information transfers and format conversions performed by STORECI. Possible Sources, Including Formats Possible DestinatiollSt Including Formats WS(DSF) UA or FX(DCI) CD(CDS) UA or FX(DCI) PT(PTS) UA or FX(DCI) *STOREMOD The STORE MOD operation moves information from Working Storage into the User/Fixed Area. If the name of the DSF program, DCI program, or Data File specified on the STORE MOD control record is identical to an entry in LET/FLET (that is, a DSF program, DCI program, or Data File of the same name already resides in the User/Fixed Area), the information in Working Storage overlays (replaces) that DSF program, DCI program, or Data File in the User/Fixed Area. The format of Working Storage must match the format of the LET/FLET entry which is to be replaced. If the name on the STOREMOD control record does not match an entry in LET/FLET, a simple STORE operation is performed (see *STORE). The STOREMOD operation permits the user to modify a DSF program, DCI program, or Data File in the User/Fixed Area without changing its name or relative position within the area. However, the length of the DSF program, DCI program, or Data File in Working Storage cannot be greater than the length of the DSF program, DCI program, or Data File that it replaces in the User/Fixed Area. No change is made to the LET /FLET entry as a result of this operation. The format of the STORE MOD control record is as follows. Card Column Contents 1-10 11-12 13-14 15-16 17-18 19-20 21-25 26-30 31-34 *STOREMODb Reserved "FROM" symbol Reserved liTO" symbol Reserved Program name Reserved "FROM" cartridge ID Reserved "TO" cartridge ID Not used 35-36 37-40 41-80 Notes The source is ~ Working Contents 1-8 9-20 21-25 26-30 31-34 *DELETEb Reserved Program name Reserved "FRQ}.1" cartridge ID 35-80 Not used Storage. See chart below. Notes The deletion is performed on the specified cartridge only. If no cartridge ID is specified, and the program or data file name (21-25) is present in LET /FLET of more than one cartridge specified for this JOB, the deletion will be from the first logical drive on which the name is found. *DEFINE The following chart is a summary of the information transfers and format conversions performed by STORE MOD. Possible Sources, Including Formats Card Column Possible DestinatloDSt Including Formats WS(DSF) UA(DSF) WS(DDF) UA or FX(DDF) WS(DCI) UA or FX(DCI) *DELETE The DELETE operation removes a specified DSF program, DCI program, or Data File from the User/ Fixed Area. The deletion is accomplished by the removal of the LET/FLET entry (or entries) for the DSF program, DCI program, or Data File, including the dummy entry for associated padding, if any. If a DSF program, DCI program, or Data File is deleted from the User Area, that area is packed so that (1) the areas represented by LET entries are contiguous, and (2) Working Storage can be increased by the amount of disk storage formerly occupied by the OeTefeODSYprograrrf,DC1pr-o-gram,orftata File. If a DCI program or Data File is deleted from the Fixed Area, no packing of that area occurs. The FLET entry for the deleted DCI program or Data File, including the dummy entry for associated padding, if any, is replaced by a single dummy entry (lDUMY) representing the area formerly occupied by the deleted DCI program or Data File and its padding. DUP store operations may be used to place new entries in. the Fixed Area. The contents of Working Storage are not destroyed by the DELETE operation. The format of the DELETE control record is as follows. The DEFINE operation (1) initially establishes the size of the Fixed Area, (2) increases or decreases the size of the Fixed Area, (3) deletes the Assembler or FORTRAN Compiler, or both, from the System Area. If the Assembler and/or FORTRAN Compiler is to be deleted, this deletion must be performed prior to defining the Fixed Area on the master cartridge (or after completely removing a defined Fixed Area). Definition of a Fixed Area on disk allows the user to store DCI programs and Data Files in fixed locations, which can subsequently be referred to by sector address. The Fixed Area is defined in cylinder increments (one cylinder minimum). When a FIXED AREA is defined, one cylinder is always reserved for FLET, i. e., the initial definition of the Fixed Area must be two cylinders. Increases and decreases in the size of the Fixed Area must also be made in cylinder units; however, the Fixed Area cannot be decreased by a number greater than the number of unused cylinders at the end of the last program or data file in the Fixed Area. If all DCI programs and Data Files have been deleted from the Fixed Area (lDUMY entries) and the Fixed Area is decreased to less than two cylinders by a DEFINE FIXED AREA control record, the remaining Fixed Area, as well as FLET, is deleted. The Fixed Area and FLET will Iikewfse-be-aefetea-lT-tlie-UEFINE FIXED AREA control record specifies a decrease that exceeds the number of cylinders of Fixed Area on the cartridge. The control record format for definition of the Fixed Area is described below. Card Column 1-8 9-18 19-26 Contents Notes *DEFINEb FIXEDbAREA Reserved (continued) Monitor Programs 33 Card Column 27-30 31 Contents Count Sign 32-36 37-40 Reserved Cartridge 10 41-80 Not used Notes In initial definition of the Fixed Area, the count is the munber (decimal) of cylinders to be allocated as the Fixed Area which must INCLUDE one cylinder for FLET J thus a minimum of two cylinders must be speci. fied. After initial definition, the count is the number of cylinders by which the Fixed Area is to be increased or decreased. If the Fixed Area is being decreased, this column contains a minus sign; otherwise, it is blank. This 10 specifies the cartridge which is to be altered. Deletion of the Assembler and/or FORTRAN Compiler causes the specified Monitor programs to be removed from the IBM System Area on the master cartridge. The IBM System Area is then packed so that following programs and areas occupy the areas formerly occupied by the deleted Monitor programs. SLET entries are updated to reflect the new disk storage allocation for the Monitor programs. The reload table is used to make adjustments in the programs which use disk storage addresses from SLET. If the Assembler and/or FORTRAN Compiler is to be deleted, the user must perform this deletion before defining the Fixed Area on the master cartridge, or after completely removing the Fixed Area. After the Assembler and/or FORTRAN Compiler have been deleted, neither can be restored without performing an initial load. The control record format for deletion of the Assembler and/or FORTRAN Compiler is described below. 34 Card Column 1-8 9-13 14-22 23-80 Contents Notes *DEFINEb VOIDb ASSEMBLER or FORTRANbb Not used *DWADR The DWADR control record causes a sector address to be written on every sector of Working Storage on the cartridge specified by the DWADR control record, or if no ID is specified, on the System Working Storage. The operation restores correct disk sector addresses in Working Storage if they have been modified during execution of a user's program. The contents of Working Storage prior to the operation are destroyed. Following the sector address word (word 0), the first 240 words of each sector contain the sector address of that sector, including the drive code. The remaining 80 words of each sector contain zeros. A dummy / /DUP record is printed on the principal printer following the printing of the *DWADR control record and the DUP exit message. The format of DWADR control record is as follows. Card Column Contents 1-6 7-36 37-40 *J)WAOR Reserved Cartridge 10 41-80 Not used Notes This 10 specifies the cartridge on which the Working Storage sector addresses are to be rewritten. ASSEMBLER The basic language for the Assembler in the Monitor system is described in the publication mM 1130 Assembler Language (Form C26-5927). Therefore, this section contains only a general description of the Assembler program and its operation. Assembler control records are described in the section Assembler Control Records; Assembler messages, error messages, and error detection codes are listed in Appendix A. The 1130 Monitor Assembler cannot be operated independently of the Monitor system; however, the Assembler can be deleted from the Monitor system if desired (see *DEFINE under DUP Control Records). An ASM Monitor control record is used to call the Assembler into operation. The Assembler reads the source program, including control records, from the principal input device. After assembly, the object program resides in System Working Storage. The object program can now be (1) called for execution with an XEQ Monitor control record, (2) stored in the User /Fixed Area with a STORE or STORECI operation (see DUP Control Records), or (3) punched as a binary deck or tape with a DUMP operation (see DUP Control Records). If symbol table overflow ,exceeds the number of sectors allocated for overflow by the OVERFLOW SECTORS control record (a maximum of 32 sectors is allowed), an Assembler error message is printed. The approximate maximum size of the symbol table (including overflow) and, hence, the maximum number of symbols that can be defined in a program, is determined by the size of core storage as indicated below: Size of Core storage (Words) 4096 8192 16384 32768 Symbol Table Size 3500 4865 7595 13055 CARD OPERATION The source deck (including Assembler control cards) can be assembled either as part of a job or as a separate job. In. either case, the source deck must be preceded by an ASM Monitor control record. One-Pass Mode The assembly of a program may start in one-pass mode and then change to two-pass mode. This condition occurs when the intermediate output of pass 1 exceeds the capacity of Working Storage less the number of overflow sectors specified. The system WAITs at the preoperative error trap ($PRET).with /100E (1442 input) or /400E (2501 input) displayed in the Accumulator (see Assembler error messages, Appendix A). If this assembly is part of a stacked job, operator intervention is necessary to prevent the Assembler from reading the Monitor control card following the END card of the source deck. Remove the stacked input behind the END card and press PROGRAM START. The assembly will continue in two-pass mode. Two-Pass Mode In. some cases it may be known in advance that it is necessary to assemble in two-pass mode, that is, pass the source deck through the 1442 Card Read Punch or the 2501 Card Reader twice. If a copy of the source deck, including all Assembler control records, is placed behind the original, the source deck will be read twice, and a stacked job is again possible even when in two-pass mode. Two-pass mode is not allowed with 1134 or Keyboard input. It is important to note that when a deck is being assembled in two-pass mode, the Assembler is ready to read another card as soon as pass 1 processing of the END card is completed. Therefore, a Monitor control record must not follow the END card the first time (or the first END card if the deck has been copied), or the Assembler will trap this record and execute a CALL EXIT. If the deck has not been copied, the END card should be the last card in the hopper. Press reader START to process the last card and complete pass 1. The Assembler will then try to read cards for pass 2; therefore, the source deck (with its control cards) should be removed from the stacker and placed in the hopper. Press reader START to begin pass 2 of the assembly. Operation is continuous if the source deck is taken from the stacker during pass 1 and placed in the hopper behind the END card. If the END card is the last card in the hopper, press reader START to complete the assembly. Punch Symbol Table Option In most cases, the source deck is passed through the If the *PUNCH SYMBOL TABLE Assembler control 1442 Card Read Punch or 2501 Card Reader only once. If the assembly is part of a stacked job, the assembly proceeds without operator intervention. If the END card of the source deck is the last card in the hopper, press reader START when the reader goes not-ready. card is used and the principal input device is the 1442 Card Read Punch, sufficient blank cards must be placed after the END card and before the next Monitor control record in the stacked job input. (If a non-blank card is read when punching on the 1442-6, 7 the Monitor Programs 35 Assembler will WAIT at the preoperative error trap ($PRET) with /100F displayed in the accumulator). In estimating the number of blank cards required, allow one card for each symbol used in the source deck. Unnecessary blank cards will be passed until the next Monitor control record is read. If the system configuration is 2501/1442, place blank cards in the 1442 hopper and press 1442 START before beginning the assembly. Note: Do not place non-blank cards in the 1442-5. The punch may be damaged if an attempt is made to punch a hole where a hole exists. No error is detected. KEYBOARD/PAPER TAPE OPERATION Most of the procedures for card input are also applicable to keyboard/paper tape input. The LIST DECK, LIST DECK E, PUNCH SYMBOL TABLE, and TWO PASS MODE options are not allowed with keyboard/paper tape input. Note: The paper tape input to the Assembler is punched iiiPTTC/8 code, one frame per character. The format of the keyboard/paper tape control records is the same as the card format. The format of the symbolic program keyboard/paper tape records is the same as card format except for the following: • ORIGIN OF MAINLINES The origin of a relocatable program is always set at zero unless otherwise specified in the source program. The origin of an absolute mainline program, if not otherwise specified in an ORG statement, is set to the end of DISKN plus 30 (the core image header record is 30 words long). If the program requires DISKZ, DISK 1, or DISKN, the origin may be set to the end of the requested disk I/O subroutine plus 30. If no disk I/O subroutine is used by the program, the origin may be set as low as the end of DISKZ plus 30. Note that if DISKZ is in core during execution (required or not), the ORG statement for the program being executed must specify an ~ core address greater than or equal to the end of DISKZ plus 30. An ORG to the end of DISKZ plus 30, followed by a BSS or a BES of an odd number of locations is not allowed. This sequence has the same effect as an ORa to an odd location. ASSEMBLER CONTROL RECORDS Assembler control records are used to specify options affecting an assembly and its output. These control records must precede the source program and can be in any order (see Figure 6). Assembler control records The record does not contain leading blanks corresponding to card columns 1-20. • The record does not contain blanks or data corresponding to card columns 72-80. • Trailing blanks need not be used. Therefore, up to 51 characters (corresponding to card columns 21-71) can appear in the record. The assembly is continuous, and at the end of the assembly control is returned to the Supervisor, which will then pass any delete codes between the Assembler and the next Monitor control record. The assembler will also pass any codes that may occur between paper tape records of the source program. The first record processed by the Assembler is checked for an asterisk in column one. If an asterisk is present in column one, this record is treated as an Assembler control record. This procedure continues until the first non-asterisk character is detected in column one. For this record, and all records following (up to and including the END statement), column one is treated as if it were column twenty-one; therefore, the first non-control record should not be an comments record. Next Monitor Control Record Assembler Source Statements * 36 Figure 6. Layout of an Assembler Input Deck can be entered in card or paper tape form along with the source program deck or tape or, unless otherwise noted, may be entered from the Keyboard along with the source statements (see / / TYP under Monitor Control Records). All Assembler control records have the following format: Column 1: * (asterisk) 2-71: Option If an Assembler control record contains an asterisk in column 1, but the option does not agree, character for character, with its valid format, as described below, the asterisk is replaced by a minus sign on the control record listing. The erroneous control record is ignored and no other error occurs. Assembler control records can be written in free form; that is, any number of blanks may occur between the characters of the option. However, only one blank must separate the last character in the option, and the first character of any required numeric field. Remarks may be included in the control record following the option or numeric field; however, at least one blank must separate the last character of the option or numeric field and the remarks. *TWO PASS MODE This control record causes the Assembler to read the source deck twice. TWO PASS MODE must be specified when: • The user desires a list deck to be punched on the 1442 Card Read Punch, model 6 or 7 (see LIST DECK and LIST DECK E). • 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 from the Keyboard or the 1134 Paper Tape Reader. The format of the TWO PASS MODE control record is as follows. Card Column 1 2-71 72-80 Contents *TWO PASS MODE Not used Notes Asterisk This control record causes the Assembler to provide a printed listing on the principal print device (1403 Printer, 1132 Printer, or Console Printer). The format of the printed listing corresponds to that of the list deck (see Figure 7). If the LIST control record is not used, only those statements in which assembly errors are detected will be listed. All BSS, BES, ORG, and EQU statements in which errors are detected will be unconditionally listed in Pass 1 of the assembly. A sample program listing appears in Appendix J. The format of the LIST control record is as follows. Card Column 1 2-71 72-80 Contents *UST Notes Asterisk Not used *LIST DECK This control record causes the Assembler to punch a list deck if the principal I/O device is a 1442 model 6 or 7 Card Read Punch. This option requires two passes of the source deck (TWO PASS MODE). The list deck format is shown in Figure 7. Object information is punched into columns 1-19 of the source deck during pass 2. This control record is ignored if entered from the 2501 Card Reader, the 1134 Paper Tape Reader, or the Keyboard. The format of the LIST DECK control record is as follows. Card Column 1 2-71 72-80 Contents *UST DECK Notes Asterisk Not used *LIST DECK E This control record causes the Assembler to punch assembly error codes only (columns 18-19) in the list deck output (see LIST DECK). The principal I/O device must be a 1442 model 6 or 7 Card Read Punch. The Assembler error detection codes are listed in Appendix A. This control record is ignored if entered from the 2501 Card Reader, the 1134 Paper Tape Reader, or the Keyboard. Monitor Programs 37 ~~~~~-+~~~~~'-~~-r~~--r-~~~~~~~~~~+-~'-~~-+~~~r-~'-~~-r~~ 41 Address of the Instruction; Address Assigned to the label, if any Error Flogs, if any Relocation Indicators; Col. 7 is Blank for OneWord Instructions or DC or Exponent for an XFlC Statement. label Caro Column OpCode Tog Second Word of the Assembled Code* ~~~~~~~~r-~'-~-r~~~~~r-~'-~-r-r~~~r-~~~~-r-+~~~r-~~'--r-r-iCaro __~-L-L~~~L-L-~~~-L-L~~~L-~~~~-L-L~~L-L-~~~-L~~~~~L-~~~-L~8~O Column Blank *For EBC statements, columns 9-12 contain the number of EBC characters. For BSS and BES statements, columns 9-12 contain the number of words reserved for the block. For ENT, IlS, and ISS statements, columns 9-16 contoin the entry label in pocked EBCDIC code. Figure 7. List Deck Format The format of the LIST DECK E control record is as follows: Card Column 1 Card Column 1 2-71 72-80 2-71 Contents *LIST DECK E Notes *PRINT SYMBOL Notes Asterisk TABLE 72-80 Not used Asterisk Not used *PRINT SYMBOL TABLE This control record causes the Assembler to provide a printed listing of the symbol table on the principal print device. Symbols are grouped five per line. Multiplydefined symbols are preceded by the letter M; symbols with absolute values in a relocatable program are preceded by the letter A. The M and A flags, however, are not counted as assembly errors. The format of the PRINT SYMBOL TABLE control record is as follows. 38 Contents *PUNCH SYMBOL TABLE This control record causes the Assembler to punch the symbol table 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 1134 Paper Tape Reader or the Keyboard. The format of the PUNCH SYMBOL TABLE control record is as follows. Card Column 1 2-71 Contents *PUNCH SYMBOL TABLE 72-80 Not used Notes Asterisk *SAVE SYMBOL TABLE This control record causes the Assembler to save the symbol table generated in this assembly on the disk as a System Symbol Table. This System Symbol Table is saved until the next assembly containing a SAVE SYMBOL TABLE control record causes a new assemblygenerated symbol table to replace it. This control record is also used with the SYSTEM SYMBOL TABLE control record to add symbols to the System Symbol Table. The SAVE SYMBOL TABLE option requires that this assembly be absolute. If any assembly errors are detected, or if the symbol table exceeds 100 symbols, the symbol table is not saved as a System Symbol Table, and an assembly error message is printed (see Assembler Error Messages, Appendix A). The format of the SAVE SYMBOL TABLE control record is as follows. Contents 1 2-71 *SAVE SYMBOL Asterisk TABLE Not used This control record causes the Assembler to add the System Symbol Table (previously built by a SAVE SYMBOL TABLE assembly) to the symbol table for this assembly as the assembly begins. This control record is used when it is desired to refer to symbols in the System Symbol Table without redefining those symbols in the source program, or it is used together with the SAVE SYMBOL TABLE control record when it is desired to add symbols to the System Symbol Table. AU symbols in the System Symbol Table have absolute values. The format of the SYSTEM SYMBOL TABLE control record is as follows. 1 2-71 72-80 1 Contents 2-71 *LEVELbn 72-80 Not used Notes Asterisk n is an interrupt level number Notes *SYSTEM SYMBOL TABLE Card Column Card Column *OVERFLOW SECTORS Card Column 12-80 than one interrupt level (for example, the 1442 Card Read Punch), one LEVEL control record is required for each interrupt level on which the device operates. At least one blank must separate the word LEVEL and the interrupt level num ber . If a LEVEL control record is not used when assembling an ISS subroutine, an Error Message is printed at the end of the assembly (see Assembler Error Messages, Appendix A). The format of the LEVEL control record is as follows. Notes Contents *SYSTEM SYMBOL Asterisk TABLE Not used *LEVEL This control record specifies the interrupt levels serviced by an ISS and, hence, the associated ILS subroutines. It is required for the assembly of an ISS subroutine. The interrupt level number is a decimal number in the range 0-5. If the device operates on more This control record specifies the number of sectors of Working storage to be used by the Assembler for symbol table overflow. The number of overflow sectors (nn) is a decimal number between 1 and 32. If the entry is zero or blank, no overflow sectors are allowed. If the entry is greater than 32, only 32 overflow sectors are allowed. If this control record is not used, no overflow sectors are allowed; if it is used, the Assembler actually allocates one more sector than the number specified. This additional sector is used as a working sector when the Assembler is handling symbol table overflow. The format of the OVERFLOW SECTORS control record is as follows. Card Column 1 2-71 12-80 Contents *OVERFLOW SECTORSbnn Not used Notes Asterisk nn is the number of sectors assigned to symbol table overflow. *COMMON This control record specifies the length (in words) of COMMON as defined by a FORTRAN core load that is to be executed prior to the execution of the program being assembled. Use of this control record provides for a COMMON area to be saved in linking between FORTRAN mainlines and Assembler mainlines. At least one blank must separate the word COMMON and the decimal number. The format of the COMMON control record is as follows. Card Column 1 2-71 72-80 Contents * COMMONbnnnnn Notes Asterisk nnnnn is the number of words of COMMON (decimal) to be saved between links. Not used Monitor Programs 39 FORTRAN COMPILER The basic language for the FORTRAN Compiler in the Monitor system is described in the publication IBM 1130/1800 Basic FORTRAN IV Language (Form C263715); therefore, this section contains only a general description of the Compiler and its operation. The FORTRAN Compiler control records are described in the section FORTRAN Control Records; FORTRAN messages and error messages are listed in Appendix A. The FORTRAN Compiler cannot be operated independently of the Monitor system; however, it can be deleted from the Monitor system if desired (see *DEFlNE under DUP Control Records). A FOR Monitor control record is used to call the FORTRAN Compiler into operation. The Compiler reads the source program, including control records, from the principal input device. After compilation, the object program resides in System Working Storage and can be (1) called for execution with an XEQ Monitor control record, (2) stored in the User IFixed Area with a STORE or STORECI operation (see DUP Control Records), or (3) punched as a binary deck or tape with a DUMP operation (see DUP Control Records). The 1130 FORTRAN 1/0 logical unit numbers and record sizes are listed in Table 3. //b RECORDS READ DURING THE EXECUTION OF A FORTRAN PROGRAM During the execution of a FORTRAN program, any lib record encountered by CARDZ, READZ, or PAPTZ will cause an immediate CALL EXIT. The Supervisor will then search for the next valid Monitor control record entered from the reader. Only the / /b characters on the record trapped by CARDZ, READZ, or PAPTZ are recognized. Any other data entered in this record is not available to programs in the Monitor system. The record is not listed. For off-line listing purposes, however, this record can contain comments (e. g., II END OF DATA). Monitor Control Records). The IOCS and NAME control records can be used only in mainline programs; the others can be used in both mainline programs and subprograms. All FORTRAN control records have the following format: Column 1: *(asterisk) 2-72: Option Table 3. Logical Unit Number FORTRAN I/O Logical Unit Designations and Record Sizes Device Kind of Transmission Record Size Allowed 1 Console Printer Output only 120 2 1442 Card Read Punch Input/output 80 3 1132 Printer Output only 1 carriage control + 120 4 1134/1055 Paper Tape Reader Punch Input/output 80, plus max. of 80 case shifts for PTTC/8 code, plus NL code. 5 1403 Printer Output only 1 carriage control + 120 6 Keyboard Input only 7 1627 Plotter Output only 8 2501 Card Reader Input only 9 1442 Card Punch Output only 80 UDISK Unformatted input/output without data conversion 320* 10 80 120 80 *Unformatted disk I/O comprises 320 word records (including a two-word header). The first word of the header must contain the count of the physical record within the logical record (see example following). The second word of the header must contain the number of effective words in the individual physical record. The second word of the header of the last physical record within a logical record must have the sign bit (-) on. Unformatted disk characters are stored in as they appear in core storage. Example: DIMENSION A (400) 800 words WRITE (10) A FORTRAN CONTROL RECORDS Before a FORTRAN program is compiled, the user can specify certain options affecting both the compilation and execution of the program by means of control records. These control records must precede the source program and can be in any order (see Figure 8). FORTRAN control reCOrds can be entered in card or paper tape form along with the source program deck or tape, or they may be entered from the Keyboard along with the source statements (see 1/ TYP under 40 Physical records (maximum record Logical record (total number of words to be written) 'e: :::W:::::::::r [I z" I I 3 ,;z.) DATA WORDS :64 and sign bit (/80M). Not/FF5C. An end-of-fi Ie record occupies one sector. Word one of the header must be 1 and word two must be a negative zero (/8000). Name ....- Next Monitor Control Record Figure 8. Layout of a FORTRAN Compiler Input Deck If a FORTRAN control record contains an asterisk in column 1, but the option does not agree, character for character, with its valid format, as described below, the asterisk is replaced by a minus sign on the control record listing. The erroneous control record is ignored in the compilation and the option is not performed; however, no error results. FORTRAN control records can be written in free form; that is, any number of blanks may occur between the characters of the option. No remarks are allowed. *IOCS( ... ) This control record is required to specify any I/O device that is to be used during execution of the program; however, only the devices required should be included. Because the lacs control record may appear only in the mainline program, it must include all the I/O devices used by all FORTRAN subprograms that are called. The device names must be in parentheses with a comma between each name. The valid names and the devices to which they correspond are listed below: - Device ~ CARn 2501 READER 1442 PUNCH 1442 Card Read Punch, Model 6 or 7 2501 Card Reader 1442 Card Punch, Model 5 (1442 TYPEWRITER KEYBOARD 1132 PRINTER 1403 PRINTER PAPER TAPE Model 6 or 7 if used as a punch only) Console Printer Keyboard 1132 Printer 1403 Printer 1134/1055 Paper Tape Reader/Punch Device PLOTTER DISK UDISK 1627 Plotter Disk Disk (unformatt~d disk I/O) Note that CARD is used for the 1442 Card Read Punch, Model 6 or 7 and that 1442 PUNCH is used for the 1442 Card Punch, Model 5 (1442 PUNCH may be used with a 1442 Model 6 or 7 if the function is punch only; 1442 PUNCH uses less core). These two names are mutl,lally exclusive; therefore, the use of both the CARD and 1442 PUNCH IOCS Control Records in the same compilation is not allowed. Subprograms that are a part of a FORTRAN core load but are written in Assembler language can use any I/O subroutines for any device that is not specified on the lacs control record. Otherwise they must use the same I/O subroutine as the FORTRAN subprogram. Any num ber of IOCS control records can be used to specify the required device names. The format of the 10CS control record is as follows. Card Column 1 2-72 Contents *lacS (d, d, ••• , d) 73-80 Notes Asterisk d is a valid device name selected from the above list. Not used *LIST SOURCE PROGRAM This control record causes the Compiler to list the source program on the principal print device as it is read in. The format of the LIST SOURCE PROGRAM control record is as follows: Card Column 1 2-72 73-80 Contents *LIST SOURCE Notes Asterisk PROGRAM Not used *LIST SUBPROORAM NAMES This control record causes the Compiler to list on the principal print device the names of all subprograms (including EXTERNAL subprogram s) called directly by the compiled program. The format of the LIST SUBPROGRAM NAMES control record is as follows. Card Column 1 2-72 73-80 Contents *LIST Notes Asterisk SUBPROGRAM NAMES Not used Monitor Programs 41 *LIST SYMBOL TABLE *ONE WORD INTEGERS This control record causes the Compiler to list the following items on the principal print device: This control record causes the Compiler to allocate one word of storage for integer variables rather than the same allocation (two or three words) used for real variables. Whether this control record is used or not, integer constants are always contained in one word. When this control record is used, the program does not conform to the USASI Basic FORTRAN standard for data storage and may require modification in order to be used with other FORTRAN systems. The format of the ONE WORD INTEGERS control record is as follows. • Variable names and their relative addresses • statement numbers and their relative addresses • statement function names and their relative addresses • Constants and their relative addresses The format of the LIST SYMBOL TABLE control record is as follows. Card Column 2-72 *ONE WORD 73-80 INTEGERS Not used 1 Card Column 1 2-72 73-80 Notes Contents *UST SYMBOL TABLE Not used This control record causes the Compiler to print the speCified program name at the end of the listing. The name is five consecutive characters (including blanks) starting at the first non-blank column following NAME. At least one blank niust separate the word NAME and the mainline program name. The format of the NAME control record is as follows. Card Column 1 2-72 73-80 2-72 Contents *UST ALL Notes Not used 2-72 73-80 42 Contents PRECISION Not used Asterisk xxxxx is the name of the mainline object program. Not used This column record causes the Compiler to print the information in columns 3-72 at the top of each page of compilation printout when a 1403 Printer or 1132 Printer is the principal print device. It initially causes a skip to channel 1 when the first statement of the program is read. The format of the header control record is as follows. Card Column *EXI'ENDED *NAMEbxxxxx Notes **(Header Information) This control record causes the Compiler to store variables and real constants in three words instead of two and to generate linkage to extended precision subprograms. The format of the EXTENDED PRECISION control record is as follows. 1 73-80 Contents Asterisk *EXTENDED PRECISION Card Column Asterisk *NAME This control record causes the Compiler to list the source program, subprogram names, and the symbol table on the principal print device. If this control" record is used, the other LIST control records are not required. The format of the LIST ALL control record is as follows. 1 Notes Asterisk *LIST ALL Card Column Contents Contents Notes Notes Asterisk 1 2 3-72 73-80 ** Any string of characters Not used Asterisk Asterisk *ARITHMETIC TRACE Card Column This control record causes the Compiler to generate linkage to the trace subprograms, which are executed whenever a value is assigned to a variable on the left of an equal sign. If console entry switch 15 is on during execution and program logic (see Optional Tracing) does not prevent tracing, the value of the assigned variable is printed as it is calculated. If tracing is requested, an IOCS control record must also be present to indicate that either the typewriter (that is, the Console Printer), 1132 Printer, or 1403 Printer is needed. If more than one print device is specified in the IOCS control record, the fastest device is used for tracing. The traced value for a variable to the left of an equal sign of an arithmetic statement is printed with one leading asterisk. The format of the ARITHMETIC TRACE control record is as follows. Card Column 1 2-72 73-80 1 2-72 73-80 Contents Notes *TRANSFER TRACE Asterisk Not used Optional Tracing The user can elect to trace only selected parts of the program by placing statements in the- source program logic flow to start and stop tracing. This is done by executing a CALL TSTOP to stop tracing or a CALL TSTRT to start tracing. Thus, tracing occurs only if: • Console entry switch 15 is on (can be turned off at any time) • The trace control records were compiled with the source program • A CALL TSTOP has not been executed, or a CALL TSTRT has been executed since the last CALL TSTOP. Operating Notes Contents *ARITHMETIC Notes Asterisk TRACE Not used *TRANSFER TRACE This control record causes the Compiler to generate linkage to the trace subprograms, which are executed whenever an IF statement or computed GO TO statement is enco\IDtered. If console entry switch 15 is on during execution and program logic (see Optional Tracing) does not prevent tracing, the value of the IF expression or the value of the computed GO TO index is printed. If tracing is requested, an 10CS control record must also be present to indicate that either the typewriter (that is, the Console Printer), 1132 Printer, or 1403 Printer is needed. If more than one print device is specified in the IOCS control record, the fastest device is used for tracing. The traced value for the expression in an IF statement is printed with two leading asterisks. The traced value for the index of a computed GO TO statement is printed with three leading asterisks. The format of the TRANSFER TRACE control records is as follows. 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 also displayed in the accumulator when the system waits at $PRET during the execution of th'e PAUSE or STOP statement. Variables and constants that require more than one word of storage have the address of the word nearest the zero address of the machine. In the case of arrays, the given address refers to the addressed word of the first element. In the case of a two- or three-word integer, the integer value is contained in the addressed word. The first variable listed might not be addressed at 0000 because space may be required for generated temporary storage locations. The relative address for variables not in COMMON would be the actual address if the program started at storage location zero. The relative address for variabIes in COMMON would be the actual address if the machine had 32K storage. Variables in COMMON reside in the high-order core location of the machine being used (e. g., first COMMON variable will be loaded to /IFFF on an 8K machine). Any of the three versions of the disk I/O subroutines may be used with a FORTRAN core load. However, under normal circumstances no advantage in speed may be gained, because the FORTRAN disk formatting subroutine operates with one sector at a time. SOCALs may operate faster if DISKN is used. Monitor Programs 43 KEYBOARD INPUT OF DATA RECORDS 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 it is desirable to key in less than 80 characters, the EOF key can be pressed to stop transmittal. Also, the ERASE FIELD or BACKSPACE key can be pressed to restart the record transmittal if an error is detected while entering data. If the keyboard appears to be locked up, press REST KB to restore the keyboard. The correct case shift must be selected before data is entered. Buffer Status After Keyboard Input When the END FLD key is pressed prior to completing a full buffer load of 80 characters, blanks are inserted in the remainder of the buffer. If more data is necessary to satisfay the list items, the remaining numeric fields (I, E, or F) are stored in core as zeros and remaining alphameric fields (A or H) are stored as blanks. Processing is continuous and no errors result from the above condition. OBJECT PROGRAM PAPER TAPE DATA RECORD FORMAT The input! output routines used by FOR THAN (PAPTZ, CARDZ, PRNTZ, WRTYZ, TYPEZ, PNCHZ, READZ, PRNZ) wait on any I/O device error or device not in a ready condition. When the devices are ready, press PROGRAM START to execute the I/o operation. Error detection in functional and arithmetic subroutines is possible by the use of source program statements. Refer to "FORTRAN Machine and Program Indicator Tests" in the manual, IBM 1130/1800 Basic FORTRAN IV Language (Form C26-37l5). CORE LOAD BUILDER The Core Load Builder builds a specified mainline program into a core image program. The mainline program, with its required programs (LOCALs and SOCALs included), is converted from Disk System format to Disk Core Image format. During the conversion, the Core Load Builder also builds the Core Image Header record and the Transfer Vector. The resultant core image program is suitable for immediate execution or for storing on the disk in Disk Core Image format for future execution. The Core Load Builder can build a core load that references up to approximately 150 different LmF and CALL entry points, e. g., 80 LlBFs plus 70 CALLs (the maximum number of LffiFs allowable is 83 due to the size of the LffiF Transfer Vector). The Core Load Builder is called by: • The Supervisor. After the Supervisor has detected the XEQ Monitor control record in the input stream and has read the Supervisor control records, if any, and written them in the Supervisor Control Record Area (SCRA) on disk, the Supervisor dummys up a CALL LINK to the program specified on the XEQ record unless the program resides in Working Storage, in which case the Supervisor calls the Core Load Builder directly. The Core Load Builder then builds the core load and returns control to the Core Image Loader to fetch the core load and transfer control to it. • DUP. After DUP has detected the STORECI control record, it reads the Supervisor control records, if any, and writes them in the Supervisor Control Record Area (SCRA) on disk. Unless the program is already in Working Storage, DUP fetches the program, converts it to Disk System format, if necessary, and stores it in Working Storage. Next, the Core Load Builder is fetched to construct the core image program (see Core Load Construction). After the core image program has been built, the Core Load Builder returns control to DUP to store the core image program in the User or Fixed Area. Data records of up to 80 EBCDIC characters in PTTC/8 code can be read or written by the FORTRAN object programs. The delete and new-line codes are recognize.d. Del~te codes and case shifts are not included in the count of characters. If a new-line code is enountered before the 80th character is read, the record is terminated. If the 80th character'is not a new-line code, the 8lst character is read and assumed to be a new-line code. A newline code is punched at the end of each output record. FORTRAN I/o ERRORS If input/output errors are detected during execution, the program stops and cannot be contined. The error is indicated by a display in the accumulator. The error displays and meanings are listed in Appendix A, Table 12. When the output field is too small to contain the number, the field is filled with asterisks and execution is continued. 44 • The Core Image Loader. When the Resident Monitor is entered at the LINK entry point, the Core Image Loader is called to transfer control to the next link. The Core Image Loader determines the format of the link from the LET /FLET entry and, if the program to be executed is in Disk System format, calls the Core Load Builder to construct the core image program (see Core Load Construction). After the core image program has been built, the Core Load Builder returns control to the Core Image Loader to fetch the core load and transfer control to it. CORE LOAD CONSTRUCTION The following paragraphs describe the functions of the Core Load Builder during the construction of a core image program. These functions are not necessarily performed in the order in which they appear. Figure 9 shows a core image program being built. Figure 5 (see *STORECI under DUP Control Records) shows a core image program stored on disk. Figure 11 (see Fetching a Link under Core Image Loader) shows a core load ready for execution. Processing the Contents of the SCRA The LOCAL, NOCAL, and FILES control records are read from the Supervisor Control Record Area (SCRA) on disk and analyzed. Tables are built from the information obtained from the respective control record types. These tables are used in later phases of the construction of the core image program. Conversion of the Mainline Program The mainline program is converted from Disk System format to Disk Core Image format. The mainline is always converted before any other part of the core load. Working Storage Files Defined in the Core Load LOCALs SOCALs Not Used I I ~~---------------------y---------------------~I Working Storage That Part of the Core Load Below 4096 Not Used Saved COMMON Incorporation of Subprograms All the subprograms called by the mainline program and by other subprograms are included in the core load, except for (1) the disk I/O subroutine, (2) any LOCAL subprograms specified, and (3) SOCALs (see System Overlays). LOCALs have been specified or if SOCALs are employed by the Core Load Builder, the LOCAL/SOCAL flipper (FLIPR) is included in the core load. The order of conversion is generally NOCALs, followed by the subprograms in the order they are called. The order of processing when either LOCALs or SOCALs are included is more complicated and will not be discussed here. ---rr Provision for LOCALs and SOCALs If LOCALs have been specified, a LOCAL Area as large as the largest LOCAL is reserved in the core load, into which the LOCAL subprograms are read by the LOCAL/ SOCAL flipper. In addition, the subprograms specified on the LOCAL control records are written in Working storage following any files defined in Working storage. If the core load is executed immediately, each LOCAL is read, as it is called, from Working storage into the LOCAL Area by the LOCAL/SOCAL flipper. If the core load is stored in Disk Core Image format before it is executed, the LOCALs are stored following the core load. During execution, the LOCAL/SOCAL flipper fetches them from the User/Fixed Area. If SOCALs are employed by the Core Load Builder, a SOCAL Area as large as the largest SOCAL (usually SOCAL 2) is reserved in the core load, into which the SOCALs are read by the LOCAL/SOCAL flipper. In addition, the subprogram s comprising the SOCALs are written in Working storage following any files defined in Working storage and any LOCALs stored there. If the core load is executed immediately, each SOCAL is read from Working storage into the SOCAL Area by the LOCAL/SOCAL flipper as it is called. If the core load is stored in Disk Core Image format before it is executed, the SOCALs are stored following the core load and the LOCALs, if any. During execution, the LOCAL/ SOCAL flipper fetches the SOCALs from the User/ Fixed Area. ~~--__v_----~A~----~v__--~A~----_\ ,I I I I ) y Construction of the Core Image Header Core Image Buffer Resident Monitor Core Load Builder That Part of the Core Load Above 4095 I~I...-----A--r------A , Location 0000 End of DISKZ Location 4096 y Core Storage Figure 9. End of Core During the construction of the Core Image program, the Core Load Builder also constructs the Core Image Header, which contains the information required by the Core Image Loader to initialize the core load for execution. This header becomes a part of the core image program and resides in core along with the rest of the core load during execution. Since FORTRAN subroutines access this information during execution, the header is not to be considered a work area. Distribution of a Core Image Program being Built Monitor Programs 45 Processing Defined Files The Core Load Builder uses the information in the FILES control record to equate files defined in the mainline program (by the FORTRAN DEFINE FILE statement or by the Assem bIer FILE statement) to Data Files on disk. The processing consists of comparing the file num ber in a 7 -word DE FINE FILE table entry with each of the file numbers from the FILES control records, which have been stored in the SCRA by the Supervisor or DUP. If a match occurs, the name of the disk area associated with the file number on the FILES control record is found in LET /FLET, and the sector address of that disk area (including the logical drive code) is placed in word 5 of the DEFINE FILE table entry. If none of the file numbers from the FILES control records match the number in the DEFINE FILE table entry or if no name is specified on the FILES control 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 word 5 of the DE FINE FILE table entry. This procedure is repeated for each 7 -word DE FINE FILE table entry in the mainline program. Use of the Core Image Buffer (ClB) and Working Storage The Core Load Builder places in the CIB any parts of the core load which, when loaded, are to reside below location 4096. Any parts of the core load that are to reside above location 4095 are placed directly into core storage. Enough Working Storage is reserved by the Core Load Builder to contain any Data Files assigned by the Core Load Builder to Working Storage. All the LOCAL subprograms and SOCALs, respectively, are stored in Working Storage following any files defined there. Figure 9 shows the distribution of a core image program between core storage, the CIB, and Working Storage. These diagrams depict a core image program just after it has been built but before it has been stored (STORECI). Assignment of the Core Load Origin The Core Load Builder origins core loads built from relocatable mainline programs at the next higheraddressed word above the end of the disk I/O subroutine to be used by the core load plus 30. Disk I/O Subroutine in Core DISKZ DISK 1 DISKN Core Load Origin Decimal Hexadecimal 510 690 960 /01FE /02B2 /03CO The origins for core loads built from absolute mainline programs are not controlled by the Core Load Builder. Therefore, the user must origin absolute 46 mainline programs at 30 or more words above the end of the disk I/O subroutine to be used by the core load (these 30 words are required for the Core Image Header). TRANSFER VECTOR The Transfer Vector is a table included in each core load that provides the linkage to the subprograms. It is composed of the LIBF TV, the Transfer Vector for subprograms referenced by LIBF statements, and the CALL TV, the Transfer Vector for subprograms referenced by CALL statements. Each CALL TV entry is a single word containing the absolute address of an entry point in a subprogram included in the core load that is referenced by a CALL statement. In the case of a subprogram 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 subprogram entry point address. If" SOCALs are required, the CALL TV entries for function subprograms contain the address of the special SOCAL linkage instead of the subprogram entry point address. Each LIBF TV entry consists of three words. Word 1 is the link word in which the return address is stored. Words 2 and 3 contain a branch to the subprogram entry point. In the case of a subprogram referenced by a LIBF statement but specified as a LOCAL, the LmF TV entry for its entry point contains a branch to the special LOCAL linkage instead of to the subprogram entry point address. If SOCALs are required, the LIBF TV entry for a SOCAL subprogram contains a branch to a special entry in the LIBF TV for the SOCAL of which the subprogram is a part. This special entry provides the linkage to the desired SOCAL subprogram. SYSTEM OVERLAYS SOCALs (system-overlays-to-be-Ioaded-on-call) are subprogram groups (by type and subtype) that are made into overlays by the Core Load Builder. They make it possible for many FORTRAN core loads that would otherwise not fit into core to be loaded and executed. 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 by the Core Load Builder for the core load. In addition, the LOCAL/SOCAL flipper, which fetches the SOCALs when they are required during execution, is included in the core load along with the area into which the SOCALs are loaded (the SOCAL Area). The SOCALs are created by subprogram type and subtype (see the description of program type and subtype under Disk System Format in Appendix C). The following table describes the SOCALs. Subprogram Class Arithmetic Function Non-disk FORTRAN I/O and "Z" conversion subroutines liZ" device subroutines Disk FORTRAN I/O Type Subtype Overlay Number) ~SOCAL 3 4 3 8 3 1 1 2 5 3 3 1 2 3 2 There are two SOCAL options. The Core Load Builder first attempts to make the core load fit into core by using SOCALs 1 and 2 only (option 1). If the core load still will not fit into core, SOCALs 1, 2, and 3 are used (option 2). If the use of option 2 still does not make it possible for the core load to fit into core, an error message is printed (see Core Load Builder Error Messages, Appendix A). Option 1 reduces the core requirement of the core load by an amount equal to the size of the smaller of the two SOCALs used, minus approximately 15 additional words required for the special SOCAL linkage. Option 2 reduces the core requirement by an amount equal to the sum of the sizes of the two smallest SOCALs minus approximately 20 additional words required for the special SOCAL linkage. SOCAL 2 is usually the largest SOCAL. Each SOCAL does not contain all the available subprograms of the specified types and subtypes; only those subprogram s of the specified types and subtypes required by the core load are contained in the SOCAL. If a subprogram that would otherwise be included in a SOCAL is 'specified as a LOCAL subprogram, that subprogram is made a LOCAL and is not included in the SOCAL in which it would ordinarily be found. SOCALs are never built for core loads in which the mainline program is written in Assembler language. LOCAL/SOCAL FLIPPER (FLIPR) The LOCAL/SOCAL flipper is included in each core load in which LOCAL subprograms have been specified and/ or in which SOCALs have been employed. If execution of the core load immediately follows the building of the core image program, this subroutine reads a LOCAL/SOCAL from Working Storage into the LOCAL/ SOCAL Area as it is called during execution. If the core image program was stored in the User or Fixed Area in Disk Core Image format prior to execution, the flipper reads each LOCAL/SOCAL as it is called during execution from the User or Fixed Area (where it was stored following the core load) into the LOCAL/SOCAL Area. The flipper is entered via the special LOCAL/SOCAL linkage. A check is made to determine if the required LOCAL/SOCAL is already in core. If it is not in core, the flipper reads the required LOCAL/SOCAL into the LOCAL/SOCAL Area, and transfers the LOCAL/SOCAL subprogram via the special linkage. CORE IMAGE LOADER The Core Image Loader serves both as a loader for core loads and as an interface for some parts of the Monitor system. On any entry to the Skeleton Supervisor, the Core Image Loader is fetched and control is transferred to it. The Core Image Loader determines where the Skeleton Supervisor was entered, i. e., at $EXIT, $DUMP, or $LINK. FETCIDNG THE SUPERVISOR If an entry was made to the Skeleton Supervisor at the $EXIT entry point, the Core Image Loader first fetches the disk I/O subroutine used by the Monitor programs (DISKZ), if it is not already in core. It then fetches and transfers control to the Monitor Control Record Analyzer to read Monitor control records from the input stream. If an entry was made to the Skeleton Supervisor at the $DUMP entry point, the Core Image Loader first saves words 6-4095 on the crn and then fetches and transfers control to the DUMP program to perform the core dump according to the parameters specified. At the completion of the dump, the DUMP program either restores core from the CIB and transfers control back to the core load, or it terminates the execution with a CALL EXIT (see Terminal and Dynamic Dumps under Supervisor). FETCHING A LINK If an entry was made to the Skeleton Supervisor at the $LINK entry point, the Core Image Loader first saves low COMMON (locations 1536-1855 if DISKN is in core,' locations 1216-1535 if DISKI is in core, or locations 896-1215 if DISKZ is in core). It then determines from COMMA the lowest-addressed word of COMMON, if any, defined by the core load just executed. Any COMMON below location 4096 is saved in the CIB by the Core Image Loader. Figure 10 illustrates the scheme used in saving COMMON between links. The LET /FLET entry for the link to be fetched is then located, and the Core Image Loader determines from it whether the link is in Disk Core Image format or Disk System format. If the link is in Disk Core Image format, the Core Image Loader fetches the disk I/O subroutine required by the core load, if it is not already in core. It next restores low COMMON if it lies within the COMMON defined by the core load just executed. The core load is then. fetched and control is transferred to it. If the link is in Disk System format, the Core Image Loader calls the Core Load Builder to construct a core image program from the mainline program. After the core image program has been built, the Core Load Builder returns control to the Core Image Loader, which then fetches the core load, as described above, and transfers control to it. Figure 11 shows the layout of a core load loaded into core, ready for execution. Monitor Programs 47 Core Image Buffer ~~~~~ __________________ ~A~ ____________________________ ( Core load Built ~ Sector Figure 10. b ~ ~ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 I I I I I I I I I I I I I I I 4: ~nl~ LOCAL! :J ~~~Lro_~~~_S_O~~_l .Flipper__~_l_O_~_l_A_r_~~_m_C_A_l_A_re_a~___u_n_~_~___~T_ro_rn_fu_r_~_c_~_r~_C_O~~ON NOCALs Core Image Header Figure 11. Layout of a Core Load Loaded for Execution 48 I Scheme for Saving COMMON between llnks ~~~M~~ location ~ Saved COMMON "\ End of Core PROGRAMMING TIPS AND TECHNIQUES The information presented in this section should assist the user in achieving maximum utilization of the Monitor system. • No validity checking of the function indicator • No write without readback check option • No write immediate function USING THE DISK I/O SUBROUTINES • Word count may not be on an odd boundary All core loads, whether they use disk I/O or not, require one of the three disk I/O subroutines. As a minimum, this disk subroutine is used to read the core load into core and execute CALL EXIT, CALL LINK, CALL DUMP, and/or CALL PDUMP. Generally, DISKZ is used by FORTRAN core loads and DISK1 or DISKN by Assembler-Language core loads. DISKN provides faster operation than DISK1 for operations involving more than 320 words, as well as the simultaneous operation of disk drives. DISKZ is intended for use only in an error-free environment, because it does no preoperative parameter checking, whereas DISK1 and DISKN do. DISKZ also has a special calling sequence; DISK1 and DISKN have the LIBF calling sequence. Bear in mind that all three disk subroutines are assembled as mainlines and are thus not the same as programs stored in the System Library, even though DISK1 and DISKN (but not DISKZ) may be referenced with the LIBF statement. They are described with library subroutines because they are similar in some respects to library subroutines. Actually, they are neither incorporated into the core load like library subroutines nor are they stored in the System Library. A switch is set in COMMA to indicate which version of disk I/O is requested on the XEQ record. The setting of this switch is not altered until 1) a Monitor control record is read or 2) a link that is stored in DCI is called. In the first case the switch is set to indicate DISKZ, unless the record was XEQ, in which case the switch is set to indicate whatever version is requested. In the second case the switch is set to indicate the version of disk I/O required by the link. In short, each DSF link except the first in an execution must utilize the same version of disk I/O as the preceding link. The first link must, of course, utilize the disk I/O specified on the XEQ record. In order to save core in Monitor programs, all of which utilize DISKZ, DISKZ has been pared to a minimum. The following is a list of functions that are not available in DISKZ but are available in DISK1 and/or DISKN. • No simultaneous disk operations • Does not "make" the sector gap when reading or writing more than 320 words THE USE OF SOCALs Restrictions' on Subroutines in SOCALs A rule of prime importance regarding subroutines in the SOCAL scheme is that none must cut across SOCALs. That is, a given subroutine that is in one SOCAL may not call a subroutine that is in another SOCAL or cause another SOCAL to be brought into core before the execution of the given subroutine is completed. This is due to the fact that the IBM-supplied 1130 subroutines that go into the SOCAL scheme are not re-enterable. It should also be noted that disk I/O is used every time a SOCAL is brought into core. This means that disk I/O will sometimes be entered without the user's direct lmowledge. Decreasing Program Execution Time When writing or modifying a program that is lmown to require SOCALs, planning is required to minimize the flipping of the various SOCALs in and out of core during execution. Ideally the program should be written in sections, each of which employs a single SOCAL, e. g. , input, computation, and output. Even input and output should be carefully planned so as to separate disk and non-disk operations whenever possible. TIPS ON MONITOR CONTROL Temporary JOB Mode • No validity checking of the word count and sector address • No file protection • No LIBF type calling sequence In many cases DUP delete functions must be performed to clear the User Area of old programs before newly assembled or compiled programs may be stored. The necessity for such deletions is avoided by using the temporary mode when running jobs that contain programs Programming Tips and Techniques 49 that are likely to be replaced at a later time. In the Temporary mode all programs stored to the User Area are automatically deleted when the next JOB record is processed. This assures the user that his new program is the one stored in the User Area and is particularly useful while debugging. It is also permissible to provide no system cartridge on the system at this time if no further system operations are' required, e.g., CALL EXIT, CALL DUMP, or CALL LINK. This is particularly useful to the one drive user. The FORTRAN calling sequence for SYSUP is described in the section of this manual entitled System Library Utility Subroutines. EJECT Monitor Control Record The EJECT record is used to control the beginning of a new page on the principal print device during a job. For example, messages to the operator of the Monitor Comments control record type may be placed in a more readable position if followed by an EJECT record. Example: 2 3 .( S 6 7 1 , 10 " 12 13 I. 15 .. 1711" 2021 22 23 ZC2S 2627212930 31 3233:U 3S 3637 3139 40 ."'2.3 '/~ J.O.& . • • ~~ , , -'-I , I -.L....&..-' • -.... !/./.'rl I/~ .E:i.£c.r I/./: ,PAU.~~ ·.. · . ~-t.s. I \ .I I I I . , , . I • , ., I , I I MAXIMUM PERFORMANCE OF HIGH SPEED DEVICES Double Buffering The 2501 Card Reader model A2, rated at 1000 cards per minute presents a special problem to the programmer who desires maximum performance from his card I/O operations. If any conversion of the card data is required, the reading speed is likely to drop to 500 cards per minute, unless double-buffering is used . The principle involved, is to read into one buffer while converting and processing the data from another buffer. This scheme does cost core for the extra buffer and additional programming involved, but in most cases it should allow the card throughput for the 2501 to remain at 1000 cards per minute. The coding illustrated below shows the double-buffering technique used for reading cards from the 2501, and converting them to EBCDIC. ...., Changing cartridges in the middle of a job is permissible; however, great care must be exercised. A system update operation must always be performed. This function is provided by the System Library subroutine SYSUP. The subroutine should be called immediately following the loading of the new cartridge or cartridges as follows: ""...... " " Io.c. ID.c.. W. IR..E.A.o.. 1D.c, 1D,c. IS .... T.1 ....., .. 0p0....1an u " Ir.A.L.L In.l'. . lAoD.~ Lo.c, In.r. In,c. ID.Co 1D.c, F '.C;. .. .. T "" "c. " ....L.B.E' lD.c., .n.Cn." " " - • b.Lo. ........ ........... .".".V iL.iI!.Z.Z,lIL I I I I I a I I I I I I I I I I I • (.CoAJfi'L ~ ~~ • (.eA.II"1' • • r.n .()", .""G.... .A, •.c, .f.) • z.) ..D6.r..JI.L ..?) ,(.CoA.R..L ,z.D._.t1h .1.n,tt;./,r,A,L ,4.) .0." oLJJ~ ..•. " ~ .",-~-~ ,"'.U.I.S, ,/1.1£..4,0. ,r" .n. ,r.,.., .nAl..v. .n.T....,.T.4........ .... ~.A.n. ,&.r.s .r.n. ... .".T.e.'" .a.a. .Tn .~.~.r. .e. •,".ALS.T. ' .r.8oM ,c..AoR,o,...c.t:JtI:lL, ,£'.BL'.n.r,c. .T, lP, j,T .A,R,~, .n.IJ.T.D, '.T, .A.R.E.JI ~ ,Noll. ia....: .... ... .~ ."'.llI "i e." .".a.AI,V, ." •. r., ~R..... TD,II.I ~ .~r ,.,. IR.II! IC..4..L...&. .T..4,S " ,T.O. ,"A .F'• . r.""'" r~ ..0.0. IA.JO.A.n.R. IS,T,a 1'<:,"'.T.1. 14.... 1... C .... n.R. IA IO.A1,E, M,D" l.,.,..T.2. lC;.F:.T ..~. ~,T,a, c. iD.x.Noli .c.UoA.AI,r.;.E:, ,R.£Aol), ,"'.1 ~ ',I:,I:.F'.IfI. ......"'=.",.... ...r,n.R. I,E.X,T, ,T.r.ME: •. T.U .... ,c,IL.A..N.Gi.oE.. .... .......".. '.T.'U·.n. ~ .t'I.", ... .4.1J.0. ,O,U.T.PlU,-r ••B.F'.R ... oFJ.O,J>". .r ,.... ,""I.n • .n. ,,..,n, ...a,MII . . olII J.. . lB. ... IR.E.A.O, .oJ.",....". .4.12,"'.4,s. Il, Io..N..E.. Ia. I.E'~, IoJ:. I.o.c. .V,A, IB.U.F.Z, 110, ID.C. 1a.6!. lA.iII. ~ I,E, o..E.Q&.. ,C,A,R,a .RoLIoE..E.£oR. .al:..'1., .r.JI.D.n. .AoO:,A. . "l. .,L .c.a. IJiLL ~ ,CoA,R.D• .B.t:,R, .:2.. .(',4,/l,0. . 11. ',F.FE,R. ,Z, ,MOlD.R.D. i&~ IB.s..s. J.. .1IIJ.l1"RoD,. 11I.1lI. Iss,s. .. ...•• JII LA.AI.D, R. so . . lIE, The IDs of cartridges to be used must be specified, even those that were previously specified except the master (logical 0), which if unspecified will be the previous master. Continuation of the job must be delayed until all the newly loaded cartridges are ready. Rules governing the specification of cartridges are the same as those for the JOB Monitor control record. .• .~.r.p.r.t"J ,lI I .11.) .r.JI, .n,r.. ....It. ,z.o. .( ,c,A.P.T, ,(,(".AoII,-(. ,L,a, " I,A,E,- <2 12.r.p,c.l), 1/.t.1,d!.1 IA. I.I:.~ ... ~ 1& Ia. " .nn. . T •. I.r,s, .p,E:,lI,a ,wr '-,U,N,T,I, I/.f..liili,., IA. '.I:.~ Ill,C, IR,T.E, I Opon..do&..-. 'I", ,lIf.c.A.R,D" 1",.#'.A.n.m. ID.l::. I.a.c IsJ...o.. --'- .PoR.I 1/01.411.•.0. lAo lI:.~ LC;.E:.T.2. .n.ll.R. I " Is....£.:L.3. .. Opon,nd,&.~.JI I.... 1",.... 4.n. •. lit. !It.. " ..LaE .. F T u " "" I.L....La.E ..... ...dI •T I.. IE, Ie, .~. . .. ......... . 4 ........ ~ .(1.1::, .T. I,f". ,C.JI.Il.o• .......JI.n.T. I.r. • n.n.P. •PJI.r.lI., Ia. III, \a.~.A.D,A .. .. HI ,Al.A,KoE, .N,E,JC...L Is.soS 106. !D,c lEI. ID.c. lBolJoJ'.2, I..... ".T."'''' ,E:,V.£.N, .o...E.. .r."."'.n .AII.I:.I:.E:.R, ,1. ,0.1=, .r.4.Il.n ... J.I:....F,,,.. . 2. 1403 Conversion Subroutines Intermediate I/O Two subroutines are provided with the Monitor system that may be used by Assembler object programs to convert EBCDIC to 1403 Printer Code. These subroutines are EBPRT and ZIPCO. U sing the execution times listed in the Subroutine Library manual, the average time EBPRT requires to convert a 120 character line is 156 m s. This compares with an estimate of 72 ms per line for ZIPCO. Considering that the available times on the 1403 Printer are As the source records are read and processed by the Assembler in Pass 1, each statement is packed and saved on the disk in Working storage. The part of the record that is saved is from column 21 to the last nonblank column. If no listing is specified, comments records are not saved on the disk. Each record saved on the disk is preceded by a prefix word that contains the length of the associated record plus one. Up to sixteen 38-column records are saved on one sector. Model 6 (340 LPM): 176 ms/line Model 7 (600 LPM): 100 ms/line it would be difficult or impossible to run the printer at rated speed, depending on the model, using EBPRT. If overlapped I/O were attempted, it would be impossible to run either model at rated speed. The assembly language programmer is therefore advised to use ZIPCO for all EBCDIC to 1403 Printer code conversions. WRITING ISS AND ILS Interrupt Service Subroutines The following rules must be adhered to when writing an ISS: • Precede the ISS statement with an LIBR statement if the subroutine is to be called by LIBF rather than CALL. • Precede the subroutine with an EPR (extended) or an SPR (standard) statement if precision specification is necessary. • Precede the subroutine with one ISS statement defining the entry point (one only), the ISS number, and the ILS subroutines required. The device interrupt level assignments, and the ISS numbers used in the IBM-provided ISS and ILS routines, are shown in Table 4. See the 1130 Assembler Language Manual (Form C26-5927), for a description of the ISS statement. Note that the ISS numbers assigned by the IBM-supplied subroutine range from 1-11. ISS numbers 12-20 are assignable by the user. (They should be assigned from 20 downwards. ) • When assembling the ISS, an *LEVEL n control card must be included for each interrupt level associated with the device. • The entry points of an ISS are defined by the related ILS. This must be taken into consideration when a user-written ISS is used with an IBM supplied ILS. The ILS executes a Branch and Store I instruction to the ISS at the ISS entry point plus n (see Table 4). The ISS must return to the ILS via a BSC instruction (not a BOSC). TIPS FOR ASSEMBLER LANGUAGE USERS Grouping of Mnemonics Assem bIer language program s can often be organized in such a manner as to improve the assembly time. The Assembler Program is divided into overlay phases, each phase processing a certain group of mnemonics. By grouping mnemonics of a common type in the source program, fewer disk reads of overlay phases will be required by the Assembler. The following is a list of the mnemonics as they are grouped within the Assembler program: A. B. C. D. E. F. ABS, FILE, ENT, ISS, ILS, SPR, EPR DCs and imperative instructions (A, LD, EOR, BSC, etc.) DEC and XFLC DMES HDNG, ORG, EQU, BSS, BES, LIST, SPACE, EJCT, DUMP, PDMP LIBF, CALL, DSA, LINK, EXIT, EBC, DN Each time a mnemonic is encountered during the assembly process, the overlay phase required to process it will be read into core, unless it is already residing in core. Programming Tips and Teclmiques 51 Table 4. ISS/ILS COlTespondence ISS Number Device Interrupt level Assignments Device n 1 1442 Card Reader Punch 0,4 +4, +7 2 Input Keyboard/Console Printer 4 +4 3 1 134/1055 Paper Tape Reader/punch 4 +4 4 Disk Storage 2 +4 6 J 132 Printer 1 +4 7 1627 Plotter 3 8 Synchronous Communications Adapter +4 I 9 10 1 +4 1403 Printer 4 +4 1231 Optical Mark Page Reader 4 +4 Interrupt Level Subroutines An ILS is included in a core load only if requested by an ISS that is a part of the same core load. ILS02 and ILS04 are a part of the Resident Monitor unless they are deleted from the System Library and replaced with userwritten subroutines. The following rules must be adhered to when writing an ILS. • Precede the subroutine with an ILS statem ent to identify the interrupt level involved. • Precede all instructions by an ISS branch table and include one word per ILSW bit used. If the ILSW is not to be scanned, (i. e., a single ISS handles all interrupts on the level), then a one word table is sufficient. The minimum table size is one word. Table words must be non-zero. A zero must follow the branch table. is the ISS number implied by bits 8-15 of the branch table word and specified in the ISS statement. This number identifies a core location in which the Core Load Builder has stored the address of the called entry point in the ISS. This entry point address is incremented by the value in bits 0-7 of the branch table word, prbducing the interrupt entry point address. The Core Load Builder replaces the ISS branch table word with the interrupt entry point address. During execution, each address in the branch table may be used with an indirect branch and store I (BSI) instruction to reach the ISS corresponding to that ILSW bit position. The ILSW bit that is ON can be determined by the execution of a SLCA instruction. At the completion of this instruction, the index register specified contains a relative value equivalent to the bit position in the ISS branch table. An indirect, indexed BSI may then be used to reach the appropriate ILS. Before processing by the Core Load Builder, each word in the ISS branch table has the following format: Bits 0-7 -- Increment added to the entry point named in the ISS statement to obtain the interrupt entry point in the ISS for this ILSW bit. (In IBM -written ISS subroutines, this increment is +4 for the primary interrupt level and +7 for the second interrupt level.) Bits 8-15 -- @ISTV+ the ISS number for the ISS subroutine for this ILSW bit. • The ILS entry point must immediately follow the ISS branch address 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 the branch table and is also the entry point of the ILS. (The table must contain at least one entry.) The interrupt results in a BSI to the ILS entry point. • To clear the level, a user-written ILS, used with an IBM-supplied ISS, should exit via the return linkage with a BOSC instruction. • User-written ILS must replace the equivalent IBMsupplied ILS. The user written ILS must be stored as ILSOx, where x = 0, 1, 2, 3, 4, or 5. • The IBM-supplied ILS02 and ILS04 subroutines are stored as subtype 1. User-written replacements must be stored as subtype zero. • The branch table for ILS04 may have no more than 9 entries. Word Corresponding To ILSW Bit 15 ILSW Bit 14 ILSW Bit 0 I ISS Branch Table The ISS branch table identifies both the ISS subroutine and the point within the ISS which should be entered for each bit used in the ILSW. The actual linkage is generated by the Core Load Builder. Basic to this generation 52 READING A CORE MAP AND A FILE MAP The core maps described below are taken from the sample programs supplied with the Monitor system. (The sample program listings and operating instructions are printe<;y in Appendix J.) The core map for the Assembler-language sample program indicates that there were /7904 words of core storage not occupied by the core load (R41 is an informational message, not an error message). There was only one CALL (FSQR), but there were several LmFs, e. g., FARC. 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 proper. The entry point to the mainline program is /OlFE. The principal difference in the core map printed for the FORTRAN-language sample program is that it includes a file map. The file defined as file number 103 has been equated to a data file named FILEA, which begins at sector /OlAE, is one sector in length, and is stored on a cartridge labeled OOOF. If file 103 had required more than the two sectors available in FILEA, the record count would have been reduced to make the file fit in FILEA, and the file map entry would have been 103 01AE 0002 OOOF FILE A TRUNCATED The files defined as 101 and 102 are files in Working Storage because they do not appear in the *FlLES record. This can be determined by looking at the rightmost entry in the file map. For files defined in the User /Fixed Area, for example, FILEA, this entry is the name of the file; otherwise, it is the address of Working Storage. The second entry for a User/Fixed Area file is the absolute sector address of the first sector of the file. For files in Working Storage, this address is relative to the first sector of Working Storage. Thus, the absolute sector address of the first sector of file 101 is /0000 + /01BO; for file 102 it is /0001 + /OlBO. Note that the 4K example requires both LOCALs and SOCALs. The LOCALs were, of course, requested by the user, and the core map entries for the LOCAL subroutines (FLOAT, FARC, and IFIX) have been flagged. The presence of SOCALs, which were selected and constructed by the Core Load Builder, are also indicated by flags on the core map entries for the subroutines included in the various SOCALs. The number following the word "SOCAL" indicates in which of the SOCALs a particular subroutine is to be found. In this case SOCAL Option 2 was employed. This can be deduced from the fact that there are three SOCALs. Option 1 consists of only two. Several other facts about the 4K core load can be extracted from the core map. For one thing, the core load exceeds the capacity of core storage (before SOCALizing) by /03AB words (message R40). Furthermore messages R43, R44, and R45 indicate that SOCALs 1, 2, and 3 reqUire /0124, /06AC, and /02A2 words of core, respectively. This information indicates that, for example, since SOCAL 2 is much larger than SOCAL 1, more arithmetic and function subprograms may be called at little extra cost in core. (It would be necessary to reduce the dimension of the variable B to realize this.) Message R41 say s that, after ' SOCALizing, there are only /0004 words of core that are not used by this core load. Assembler Core Map 1/ XEQ L R 41 7904 (HEX) WDS UNUSED BY CORE LOAD CALL TRANSFER VECTOR FSQR 0248 LIBF TRANSFER VECTOR FARC 069E XMOS 0682 HOLL 0632 PRTY 05E2 EBPA 0592 FAOO 04El FDIV 0540 FLO 048C FADDX 04E7 FMPYX 04A2 FSTO 0470 FGETP 0456 NORM 042C TYPEO 0312 EBPRT 02AC IFIX 0280 FLOAT 0230 SYSTEM SUBROUTINES ILS04 00C4 IlS02 00B3 01FE (HEX) IS THE EXECUTION ADOR FORTRAN Sample 4K Core and File Map II XEQ l 2 *lOCAl'FlOAT,FARC,IFIX *FILES(10"FIlEA) FILES AllOCATION 103 OIAE 0001 OOOF FIlEA 101 0000 0001 OOOF 01BO 102 0001 0001 OOOF 01BO STORAGE ALLOCATION R 40 0'A8 (HEX) ADDITIONAL CORE REQUIRD R 43 0124 (HEX) ARITHIFUNe SOCAl WD CNT R 44 06AC (HEX) FIIO, 110 soeAL WD CNT R 45 02A2 (HEX) DISK FIIO SOCAl WD CNT R 41 0004 (HEX) WDS UNUSED BY CORE lOAD LIBF TRANSFER VECTOR EBCTS OF53 soeAl 2 HOlTA OF17 SOCAl 2 GETAO OED4 soell 2 XMOS 0982 soeAl 1 HOlEl OE9E SOCAl 2 NORM 07De FADDX 0950 SOCAl 1 FSBRX 0934 soeAl 1 FMPYX 0900 soeAl 1 FDIV 08AE soeAl 1 FSTOX 0788 FlDX 07A4 SDCOM 0920 soeAl 3 SDFX 08E6 soell , Programming Tips and Techniques 53 SOWRT SIOFX ,sUBSC SIOI 0954 OttA 078E 099E 0982 08AB 0880 The variable array A is to be found between core locations /OODC + /001E + $ZEND and /0016 + /001E + $ZEND, inclusive. That is, Al is at /OODC + /001E + $ZEND, A2 at /OODB + /001E + $ZEND, etc. The /OOlE term is the length of the Core Image Header and $ZEND is the address of the first core location following DISKZ. The other allocation addresses, e. g., statement allocation, may be calculated in a similar manner. SOCAL 3 SOCAL 2 SOCAl 2 SCO~P SOCAl 2 SWRT SOCAL 2 SRED SOCAl 2 FSTO onc Fl.O 07Ae PRNTl OOEO SOCAL 2 CAROl 0036 SOCAl 2 SFIO 09AO SOCAl 2 SOFIO 0959 SOCAl , IFIX OB7C lOCAL FARC 087C lOCAL PLOAT OB7C LOCAL SYSTEM SUBROUTINES IlS04 00C4 Il.S02 0083 ILS01 OF5A 1 LSOO OF75 FLIPR 0816 0400 IHEXI )S THE EXECUTION AOOR INITIALIZING $$$$$ DATA FILES FOR USE WITH FORTRAN UNFORMATTED I/O The user must define a Data File with the name $$$$$ prior to executing a FORTRAN mainline program or subroutine that uses unformatted I/O. This Data File must be located in the Fixed Area. One file may be defined in the Fixed Area of each cartridge on the system; however, only one $$$$$ file may be referenced in anyone job. The following example shows a $$$$$ file being defined on a satellite cartridge. FORTRAN Sample 8K Core and File Map II, XEQ L 1 ·'ILESC103.FIlEAI FILES ALLOCATION 103 OlAE 0001 OOOF 'ILEA 101 0000 0001 OOOF 0180 102 0001 0001 OOOF 0180 STORAGE ALLOCATION R 41 OC9C (HEXI wes UNUSED BY CORE LOAD LIBF TRANSFER VECTOR E8CTa UCO HOLTS 1291 G!TAD 124E NOR,.. 1224 XMOS 1208 FARC 11E6 HOLEZ 1180 FLOAT llA6 IFIX 117A FADOX 1125 F58RX 10FC FMPYX 10C8 FOIV 1076 FSTOX 101E FLDX 103A SDCC»'! 07FE SOFX 07C4 SOWRT 0832 SIOFX OSIA SUBSC 1054 SIOI OB1E SCO~P OB02 SWRT OA2A SRED OA30 1022 FSTO FLO 103E PRNTl OF60 CAROZ OEB6 SFIO OB20 SOFIO 0.837 SYSTEM SUBROUTINES ILS04 00C4 ILS02 00B3 ILSOl 1202 IL500 UEO 0400 CHEXI IS THE EXECUTION AOOR The satellite cartridge ID is 1004 The system cartridge ID is 1001 A file of 100 sectors is desired After the file is defined, program ML1 which uses unformatted I/O can be executed. Note that no *FILES card is required at execution time to define the $$$$$ file. .1()Q4 . USE OF DEFINED FILES LOCATING FORTRAN ALLOCATION ADDRESSES The variable allocations listed below are taken from the FORTRAN sample program in Appendix J. VARIABLE AIR V3CI l211 KI r ALLOCATIONS )-000C-0016 ,-020E '-0214 '-02lA OCR '-020A 1141 (I 1-0211 Nil 1-0217 54 XCR I-OOFO-OOOE MIl '-020F NlII 1-0215 IKII 1-021B SIR LI I N21I Il(I ,-0208-00F2 1-0210 ).0216 '-021C Vl (I 1-02,OC 1142(1 )-0212 V2CI '-0200 IC I )-0218 Ll (l '-02lS JC I h0219 When an *FILES Supervisor control record is used following a / / XEQ Monitor control record, or a *STORECI control record, the Core Load Builder attempts to locate the file name by searching LET or FLET. If the name is found, the sector address of this Data File is inserted in the file table (created as a result of the FORTRAN DEFINE FILE statement or the Assembler FILE mnemonic) identified by the file number specified on the *FILES record. If the file name is not found in LET or FLET, the Core Load Builder causes this file to be a Working Storage file. A suggested way of initially allocating a disk area for a Data File is to perform a *STOREDATA DUP operation from Working Storage to the User or Fixed Area. The number of sectors stored should be determined on the basis of the number of records the file is to contain, and the size of each record. Note that records do not continue across sector boundaries. Once the number of sectors required has been determined, this number of sectors should be specified on the *STOREDATA control record, provided the User Area or Fixed Area is large enough to contain this file. initialize sector addresses only. operating procedure. ) (See p. 87 for If some part of the Monitor System has been DUPLICATE PROGRAM AND DATA FILE NAMES destroyed (including LET, FLET, User Area and Fixed Area) a reload function may be performed with the System Loader. In this case, the entire Monitor System deck, except the System Library, should be processed by the System Loader. On a multi-drive system, it is possible to have more than one program or data file with the same name. This can cause problem s when attempting to execute or delete the named program. MAINLINE PROGRAMS THAT USE ALL OF CORE Example: 2 3 " 5 6 7 8 "011'2'3'" 1516171819 20212223 2"252627282930 3132333<1 3536373839<10"1<12"3 .PItDt:.l Before writing a program that -occupies all or nearly all of core, the user should weigh the advantage gained against the possible later rewriting required if IBMsupplied subroutines used by the core load are expanded due to modification . .2.222 TIPS FOR FORTRAN LANGUAGE USERS • It is strongly recommended that the use of the 1130 device code be avoided in READ and WRITE statements, the use of integer variables in such cases allows for easier modification. ././. J(~Q DO~l This sequence of instructions will cause PROG1 on the cartridge labeled 1111 to be executed when PROG1 on 2222 may have been desired. A similar problem can occur on a DELETE operation. 1 2 3 " 5 6 7 8 ' 101112131"1516171819202122232"2S26272829303132333<13536373839<1O""'H3 would delete the program on 1111, not the one on 2222. The answer to this problem is to avoid having two programs or data files with the same name. If a strange cartridge is on line and it is not needed for the job, disable it. NAME CONFLICTS CONNECTING FROM VERSION 1 TO VERSION 2 • Data files and DSF programs must be dumped from the Version 1 cartridge to cards or paper tape and stored on the Version 2 cartridge under DUP control, • The five-character alphameric disk cartridge labels used in Version 1 must be changed to four-character hexadecimal labels. • DCI programs on a Version 1 cartridge cannot be dumped and stored on a DM2 cartridge. They must be stored in DSF on the DM2 cartridge and then converted to DCI under DUP control, which implies that the original DSF mainlines must be available. • Since the FORTRAN I/O device numbers are fixed, some reprogramming is necessary whenever programs that use a given I/O device are required to employ a different device. For example, if a program that uses an 1132 Printer is to use a 1403 Printer, the device numbers must be changed in all READ and WRITE statements that reference the printer. In STORE and DELETE operations, care should be taken to avoid name conflict with IBM-supplied programs. If the program to be stored or deleted carries the same name as an IBM program, the system may execute the operation on the wrong program. RESTORING DESTROYED CHARACTERS Cartridges that contain data and/or programs in the User Area or Fixed Area, and which may be difficult to replace, can sometimes be restored to use after being rendered unusable. If only sector addresses are affected, DCIP may be used to Programming Tips and Techniques 55 MONITOR SYSTEM LIBRARY The System Library is a group of disk-resident subprograms and mainline programs that perform I/O, conversion, arithmetic, and disk initialization and disk maintenance functions. A paper tape utility program (PTUTL) is also included in ~e System Library. Appendix F is a listing of the Monitor System Library. ADDING AND REMOVING SUBROUTINES Subroutines can be added to or deleted from the Monitor System Library as desired by the user. The DUP control record STORE is used ~o add a subroutine and the DUP control record DELETE is used to remove a program (see DUP Control Records). Each program in the mM-supplied system deck is preceded by a DUP STORE control record. The user should not remove subroutines that are called by other subroutines left in the System Library (refer to Appendix F for a list of subroutines called by other subroutines). Neither should he delete any of the mainline programs, since they may be required by Monitor programs. PREOPERATIVE ERRORS A preoperative error is an error condition detected before an I/O operation is started. It denotes either an illegal parameter, an illegal specification in the I/O area, or a device not-ready condition. This error causes a trap to $PRET and the following conditions: • The Instruction Address Register displays the address $PRET+1. • The Accumulator displays an error code represented by four hexadecimal digits. Digit 1 identifies the ISS called: 1234- 5 - DISKx 6789A- SYSTEM LIBRARY SUBROUTINES The 1130 Monitor System Library contains a group of programs that aid the programmer in making efficient use of the 1130 Computing System. Descriptions of the programs and methods for programming them are contained in the publication, mM 1130 Subroutine Library (Form C26-5929). From an operational standpoint, the programs of particular interest are the I88s, which manipulate the I/O devices attached to the 1130 Computing System and handle all programming details peculiar to each device. Table 5 lists the!SSs supplied with the 1130 Monitor system. NOTE: User-written ISSs should be numbered from 20 down to avoid conflict with IBM -assigned ISS numbers (see Digit 1 under Preoperative Errors). NOTE: Although the disk subroutines are technically not ISSs, they have most of the characteristics of an ISS. The following paragraphs describe the use of some of the IBM-supplied ISS subroutines and discuss preoperative errors and I/O error restarts in which special handling is required. All addresses are given in symbolic form. See the table of equivalence in the listing of the Resident Monitor (Appendix H) to equate the symbolic to the absolute addresses. ISS preoperative error WAITs are listed in Appendix A. CARDx or PNCHx TYPEx or WRTYx PAPTx READx PRNTl, PRNT2, or PRNT Z PLOTl SCATx PRNT3 or PRNZ OMPR1 Digits 2 and 3 are not used. Digit 4 identifies the error: o - Device not ready 1 - nlegal parameter or illegal specification in I/O area Table S. 1130 Disk Monitor System ISS Names Subroutine Device 1442 Card Read Punch CARDZ, CARDO, or CAROl 2501 Card Reader READZ, READO, or READI 1442 Card Punch PNCHZ, PNCHO, orPNCHI Disk DISKZ, DISKl, or DISKN 1132 Printer PRNTZ, PRNTl, or PRNT2 1403 Printer PRNZ, or PRNT3 Keyboard/Console Printer TYPEZ, or TYPEO Console Printer WRTVZ, or WRTYO 1134/1055 Paper Tape Reader Punch PAPTZ, PAPTl, PAPTN, OR PAPTX 1627 Plotter PLOTI 1231 Optical Mark Page Reader OMPRI Synchr. Comm. Adapter SCATI, SCA T2, or SCAT3 Monitor System Library 57 • $PRET contains the address of the call in question. The ISS is set up to attempt initiation of the operation a second time if the CALL is re-executed. Pressing the PROGRAM START key will return control to the ISS for a re-execution of the call. When a preoperative error is encountered the operator can: • Correct the error condition if possible and press PROGRAM START, or • Note the contents of the Accumulator and location $PRET, dump core storage, and proceed with the next job. 1442 CARD SUBROUTINE ERRORS (CARDx AND PNCHx) if necessary, on a read or feed operation) and reinitiating the function whenever the card reader becomes ready. Read errors do not apply to the 1442-5. Hopper Misfeed. Indicates that card 2 failed to pass properly from the hopper to the read station during the card 1 feed cycle. Card positions after error: Punch Station Read Station m Corner Stacker Hopper Error indicator: Operator procedure: Error Parameters CARDZ, CARDO, PNCHZ, or PNCHO. There is no error parameter. If an error is detected during processing of an operation-complete interrupt, the subroutine traps to $PST4, with interrupt level 4 on. After the 1442 is made ready, pressing the PROGRAM START key will cause the operation to be reinitiated. Feed Check (punch station). Indicates that card 1 is improperly pOSitioned in the punch station at the completion of its feed cycle. Card positions after error: Punch Station CARD1 or PNCH1. There is an error parameter. If an error is detected during processing of an operationcomplete interrupt, the user program can elect to terminate (clear "subroutine busy indicator" and turn off the interrupt level) or to retry. A retry consists of waiting at $PST4 with interrupt level 4 on and then reinitiating the function. Last Card. A read or feed function requested after the last card has been detected causes the last card to be ejected, and a trap to $PRET occurs. A punch function will punch and then eject the last card with a normal exit. 1442 Errors and Operator Procedures If a 1442 error occurs, the 1442 becomes not-ready until the operator has intervened. Unless the stop is caused by a stacker full (no indicator) or chip box: indication, the 1442 card path must be cleared before proceeding. The 1442 error indicators and the position of the cards in the feed path should be used to determine which cards must be placed back in the hopper. For the card subroutines, a retry consists of positioning the cards (i. e., skipping the first card in the hopper, 58 HOPR When program halts, press NPRO to eject card 1, place card 1 in hopper before card 2, and ready the 1442. Read Station Hopper Error indicator: Operator procedure: PUNCH STA When program halts, empty hopper, clear 1442 card path, place cards 1 and 2 in hopper before card 3 and ready the 1442. Transport. Indicates that card 1 has jammed in the stacker during the feed cycle for card 2. Card positions after error: Punch Station Read Station Comer Stacker Hopper Error indicator: TRANS Operator procedure: When program halts, empty hopper, clear 1442 card path, place cards 2 and 3 in hopper before card 4, and ready the 1442. Feed Cycle. Indicates that the 1442 took an unrequested feed cycle and, therefore, cards 1, 2, and 3 are each one station farther ahead in the 1442 card path than they should be. Card positions after error: Punch Station Read Station [JJ Corner Stacker Hopper Punch Station Corner - - - . Feed Check (read station). Indicates that card 1 failed to eject from the read station during its feed cycle. Card positions after error: Punch Station Read Station [JJ [!:] [JJ Stacker Hopper Error indicator: READ REG Operator procedure: See Feed check (punch station). Repeated failures of this type might indicate a machine malfunction. Punch Check. Indicates an error in output punching. Card positions after error: Punch Station Error indicator: FEED CLU Operator procedure: When program halts, empty hopper, press NPRO to eject cards 2 and 3, place cards 1, 2, and 3 in hopper before card 4, and ready the 1442. Read Station Read Station Corner Hopper Stacker Error indicator: PUNCH Operator procedure: When program halts, empty hopper, check card position and press NPRO to clear 1442 card path. If necessary, correct card 1 to prepunched state. Place (corrected) card 1 and card 2 in hopper before card 3 and ready the 1442. Hopper 2501 CARD SUBROUTINE ERRORS (READx) Error indicator: READ STA Operator procedure: When program halts, empty hopper, clear 1442 card path, place cards 1 and 2 in hopper before card 3, and ready the 1442. Read Registration. Indicates incorrect card registration or a difference between the first and second reading of a column. Card positions after error: Error Parameters READZ or READO. There is no error parameter. If an error is detected during proces sing of an operationcomplete interrupt, the subroutine traps to $PST4, with interrupt level 4 on. After the 2501 is made ready, pressing the PROGRAM START key will cause the operation to be reinitiated. READ!. There is an error parameter. If an error is detected during processing of an operation-complete Monitor System library 59 interrupt, the user program can elect to terminate (clear "subroutine busy indicator" and turn off the interrupt level) or to retry. A retry consists of waiting at $PST4 with interrupt level 4 on until the 2501 becomes ready, and then reinitiating the function. KEYBOARD SUBROUTINE FUNCTIONS (TYPEZ and TYPEO) Re-entry Last Card. A read function requested after the last card has been detected causes a trap to $PRE T. 2501 Errors and Operator Procedures If a 2501 error occurs, the 2501 becomes not-ready until the operator has intervened. Unless the stop is caused by a stacker full or cover open (A TTE NTION), the 2501 card path must be cleared before proceeding. The 2501 error indicators and the position of the cards in the feed path should be used to determine which cards must be placed back in the hopper. For the card subroutines, a retry consists of positioning the cards (i. e., skipping the first card in the hopper, if necessary) and reinitiating the read function whenever the card reader becomes ready. FEED CHE CK. A feed check indicates that a card is mispositioned in the feed path or a card has failed to feed from the hopper. When the program traps to $PST4, empty the hopper and clear the 2501 card path. If a card is improperly positioned at the pre-read station (it has not been read), place this card ahead of the cards remaining to be read, place the deck back in the hopper, and ready the 2501. READ CHECK. A read check indicates incorrect card registration or a difference between the first and second reading of a column. When the program traps to $PST4, empty the hopper, NPRO, place the last two cards in the stacker ahead of the deck remaining to be read, place this deck back in the hopper, and ready the reader. When the ERASE FIELD key is pressed, a character interrupt signals the interrupt response subroutine that the previously-entered Keyboard message is in error and will be re-entered. The subroutine prints two slashes on the Console Printer, restores the carrier to a new line, and prepares to replace the old message in the I/O area with the new message. The operator then enters the new message. The old message in the I/O area is not cleared. The new message overlays the previous message, character by character. If the previous message was longer than the new message, characters from the previous message remain (following the NL character which terminated the new message). When the interrupt response subroutine recognizes the end-of-message control character, it assumes the message has been completed, stores an NL character in the I/O area, and terminates the operation. Backspace When the backspace key is pressed, the last graphic character entered is slashed and the address of the next character to be read is decremented by +1. If the backspace key is pressed twice consecutively, the character address is decremented by +2, but only the last graphic character is slashed. For example, assume that ABCDE has been entered and the backspace key pressed three times. The next graphic character replaces the C, but only the E is slashed. If the character F had been used for replacement, the paper would show ABCDEFFF, but ABFFF would be stored in the buffer. TYPE Z treats the backspace key as if it were the erase field key. CONSOLE PRINTER SUBROUTINE ERRORS (TYPEZ, TYPEO, WRTYZ, and WRTYO) PAPER TAPE SUBROUTINES (PAPTx) If the carrier attempts to print beyond the manually positioned margins, a carrier restore (independent of the program) occurs. Subroutine printing begins wherever the carrier is pOSitioned as a result of the previous print operation. There is no automatic carrier return as a result of a call to the subroutine. If the Console Printer indicates a not-ready condition after printing has begun, the subroutine traps to $PST4 with interrupt level 4 on. After the Console Printer is made ready, pressing the PROGRAM START key will cause the operation to be reinitiated. 60 If the reader or punch becomes not ready during an I/O operation, the subroutines exit to the user via the error parameter. The user can request the subroutine to terminate (clear device busy on the interrupt level) or to wait at $PST4 (postoperative error trap) waiting for operator intervention (interrupt level 4 on). If the 1134/1055 indicates a not-ready condition after an operation has been initiated, the subroutines trap to $PST4 with interrupt level 4 on. After the device has been made ready, pressing the PROGRAM START key will cause the operation to be reinitiated. SYSTEM LIBRARY MAINLINE PROGRAMS Printout PHYSICAL DRIVE CART.ID 00 01 02 03 xxxx The 1130 System Library mainline programs provide the user with the ability to perform disk maintenance and paper tape utility functions by requesting execution of the appropriate program directly through the job stream. 04 DISK MAINTENANCE PROGRAMS The disk maintenance programs are mainline programs that are a part of the System Library and that initialize and modify disk cartridge IDs, addresses, and tables required by the Monitor system. Normally, they should never be deleted from the System Library. The disk maintenance mainline programs are: IDENT DISC DSLET - ID COpy - ADRWS - DLCIB MODIF Print Cartridge ID Satellite Disk Initialization* Dump System Location Equivalence Table Change Cartridge ID Disk Copy Write Sector Addresses in Working Storage Delete CIB Monitor System Update The disk maintenance programs (except ADRWS) are called by an XEQ monitor control record. Some disk mmtenance programs also require an ID control record. The format and use of the ID control record is described under the program descriptions which follow. IDENT (Print Cartridge ID) This program prints the ID and physical drive number of each cartridge motmted on the system. The program overrides any cartridge IDs specified on the JOB card and operates with all ready drives. IDENT will read and print illegal IDs including negative numbers. The calling sequence for IDE NT is: , 10 11 1 17 I' •• 20 21 22 23 U 25 26 'D 21 29 30 3132 33 *All new cartridges must he initialiZed with DOIP before any operation is performed under Monitor control. DCIP also provides a disk copy function similar to the COPY program in the System Library. XXXX XXXX XXXX XXXX where XXXX is the cardridge ID. Only the IDs on ready drives are printed. DISC (Satellite Disk Initia.1:ization) This program re-initializes up to four satellite cartridges -- all but the master cartridge (see DCIP). DISC gives the user the ability to re-initialize a disk cartridge on line. It writes the sector addresses, defective cylinder addresses, a cartridge ro, a LET, a DCOM, an error message program, and a CIB on each cartridge initialized. DISC overrides all cartridge IDs specified on the JOB card except the master cartridge ID. The calling sequence for DISC is: where FID1 through FIDn are the IDs currently on the satellite cartridges to be re-initialized (identified by IDENT or a JOB record). TID1 through TIDn are the IDs to be written on the satellite cartridges by this program. A valid cartridge ID is a number between /0001 and /7FFF. DISC Operation DISC causes all selected satellite drives to seek home. The program then writes sector addresses and three distinct bit patterns (/AAAA, /5555, and /0000) on all sectors on the first cylinder of the first disk cartridge being reinitialized. The program reads back each pattern after it is written. If no error occurs on any of the patterns, DISC continues to the next cylinder. This procedure is repeated until all 203 cylinders have been checked. The program then starts reinitialization on the next cartridge selected. If a read error occurs, the cylinder on which the error occurred is rewritten Monitor System Library 61 and reread 50 times using the same pattern that caused the error to appear. If a second error occurs, the first sector address of the cylinder is placed in the defective cylinder table in word 1 of sector @IDAD. If a second and third defective cylinder are found, their cylinder addresses are written in words 2 and 3 of sector @IDAD. If there are no defective cylinders on the cartridge, words 1, 2, and 3 contain /0658. The cartridge ID is written in word 4 and the copy ID is written in word 5 of sector @IDAD. An error message (NON -SYST. CART. ERROR) and the program to print it on the Console Printer is also stored in sector @IDAD. The error message is printed if a cold start is attempted on this non-system cartridge. One line is printed for each satellite cartridge that is reinitialized. A NOT DONE message should appear only if an error message has previously been printed. DSLET (Dump System Location Equivalence Table) This program dumps the contents of SLET to the principal print device. Each entry printed consists of a symbolic name, phase ID, core address, word count, and disk sector address. A SLET dump is shown in Appendix I. The calling sequence for DSLET is: Printout When DISC is executed, the user punched *ID record is printed on the principal print device. Following this printout one or more of the following error messages may be printed. CARTRIDGE XXXX INVALID ••• LOGO CARD ID The ID of the master cartridge (logical drive 0) has been specified as a current ID on the *ID card. ID (Change Cartridge ID) This program changes the ID on up to four satellite cartridges. The calling sequence for ID is: CARTRIDGE XXXX NEW LABEL IS INVALID A new ID is outside of the range /0001 - /7FFF. CARTRIDGE XXXX IS NOT AVAILABLE A selected cartridge is not on the system where CARTRIDGE XXXX IS DEFECTIVE Sector @IDAD or more than 3 cylinders are defective on a satellite cartridge being reinitialized (to identify the defective cylinders, initialize the cartridge using DCIP). Following the reinitializ ation of the selected cartridges, the following message is printed. XXXXYYYY NOT DONE or FID 1 through FIDn are the ID s currently on the satellite cartridges being changed (these IDs must be in the same logical order as the entries on the JOB card), TID1 through TIDn are the new IDs to be written on the selected satellite cartridges. A valid cartridge ID is a number between /0001 and /7FFF. Printout FFFF TTTT NOT DONE COMPLETE XXXX is the old (FID1) cartridge ID YYYY is the new (TID1) cartridge ID 62 or COMPLETE where where FFFF is the FROM ID TTTT is the TO ID NOT DONE is printed if a selected cartridge is not found on the system. FFFF is the FROM ID TTTT is the TO ID NOT PR~S indicates that the ID requested was not found. NO. ERROR indicates that the ID requested exceeded /7FFF. One line is printed for each cartridge ID that is changed (maximum 4). One line is printed for each copy requested on the *ID record. The printout occurs at the end of the job. COpy (Disk Copy) This program copies the contents (except the defective cylinder table and the cartridge ID) of one cartridge onto another. The copy ID (word 5 of sector @IDAD) is incremented by one on the destination cartridge. The cartridge to be copied onto must have previously been initialized (see DISC or DCIP). The calling sequence for COpy is: ADRWS (Write Sector Addresses in Working Storage) This program, linked to from DUP on detection of the DUP control record, DWADR, writes the sector address on each sector of Working Storage of the disk cartridge specified in the DWADR control record (see *DWADR in DUP Control Records). ADRWS is intended for system use only. D LCIB (Delete Core Image Buffer) where FID! through FIDn are the IDs of the cartridges to be copied, This program deletes the CIB from a non-system cartridge. If a User Area is defined, it is moved two cylinders closer to cylinder o. The new addresses of disk areas moved as the result of the deletion of the CIB are reflected in DCOM on the master cartridge, on the non-system cartridge from which the CIB is deleted, and in COMMA. The calling sequence for DLCIB is: TID! through TIDn are the IDs of the cartridges onto which the copies are to be made. If multiple copies are to be made from a single master, FID! through FIDn will all contain the same ID. If a system cartridge from a system with a different configuration is copied, it will be necessary to reconfigure the cartridge before a Cold Start can be performed (see System Reload). where Printout CART is the ID of the non -system cartridge from which the CIB is to be deleted. FFFF TTTT NOT DONE or Printout COMPLETE CART XXXX or UA/FX YYYY FPAD NNNN NOT PRES or NO. ERROR or XXXXERROR Monitor System Library 63 where System Program Maintenance (Patch) Control Record xxx:x is the cartridge ID YYYY is the User Area sector address NNNN is the File Protect Address ERROR is printed if the CIB was not deleted (cartridge not found on system or cartridge not specified on JOB card) MODIF--SYSTEM MAINTENANCE PROGRAM Included in the System Library is a system maintenance program, MOD IF , that provides the user with the ability to update the Monitor system on the master cartridge. This program makes changes to the version and modification level word in DCOM, and can be used to update both System Programs and/or the System Library. A card deck or paper tape containing corrections to update the Monitor system to the latest version and modification level is supplied by IBM. Every modification must be rlID to update the version and modification level, even if the affected program has been deleted from the system. NOTE: The replacement of a system program. phase that contains reload entries (references to SLET generated by the System Loader during an initial or reload operation) cannot be performed by MODIF. MODIF does not update the System Reload Table. The replacement phase must be loaded by a system reload. Each Monitor program phase to be changed requires a patch control record. If MODIF determines in analyzing SLET that the FORTRAN Compiler or the Assembler has been voided from the disk, modifications to these programs are not made; however, the version and modification levels for these programs are updated in DCOM. The format of the patch control record is as follows. Card Column Contents 1-5 *MON 5 6-8 blank vmm 9 10 11-14 0 blank xxxx 15 16-19 nnnn 20 21 B or H 22 23-26 blank pppp 27 28-31 blank dsss 32 33-36 blank cccc 37-80 Not used .. .. I/XEQ Next Monitor Control Record MODIF Define End Record The version (v) and modification level level (mm) are specified in hexadecimal. Reserved The SLET ID of the Monitor program phase to which the patch is to be made is specified in hexadecimal. 0000 indicates an absolute patch (see columns 28-31, 33 -36)•. "nnnn" specifies (in hex) the number of patch data records following this patch control record. blank System Program Maintenance II ••• These characters identify a system patch to the FORTRAN Compiler, Assembler, DUP, Supervisor, Core Load Builder, System Device Subroutinegl, or Core Image Loader blank The calling sequence for MODIF is: Typical input for System Program update is shown in Figure 12. Notes This character identifies the format of the patch data records (binary system format or hex patch format) "pppp" specifies (in hex) the total number of patch control records to be processed. This parameter is required on the first patch control record only. 2 The drive code (d) and sector address (sss) of the program to be patched are specified in hexadecimal. This field is used only when the SLET ID (columns 11-14) is o. "cccc" specifies (in hex) the core address of the first word of this sector. This field is used only when the SLET-ID (columns 11-14) is 0. 3 Notes: 1. Modifications to subroutines in the System Device Subroutine Area must be made with a *MON patch, not a *SUB DELETE and STORE. 2. A MODIF job may perform both System Program and System Library maintenance (see System Library Maintenanc~). In such a case the number in columns 23-26 must include the *SUB card in the count. Only one subroutine control record is allowed in any MODIF job, and it must be the last MODIF control record (not counting / / DEND) in the stacked input. 3. Core addresses can be obtained from the microfiche listing. Following System Program 0 4 - - - Maintenance Control Records and Data Records (if any). Wt+----Data Records MODIF , ......t-----System Program Maintenance Control Record Patch Data Record Formats L _ _ _ _ _ _ _ _.J·....I----System Maintenance Program Call Figure 12. Layout of an Input Deck for a System Program Update 64 Patch Data Records may not contain CALLs or LIBFs, nor will the relocation indicators be used. Binary System Format. Word System Library Maintenance (Subroutine) Control Record Contents Location Checksum Type Code (first 8 bits) 00001010 Relocation Indicators Data words 1 through 45 ID and sequence number or may be blank 1 2 3 4-9 10-54 55-60 Hex Patch Format. Card Column 1-4 5 6-9, 11-14, 16-19, etc. Card Column Contents aaaa Only one subroutine control record may appear in a MODIF job; however, any number of DELETEs and STOREs may be performed with that control record. System Library maintenance may also be performed concurrently with System Program maintenance (see note 2, columns 23-26 of *MON card)-. The format of a subroutine control record is as follows Notes "aaaa" specifies (in hex) the core address (origin) of the patch. Each patch record must have a core address. blank Each 4-column field contains one word of patch data (in hex). Up to 13 words of patch data can be specified per record. A blank column follows each word. Notes Contents 1-4 *SUB 5 6-8 blank vmm 9 10-15 16-19 0 blank nnnn 20-80 Not used These characters identify a system patch to the System Library. The version (v) and modification level (mm) are specified in hexadecimal. Reserved "nnrm" specifies (in hex) the number of deletes and stores to be processed. 66-68, 73-80 Not used Hex patch cards may contain ID/sequence numbers. Zeros must be punched as leading blanks will not be assumed. All Maintenance Define End Record System Library Maintenance All MODIF jobs must end with a card punched as follows. Changes to the System Library require the deletion of the old program and the storing of the new one. MODIF updates the version and modification level word; the actual operation is performed by a DUP DELETE operation, followed by a DUP STORE operation. Typical input for System Library maintenance is shown in Figure 13. Card Column 1-7 8-80 Contents Notes //bDEND Not used This card terminates MODIF execution and passes control to the Supervisor. Operating Procedures Next Monitor Control Record MODIF Define End Record ~.xt DELETE and STORE and New Version of System library Program, ••• The card deck or paper tape supplied by IBM is to be run as a Monitor job. When a modification is completed successfully, the following messages are printed on the principal printer. MODIF EXECUTION OWXX MODIF TERMINATION OYZZ '-------.JoI~--System Maintenance where Program Call wx:x is Figure 13. Layout of an Input Deck for a S~1:em library Update the old version and modification number, and YZ Z is the new version and modification number. Monitor System library 65 MODIF Error Messages MODIF Example If an error occurs during MODIF execution, an error The purpose of the following example is to change one instruction in the 1134/1055 System Subroutine. The SLET ID of this subroutine is /0091. message is printed on the principal printer. The format of the error message is as follows. ERROR# Address (from assembly listing) xxxx: xxxx: Following the printing of the error message, the system will WAIT. All MODIF errors and their recovery procedures are listed in table 6. Table 6. Error Number /0023 Change To /0000 /7002 If the new modification level is 8, the following control and data cards must be punched by the user. MODIF Errors and Recovery Procedures Description Recovery Options* Invalid patch control record (*MON or *SUB) A. Correct error and reread from corrected patch control record. (If the error has occurred on the first patch control record, restart the mocffilcation.) B. Terminate modification, CALL EXIT. Checksum error on binary patch data record. A. Rechecksum and reread from preceding patch control record. (If the error has occurred on the first patch control record, restart the mocffilcation.) B. Terminate modification, CALL EXIT. C. Reread card in error (cards may be out of order). Invalid hex data record. A. Correct error and reread from preceding patch control record. B. Terminate modification, CALL EXIT. C. Reread card in error. 1 First Hex Number Printed Second Hex Number Printed Amount of checksum difference. Number of binaJ: records read after patc header (including record in error). A. Correct error and reread from corrected patch contro I record. Terminate modification, CALL EXIT. Present version and modification level (from DCOM on disk). Change level of version and modification (from patch control record). New change level lower than current level. A. Correct error and reread from corrected patch control record. B. Terminate modification, CALL EXIT. C. Reduce level and continue. Present version and modification level (from DCOM on disk). Change level of version and modification (from patch control record). Monitor control record or II DEND card read before required number of patches read. A. Read new patch header. B. Terminate modification, CALL EXIT. Number of patches not installed. 6 7 DCOM configuration indicators do not agree with SLET or, Required system I/o routine missing. A. Restart MODIF execution. B. Terminate madification, CALL EXIT. Contents of Accumulator when error was detected. Address +2 from which error branch was executed. DUP control record errors (DELETES or STORES). Print error indicators and WAIT. Press START to continue. XXVY where XX is the number of DUP errors detected and YY is the number of DUP control records processed (see DUP error printout). Number of DUP control records specified on *SUB patch control record. SLET ID not found. Print error indicators and WAIT. Press START to read patch data cards without processing and read new control record. SLET ID in question. Patch exceeds space allotted on disk for this phase. Print error indicators and WAIT. Press start to read patch data cards without processing and read new control record. High core patch address. II DEND Press START to CALL EXIT or, Rerun modification with II DEND card. 2 3 Change level error. 4 B. 5 8 9 A B card not found (patches completed but version and modification level in DCOM not updated. * Set console entry switches as desired for errors 1-7 and press START. No switches on - recovery A - recovery B Switch 0 on Switch 15 on - recovery C 66 Change From High core SLET address. System Program Maintenance Control Record • 1 2 3 . 5 6 7 . 910111213'415 '6'718'9201'221320526l72829303I31333.353637 • Patch Data Record: Hex Patch Format 1 2 3 . 5 6 7 8 9'01112,3,.,5,617,8,9202,22232.2516272829303,32333.353637 These two cards together with the Monitor control cards shown in Figure 12 will perform the required modification. At completion of execution, the following messages will print on the principal printer. MODIF EXECUTION MODIF TERMINATION 0207 The execution of MODIF has been initialized on version 2 level 7 0208 The patch has been installed and the new level is 8. • The paper tape utility program is loaded into core and then comes to a WAIT with /1111 displayed in the Accumulator. This WAIT allows the operator to ready the Console Printer, paper tape reader, and paper tape punch. The user should punch a leader of delete codes on the paper tape punch. At this time, the user can select the desired program options by turning on the appropriate console entry switches. Figure 14 shows the PTUTL console entry switch logic in flowchart form. Console Entry Switch On o Print record after reading Read paper tape records from 1134 Accept Keyboard input1 Punch paper tape records on 1055 WAIT after punching with /3333 in the Accumulator 3 15 WAIT after printing with /2222 in the Accumulator 2 All switches off CALL EXIT3 1 2 3 14 PAPER TAPE UTILITY (PTUTL) This 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. PTUTL allows changes and/or additions to FORTRAN and Assembler language source records as well as Monitor control records. The calling sequence for PTUTL is: Operating Procedure If paper tape is the principal input, select the appro- priate initializing procedure listed below and continue. If the Resident Monitor is in core: • Place the PTUTL execute tape in the paper tape reader. • Press PROGRAM START. If the Resident Monitor is not in core: • Place the cold start paper tape record in the paper tape reader. Press IMM STOP, RESET, and PROORAM LOAD on the console. Place the PTUTL execute tape in the paper tape reader. Press PROGRAM START. NOTES: The keyboard input option uses TYPEO; therefore all features of that subroutine apply to PTUTL. • The input record cannot exceed 80 characters. • Pressing the backspace key cancels the last character entered. • PreSSing the ERASE FIE ill key cancels the entire record and allows the user to restart. • Pressing the EOF key indicates that the record is complete. The Keyboard is released and the program continues. 2. Keyboard input will replace the last paper tape record read if console entry switch 2 is turned on prior to pressing PROORAM START. 3. The test for exit is made just before an input record is read; therefore, a convenient way to branch out of PTUTL is to perform a WAIT after punching the last record desired (console entry switch 14 on). Turn off all console entry switches and press PROGRAM START. A CALL EXIT will be executed. 1. Monitor System Library 67 Paper Tape Not-Ready WAITs Condition Indication Paper tape Program WAITs reader not with /3005 in the Accumulator ready Recovery Procedures Ready reader if additional tape is to be read. Set the console entry switches as desired and press PROGRAM START. Ready the paper tape punch and Paper tape Program WAITs punch not with /3004 in the press PROGRAM START. To repunch the record that was ready Accumulator being processed when the not-ready occurred., set console entry switches 1 and 2 off (to prevent another record from being read), set switches 3 and 14 on (punch a record and WAIT with /3333 in the Accumulator), and press PROGRAM START. After the record is punched, return the console entry switches to the original configuration and press PROGRAM START. Example Assume that the follOwing records appear on a tape. // JOB / / *(comments) // ASM //DUP ASM Control Records Source Program The user now desires to alter the comments record, insert a / / PAUS record after the comments record, and delete the / / DUP record. The procedure is as follows. 1. Load and execute PTUTL. The program will WAIT with /1111 in the Accumulator. 2. Load the source tape in the paper tape reader and ready the paper tape punch and Console Printer. Make a leader of delete codes on the punch. 3. Turn on console entry switches 1, 3, and 14. 4. Press PROGRAM START. 5. The / / JOB record will be read, reproduced, and the program will WAIT with /3333 in the Accumulator. 68 6. Turn on console entry switches 0, 1, 2, 3, 14, and 15. 7. Press PROGRAM START. 8. The comments record in the source tape will be read and printed on the Console Printer. The program will WAIT with /2222 in the Accumulator. 9. Press PROGRAM START. The Keyboard will be selected (PROCEED light on) and the program will WAIT with /3333 in the Accumulator. 10. Enter the new comments record in the proper format. 11. Press the EOF key on the Keyboard. 12. The new comments record will be punched on the tape, replacing the old record. The program will WAIT. 13. Turn off console entry switch 1. Press PROGRAM START. The Keyboard will be reselected. 14. Enter the / / PAUS record from the Keyboard and press EOF. 15. Turn off the console entry switches 0, 2, and 15. Turn on switch 1. Leave switches 3 and 14 on. 16. Press PROGRAM START. 17. The / / ASM record will be read and reproduced on the punch. The program will WAIT with /3333 in the Accumulator. 18. The next record / / DUP, is to be deleted; therefore, switches 0, 1, and 15 should be set on, all other console entry switches should be set off. 19. Press PROGRAM START. 20. The / / DUP record will be read and printed but not punched. The program will WAIT with /2222 in the Accumulator. 21. Leave the sense switches at the present setting and press PROGRAM START. The next record on the input tape will be read into the I/O buffer, overlaying the / / DUP record. 22. Turn on console entry switches 1 and 3, all others off. 23. Press PROGRAM START. 24. The remainder of the source tape will be read in and reproduced, record for record. 25. When the paper tape reader goes not-ready at the end of the source tape, the program will again WAIT with /3005 in the Accumulator. Set all console entry switches off and press PROGRAM START. A CALL EXIT will be executed. .... ·..... •• u •• ..··.....·• • ······U· S""T X •_ .._.........• ·...... • IIAIT : •••• ••• x • : C3 :.Il: 5.,1 .... 13 ................ •• SCnCHES·:.~~~ ••••• .... .. .- •:U.L •• OFF.. X:• UIT .............. . • ·NO C3 YES •* •• •• •••••••• •••••••••• .•.i •• IS -. •• .. .. NO SWITCH 1 •••••••••••••••••••• •• ON •• · *••• ·····*02·.······.·· ..•.•..•..... i • PAP;lA¥APE • RECORD E2 ••• •:*•• SWill" ON *. • -. 0 ·:.··.·e. .·•..•.•·..: ·..•.....••........ • ·:.~~ •••••••••••••• x: ~TTc~rl&~1 i .:*•• SII.JlH ON •* H3 ••• •• e• -. -. ..... ·NO •• .:.~~•• .* .. .. .•••••.• •••• ··.·*tt2· .. •• .... • ·· . . . • • ................. ·•....._..• .p,.. X • IIAIT PAP:~:PE ............. RECORD i ....••• .* .. •• • • • ... • •• IS •• YES. • •••••••••••••••••••• SWIT'" 1. • ••••• X. A3 • i ••• * • YES • • . . . .*It. . . . . . . . . . . .. • : . SV.IlH 3 .:.~~~.... ••• •• 011 •• • 511 1" 15 • KEYBOARD TO i SII3 "'~TT=5iAD •• COIIVERT • p"e,. eoOE • i .•.i • • X•••••••••••••••• * • ···.· . .2···········.• •. ....•..•••..• J2 • KEI:~OfD . ... ·_....•.••.•..•... • TO : nPIiR COOE ACC;EPT . . . . .F4··•• • . . .•• *- ·.................. •* • *•• * • YES i ....•F2····· ..••· 511 15 •• • •• * • YES •• .* * • ••• i •• •* p,. •* *. • ••• •••••••••••••••• ~.:. Sallt~H 2 ·:.X .... : D4 : *. O N . . •• *..* •••• X SIlO i S.,2 • *. ON.* *..* *•• ·NO •• •••• ··....••••.. i • C3 • i • p,. • Figure 14. PTUTL Console Entry Switch Options Monitor System Library 69 SYSTEM LIBRARY UTILITY SUBROUTINES Also included in the System Library are a group of subroutines that perform utility functions for the Monitor system. The utility subroutines are: SYSUP RDREC CALPR FSLEN - DCOM Updating Subroutine Read *ID Record Subroutine Call-System Print Subroutines Fetch Phase ID (FSLEN) or Fetch System Subroutine (FSYSU) LOCAL/SOCAL Overlay Subroutine FLIPR where a is the name of the last item in an array containing the IDs of the satellite cartridges on the system. The last item in the array may be zero, in which case the master cartridge is the same as that defined for the previous job. For example: CALL SYSUP (A(5» SYSUP can be called by the user. The other utility subroutines are for system use only. SYSUP (DCOM Update) Whenever a core load requires changing disk cartridges during the job, SYSUP must be called to update DCOM on the master cartridge (logical drive 0) with the IDs and DCOM information from all satellite cartridges mounted on the system that are specified in the list or array in the calling sequence. The Assembler language calling sequence for SYSUP is: Operation Label " 25 27 30 r,A,LL D,C, IL.I,S,T, F T 32 JJ " is.'''S,U,P, ., Operonds&Remorks " ,r:.A,L,L " ,DlC,OM " '" ."""'.A.orr IL.I,S,T, In,r, In. In,r:, II.. In,c~ leo In,c, If),(', If!, The array is stored in reverse order A(5) DC A(4) DC A(3) DC A(2) DC A(l) DC Thus A(5) is the entry for logical 0, the master cartridge. A is a one-word integer. NOTE: The list or array must be no longer than five words. It may be shorter. If a list or array shorter than five words is specified, the Assembler array must be terminated with an ID of all zeros (all zeros in the first entry will. not terminate the array). The FORTRAN array must be started with an ID of all zeros (all zeros in the last entry will not terminate the array). For example, a three-cartridge FORTRAN array would be specified as (A(4» with A(l) having a DC of all zeros. Id. Printout The following error messages may be printed by SYSUP (SYSUP error messages are also listed with the Supervisor Errors in Appendix A). where a is the ID b is the ID system, c is the ID system, d is the ID system, e is the ID of the master cartridge on the system, of the first satellite cartridge on the of the second satellite cartridge on the of the third satellite cartridge on the of the fourth satellite on the system. a may be zero, in which case the t;naster cartridge is the same as that defined for the previous job. The FORTRAN calling siequence for SYSUP is: 70 XXXX IS NOT AN AVAILABLE CA ;TRIDGE ID A specified cartridge is not in the system. XXXX IS A DUPLICATED SPECIFIED CARTRIDGE ID The same ID appears more than once in the list or array in the calling sequence. XXXX IS A DUPLICATED AVAILABLE CARTRIDGE ID Two or more disks (specified in the calling sequence) have the same cartridge ID. An error printout is followed by termination of execution. CALPR (Call System Print Subroutine) This subroutine calls FSLEN to bring the system print subroutines into core .storage for the purpose of printing one or more lines on the principal printer. This subroutine is intended for system use only. • FSLEN -- Fetch Phase IDs from SLET This entry point obtains the requested phase ID headers from SLET. • FSYSU -- Fetch System Subroutines Fetches the requested system subroutine into core storage. This subroutine is intended for system use only. FLIPR (LOCAL/SOCAL Overlay) RDREC (Read *ID Record) This subroutine is called by the Disk Maintenance Programs to read the *ID record. The *ID record is printed on the principal print device. This subroutine is intended for system use only. FSLEN (Fetch Phase IDs and Fetch System Subroutine) This subroutine has two entry points: FSLEN and FSYSU. The Monitor system library contains a flipper subroutine (FLIPR), which is used to call LOCAL (load-on-call) and SOCAL (system-Ioad-on-call) subroutines into core storage. FLIPR is used with DISKZ, DISK!, or DISKN. FLIPR passes the total word count to DISKZ, DISK!, or DISKN to fetch the LOCAL. When a LOCAL subroutine is called, control is passed to the flipper, which reads the LOCAL into core storage if it is not already in core and transfers control to it. All LOCALs in a given core load are executed from the same core storage locations; each LOCAL overlays the previous one. FLIPR fetches SOCALs in the same manner as LOCALs. Monitor System Library 71 SYSTEM GENERATION AND SYSTEM RELOAD The steps required to generate a complete multi-drive Monitor system are as follows. • Initialize all disk cartridges using the stand-alone program DCIP. • Punch an initial load MODE control record and system configuration deck (or tape) and insert these cards in the System Loader deck. (These records are prepared using the stand-alone utility PTUTL in the paper tape system). • Use the System Loader to load the Monitor system to disk. • Perform a cold start. • Set the physical drive number of the drive containing the pre-load cartridge in console entry switches 12-15 Switches 12-15 off, drive 0 Switch 15 on, drive 1 Switch 14 on, drive 2 Switch 15, 14 on, drive 3 Switch 13 on, drive 4 • Place the cold start card in the reader wired for IPL and ready the reader. If the IPL device is a 1442-6 or 7, place the blank cards directly behind the cold start card. The complete Monitor system is now on-line and operational. Detailed instructions for initial load and reload of the card and paper tape Monitor system are listed below. All loading and reloading is performed by the System Loader. System Loader error messages are listed in Appendix A. If the IPL device is a 2501 and the system,has a 1442, place the blank cards in the 1442 but do not ready the 1442. Make the 1442 ready when the the system WAITs after the cold start progt:am is loaded. • CARD SYSTEM PRE-LOAD 'The Monitor system for the card user is supplied on a disk cartridge and must be dumped to cards before the Initial Load procedure can be started. The dump is accomplished by loading the Monitor 2 cold start card supplied with the cartridge. Operating Procedure • Place the pre-load cartridge on any drive on the system and ready the drive With the console Mode switch set to RUN, press IMM STOP, RESET, and PROGRAM LOAD The cold start card is read in and punching begins. If the punch is a 1442-5, the first card will be blank. Throw the blank card away. If the plIDch runs out of cards or is not-ready as in the latter case listed above, the system executes a standard pre-operative WAIT at $PRET. Ready the punch unit and press PROGRAM START to continue. If a punch or feed error occurs, refer to the writeup on 1442 Errors and Operator Procedures in the System Library section of this manual. The dump of the Monitor system requires approximately 3000 cards. System Generation and System Reload 73 INITIAL LOAD (CARD SYSTEM) The user must prepare an initial load mode control card and system configuration cards (REQ) and insert these cards into the System Loader deck. These System Loader control cards must be present before the Monitor system can be loaded. An optional CORE card may also be used. See Figure 15 for the placement of these cards. The card formats are listed below. Compiler can be deleted from the system through. the use of the load mode control card. The load mode control card is placed behind the last card of the first part of the System Loader. The format of the user-punched load mode control card is as follows. Card Column User Entry 1-4 MODE I (initial load) or R (reload) A (do not load Assembler) or blank (load Assembler) F (do not load FORTRAN) or blank (load FORTRAN) 8 12 13 User-Punched System Loader Control Cards The follOwing System Loader control cards are punched by the user (see Figure 15). Load Mode Control Card. The load mode control card informs the system whether the operation is an initial load or a reload. In addition, the Assembler and/or FORTRAN Note: If FORTRAN and/or the Assembler are deleted they cannot be reloaded using the reload procedure. They must be loaded by an initial load. System Configuration Cards (REQ). The system configuration cards are user-punched REQ cards that identify r - - -_ _ r - - - -_ _ _ Res ident Mon itor (I D: EM N) I r - - - - - ___ System loader - Part 1 Columns 73-75 ID:DPl (with 7 card Core Image loader ID: DCl) Figure 15. IBM System Load 74 I I the system I/O devices that are a part of the user's system. If an REQ card sp~cifies the 1442, columns 15-20 of that card must contain the model number, as indicated on the REQ card format chart. The format of the REQ cards required by the System Loader are listed below. The user should punch only those cards that identify units on the system currently being generated. Punch one card for each device. Missing or extraneous REQ cards may cause initial load operations to fail. The REQ cards must be placed between the SCON card and the TERM card in the IBM system deck. NOTES: 1. Those I/O devices not listed on the following chart are initialized as p~rt of the system. REQ cards are not required. 2. The principal printer is defined as the fastest printer entered on an. REQ card. Card Columns 1-3 9-10* 1442 Card Read Punch or Card Punch REQ 1 Paper Tape Reader and/or Punch 2501 Card Reader 1132 Printer 1403 Printer REQ 3 1442-5 1442-6 1442-7 1134 REQ REQ REQ 4 6 9 2501 1132 1403 Device 15-20 t I SCON and TERM Card. These cards (supplied with the card system), together with the user-punched REQ cards, make up the system configuration deck. The system configuration deck must be included in the System Loader for any system load or reload. The format of the SCON and TERM car4s are listed below. SCON card, columns 1-4: SCON TERM card, columns 1-4: TERM Phase Identification Card (PHID). The PHID card contains the beginning and ending phase numbers of the various programs in the IBM system deck. All numbers in the phase ID field of the PHID card are in ascending sequence and in the order in which the system decks occur. The Resident Monitor and Cold Start Program have no phase IDs and are included in part 2 of the System Loader. The entries in the PHID card are loaded into the System Location Equivalence Table (SLET) and SLET is then used by the system as an internal directory to the Monitor programs. The format of the PHID card is as follows. Card Columns whichever is applicable Unit ID is 1-4 En1ry PHID 6-8 10-12 Phase IDs of first and last DUP phases 14-16 18-20 Phase IDs of first and last FORTRAN Compiler phases 22-24 26-28 Phase IDs of first and last Assembler phases 30-32 34-36 Phase IDs of first and last Supervisor phases 38-40 42-44 Phase IDs of first and last Core Load Builder phases 46-48 50-52 Phase IDs of first and last System Device Subroutine phases 54-56 58-60 Phase IDs of first and last Core Image Loader phases 66-68 Vxx (xx is the version number) 70-72 Mxx (xx is the modification munber) 73-80 Card identification and sequence wmber Optional -ISS numbers. right ,aUlled. Maximum entry number ISS 20. CORE Card (Optional). An optional user-punched control card CORE may be placed anywhere between the SCON and TERM cards in the IBM system deck. If this card is used, the calculated (actual) core size of the system is replaced by the core size defined in the CORE card. The format of the CORE card is as follows. Card Columns User-Defined Core Size 4K 8K 16K 32K 1-4 6-8 CORE CORE CORE CORE 04K 08K 16K 32K IBM -Supplied System Loader Control Cards The follOwing System Loader control cards are supplied with the IBM system (see Figure 15) and must be present in the mM system deck on any system load. TYPE 81 Card. During an. initial load, the type 81 card causes the principal print device and the principal I/O device entries to be placed in SLET. The Disk Communications Area (DCOM) and Location Equivalence Table (LET) are initialized and the Reload Table is established during an initial load. The IBM System Library is loaded following the reading of the type 81 card. The format of the type 81 card is as follows. Column 3: 6 punch Column 4: 1 punch System Generation and System Reload 75 Operating Procedures Switches 12-15 off, drive 0 Switch 15 on, drive 1 Switch 14 on, drive 2 Switch 14, 15 on, drive 3 Switch 13 on, drive 4 • Initialize a cartridge using DCIP (see Disk Cartridge Initialization Program) • Prepare the required user-punched control records (see User-Punched System Loader Control Cards) • With the console Mode switch set to RUN, press IMM STOP and RESET. Remove the Cold Start card, the stand-alone utilities, and the sample programs from behind the System Library. • Place the IBM system deck in the hopper of the reader wired for initial program load (IPL). • Press reader START. If both a 2501 and a 1442 model 6 or 7 are present, place the 1442 in a notready status. Press PROGRAM LOAD on the console. • After the disk cartridge has been initialized by DCIP and the user-punched System Loader control cards inserted in the IBM system deck, the Monitor system is ready to load. The complete system, ready for loading, is illustrated in Figure 15. The steps necessary to perform a system load are as follows. • Ready the selected disk drive • • Ready the Console Printer and the principal printer • Set the physical drive number of the drive containing the initialized cartridge in console entry switches 12-15. After the type 81 card has been read, the Auxiliary Supervisor calls DUP directly to store the System Library. After the last program of the System Library has been stored, the Monitor system is on disk and can be made operational by a user-initiated cold start. 76 SYSTEM RELOAD (CARD SYSTEM) The Monitor programs are divided into phases so that if changes are made within a program, only the affected phase needs to be reloaded. As in initial load, the userpWlched load mode control card and REQ cards are required with the System Loader. The only difference is that the load mode control card for a reload must have an R in column 8. The programs or program phases being loaded by the reload procedure must be placed directly behind the IBM -supplied phase identification (PHID) card. When using a 2501 Card Reader, the double-buffering procedure in the System Loader requires a blank card follOwing the type 81 control card. The message END RE LOAD will be printed by the Console Printer when the reload is com.pleted. If the Assembler or FORTRAN Compiler were deleted on initial load or deleted by a: DUP DEFINE VOID operation, they cannot be reloaded using the reload procedure. They must be loaded by an initial load. A useful option provided by the reload function is the ability to reconfigure a system oartridge with different I/O devices. Reconfiguration will be necessary if a system cartridge is copied from a system with a different configuration. The reload deck listed below will perform this function. (To reconfigure only, place the Type 81 card directly after the PHID card.) • • • • • System Loader deck, part 1, with Core Image Loader Load mode control card (R in column 8) Resident Monitor/cold start deck System Loader deck, part 2 System configuration deck: SCON card System reconfigured REQ cards CORE card (optional) } if desired TERM card • PHID card • (Revised programs or program phases)"* • Type 81 control card • Blank card *All decks must have phase ID numbers within the limits of the IDs listed on the PHID card. During a reload operation, loading terminates with the reading of the type 81 card, and the printing of END RELOAD. Operating Procedures With the console Mode switch set to RUN, press PROGRAM STOP on the console. • Ready the selected disk drive. • Ready the Console Printer • Set the physical drive number of the drive containing the cartridge to be reloaded in console entry switches 12-15. Switches 12-15 off, drive 0 Switch 15 on, drive 1 Switch 14 on, drive 2 Switch 14, 15 on, drive 3 Switch 13 on, drive 4 • Press RESET on the console • Place the reload deck (see listing above) in the reader wired for IPL. • Press reader START. If both a 2501 and a 1442 model 6 or 7 are present, place the 1442 in a not-ready status. • Press PROGRAM LOAD on the console. • Perform a cold start to make the revised Monitor system operational. System Program Phase Sector Break Cards In order to allow the user to load only a portion of a Monitor program, the programs are divided into phases, each identified by a sector break card. The user can load the revised phase using the reload procedure and then place the revised phase in the IBM system deck in place of the phase it replaces. The sector break cards identifying the phases of the IBM system programs are listed b-elow. Sector break cards (see Appendix C) have a 1 punch in column 4 •. The version and modification level are punched in the cards starting at column 67 (VxMxx). Phase ~ XX 01 02 03 04 05 06 07 OB 09 OA OB OC OD OE OF 10 11 Prol1jram or Prol1jram Phase Name I Part of RESIDENT IMAGE COLD START PROGRAM System Loader DUP DUP COMMON SUBROUTINES, CCA T DUP CTRL RECORD PROCESSOR DUP STORE PHASE DUP *FILES, *LOCAL, *NOCAL PHASE DUP DUMP PHASE DUP DUMP LET/FLET PHASE DUP DELETE PHASE DUP DEFINE PHASE DUP EXIT PHASE DUP CARD I/O INTERFACE DUP KEYBOARD INPUT INTERFACE DUP PAPER TAPE I/O INTERFACE DUP UPCOR PHASE SAVED BY DEXIT DURING STORECI DUP PRINCIPAL INPUT Willi KEYBOARD DUP PRINCIPAL INPUT W/O KEYIDARD DUP PAPER TAPE I/O DUP STORE CI ID Starting in Column 73 ERI EST J01 J02 J03 J04 JOS J06 J07 JOB J09 J10 Jll J12 J17 J17 J17 J17 Jt7 System Generation and System Reload 77 Phase Number 12 IF 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 51 52 53 54 55 56 57 58 59 SA 5B 5C 5D 5E SF 78 Program or Program Phase Name DUP MODIF DUMMY PHASE FOR TRAN Compiler FOR INPUT PHASE FOR CLASSIFIER PHASE FOR CHECK ORDER/STMNT NO. PH FOR COMMON SUBR OR FUNC TION PH FOR DIMENSION, REAL, INTEGER FOR REAL CONSTANT PHASE FOR DEFINE FILE, CALL liNK EXIT FOR VARIABLE, STMNT FUNC PHASE FOR DATA STATEMENT PHASE FOR FORMAT STATEMENT PHASE FOR SUBTRACT DECOMPOSITION PH FOR ASCAN I PHASE FOR ASCAN II PHASE FOR DO, CONTINUE, ETC. PHASE FOR SUBSCRIPT OPTIMIZE PHASE FOR SCAN PHASE FOR EXPANDER I PHASE FOR EXPANDER II PHASE FOR DATA ALLOCA TION PHASE FOR COMPlLA TION ERROR PHASE FOR STATEMENT ALLOCATION PHASE FOR LIST STATEMENT ALLOCATION FOR LIST SYMOOL TABLE PHASE FOR LIST CONSTANTS PHASE FOR OUTPUT I PHASE FOR OUTPUT II PHASE FOR RECOVERY (EXIT) PHASE ASSEMBLER ASM INITIAliZATION PHASE ASM CARD CONVERSION PHASE ASM DSF OUTPUT PHASE ASM INTERMEDIATE INPUT PHASE ASM END STATEMENT PHASE ASM ASSEMBLY ERROR PHASE ASM CONTROL CARDS 1 ASM CONTROL CARDS 2 ASM DUMMY PH (SYST SYMBOL TBL) ASM SYMBOL TABLE OPTIONS PHASE ASM EXIT PHASE ASM PROG HEADER MNEMONICS PH ASM FILE STA TEMENT PHASE ASM COMMON SUBROUTINES, ASCOM ASM PROG CONTROL MNEMONICS PH ID Starting in Column 73 J17 KOl K02 K03 K04 K05 K06 K07 K08 K09 KlO K11 K12 K13 K14 K15 K16 K17 K18 K19 K20 K2I K22 K23 K24 K25 K26 K27 MOl M02 M03 M04 M05 M06 M07 M08 M09 M10 Mll M12 M13 M14 M15 Phase ;Number Program or Program Phase Name 60 61 62 63 ASM IMPERATIVE STATEMENTS PH ASM DECML XFLC PROCESSING PH ASM DECIMAL CONVERSION PHASE ASM PROG LINKING PHASE ASM DMES PROCESSING PHASE ASM PUNCH CONVERSION PHASE ASM INTERMEDIATE DISK OUTPUT ASM SYMOOL TABLE OVERFLOW SUPERVISOR SUP PHASE 1 - MONITOR CONTROL RECORD ANAL Y2ER SUP PHASE 2 - XEQ CONTROL AND PROCESSOR SUPERVISOR CONTROL RECORD PROCESSOR 64 65 66 67 6E 6F 70 71 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 AO Al SYSTEM DUMP-CORE-TO-PRINTER AUXILIARY SUPERVISOR CORE LOAD BUILDER CORE LOAD BUILDER, PHASE 0/1 CORE LOAD BUILDER, PHASE 2 CORE LOAD BUILDER, PHASE 3 CORE LOAD BUILDER, PHASE 4 CORE LOAD BUILDER, PHASE 5 CORE LOAD BUILDER, PHASE 6 CORE LOAD BUILDER, PHASE 7 CORE LOAD BUILDER, PHASE 8 CORE LOAD BUILDER, PHASE 9 CORE LOAD BUILDER, PHASE 10 CORE LOAD BUILDER, PHASE 11 CORE LOAD BUILDER, PHASE 12 SYSTEM DEVICE SUBROUTINES, DISK I/O SYS 1403 SYS 1132 SYS CONSOLE PRINTER SYS 2501 SYS 1442 SYS 1134 SYS KEYBOARD SYS 2501/1442 CONVERSION SYS 1134 CONVERSION SYS KEYBOARD CONVERSION DISKZ DISKI DlSKN CORE IMAGE LOADER CORE IMAGE LOADER, PHASE 1 CORE IMAGE LOADER, PHASE 2 10 Starting in Column 73 M16 M17 M18 M19 M20 M21 M22 M23 N01 N01 N02 N03 OCB OCB OCB OCB OCB OCB OCB OCB OCB OCB OCB OCB PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN PMN INITIAL LOAD (PAPER TAPE SYSTEM) The tapes constituting the complete Paper Tape Monitor System, including the user-punched control record tapes are'listed below. Tape Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Description System Loader, Part 1 Load Mode Control Record (User-punched) System Loader, Part 2, with Resident Monitor and Cold Start System Configuration Records (User-punched) Phase Id. (PHID) Control Record Disk Utility Program FORTRAN Compiler Assembler Supervisor, Core Load Builder, System I/O Subroutines, Core Image Loader End of System Tapes Control Record (Type 81 record) Standard LIBFs and CALLs Extended Precision LIBFs and CALLS Common LIBFs and CALLs ILS, ISS, Conversion and Utility Subroutines Plotter Subroutines SCA Subroutines Cold Start Paper Tape Record DCIP Disk Cartridge Initialization Program PTUTL Paper Tape Utility Program Paper Tape Reproducing Program 1132/1403 Printer Core Dump from /OlEO Console Printer Core Dump Tape 15 is used to initialize the Monitor system after it is loaded. Tapes 16-20 are stand-alone utilities and are not loaded as part of the Monitor System; however, PTUTL and DCIP are used during the loading process. Tapes 21 and 22 are the Monitor system sample programs punched control cards (see Initial Load (Card System». The Load Mode Control record and System Configuration records must be prepared by the user. If these tapes are not prepared correctly, the System Loader will print an error message during system load (see Appendix A). A user-punched CORE record is optional. Preparation of Load Mode and System Configuration Control Tapes Paper tape control records must be punched in PTTC/8 (Perforated Tape Transmission Code). The formats are the same as the previously-described card formats. Paper tape control records must be separated by one NL (new line) control character. A control record that immediately follows paper tape data not followed by an NL code must be preceded by one NL code. Delete codes may precede or follow this NL code. To initially generate a system cartridge the necessary control records can be punched using a stand-alone paper tape utility program (PTUTL). To load the PTUTL program tape, perform the following steps: • Place the PTUTL tape in the Paper Tape Reader, pOSitioning the tape so that one of the delete codes beyond the program ID in the tape leader is under the read starwheels. • With the console Mode switch set to RUN, press IMM STOP, RESET, and PROGRAM LOAD. • PTUTL is read in and the program WAITs with /1111 in the Accumulator. • Set console entry switches 2 and 3 on. requested by these switches are: NOTE: If the FORTRAN Compiler and/or the Assembler are not be be loaded during an initial load, the corressponding tapes (7 and/or 8) need not be read. If the FORTRAN Compiler and/or the Assembler are not loaded, they cannot be loaded using the reload procedure. They must be loaded by an initial load. Functions Switch 2-accept Keyboard input Switch 3-punch records on the 1055 Paper Tape Punch NOTE: Complete operating procedures for PTUTL are contained in the writeup for the System Library version of the Paper Tape Utility Program (see Paper Tape Utility (PTUTL). -- System Loader Control Records With the exception of the Load Mode Control Record and the System Configuration Records, all of the paper tape control records needed to load the Paper Tape Monitor System to disk storage are supplied to the user by IBM. These control records have the same functions as the corresponding IBM-supplied and user- • Ready the Paper Tape Punch. Be sure to punch a leader of delete codes. • Use the Keyboard to prepare the user-punched System Loader control records. System Generation and System Reload 79 Paper Tape Load Mode Record Operating Procedure Steps in preparation are: • Initialize a cartridge using DCIP (see Disk Cartridge Initialization Program) • Prepare the required user-punched control records (see Preparation of Load Mode and System Configuration Control Tapes) • Write MODE using Keyboard input. • Space 3 times. • Write I or R for iriitial load or reload operation. • Space 3 times. • If the Assembler is not to be loaded write A, otherwise space 1. • If the FORTRAN Compiler is not to be loaded write F, otherwise space 1. • Press EOF on the Keyboard if no mistakes were made, otherwise press ERASE FIELD and repeat the above procedure. • After the disk cartridge has been initialized by DCIP and the user-punched System Loader control record tapes generated, the Monitor system is ready to load. The steps necessary to perform a system load are as follows. • Ready the selected disk drive • Ready the Console Printer and principal printer • Set the physical drive number of the drive containing the initialized cartridge in console entry switches 12-15. Switches 12-15 off, drive 0 Switch 15 on, drive 1 Switch 14 on, drive 2 Switch 14, 15 on, drive 3 Switch 13 on, drive 4 • Place the System Loader Part 1 (Tape 1) in the Paper Tape Reader. When loading tapes, position any of the delete codes following the program ID in the tape leader under the read starwheels. • With the console Mode switch set to RUN, press IMM STOP, RESET, and PROGRAM LOAD Tape 1 is read in and the system WAITs at $PST4 or $PRET. • Place the user-punched Load Mode control record tape in the reader and press PROGRAM START. This tape is read in and the system again waits at $PST4 or $PRET. • Place the System Loader Part 2 (Tape 2) in the reader and press PROGRAM START. The system will WAIT after loading. • Place the user-punched System Configuration Tape in the reader and press PROGRAM START. The system will WAIT. • Load tapes 3 through 14 as required using the same procedure. Create a trailer (and new leader) of delete codes on the paper tape punch. Paper Tape System Configuration Tape Steps in preparation are: • Write SCON using keyboard input. • Press EOF to end the SCON record. • Write REQ • Space 6 (or 5 in cases of a 2 digit ISS number) • Write the ISS number for an I/O device to be configured into the system (see System Configuration Cards (REQ) for the required ISS numbers). • Press EOF. Repeat the preceding three steps until all necessary REQ records have been punched. • A CORE record may be added if desired. Its format is identical to the card system description. • Write TERM • Press EOF to end the TERM record and Configuration tape. • Create a trailer of delete codes on the Paper Tape Punch. 80 NOTE: If the FORTRAN Compiler and/or Assembler are to be deleted, tapes 5 and/or 6 need not be loadedo Load only those System Library Tapes (9 through 14) that are required for your system. After the last required System Library Tape has been loaded, the Monitor system is on disk and can be made operational by a user-initiated cold start. Tape 2 User-punched System Configuration tape (revised if system is being reconfigured) Tape 3 (Revised programs or program phases)* Tape 8 SYSTEM RELOAD (PAPER TAPE SYSTEM) During a reload of system programs or a system reconfiguration, all System Loader Control record tapes must be used. A typical paper tape reload would include: Tape 1 User-punched Load Mode Control record (R for reload) *All programs must have phase ID numbers within the limits of the IDs listed on the PHID tape. If the Assembler or FORTRAN Compiler were deleted on initial load or deleted by a DUP DEFINE VOID operation, they cannot be reloaded using the reload procedure. They must be loaded by an initial load. For further information regarding reload, see System Reload (Card System). System Generation and System Reload 81 COLD START (CARD AND PAPER TAPE SYSTEM) The Supervisor initially achieves control over the 1130 Monitor System through the user-initiated Cold Start procedure. The Cold Start procedure begins with the IPL (Initial Program Load) of the Cold Start record, which causes the Cold start program to be read into core storage from the system cartridge and control to be transferred to it. The Cold Start program, in turn, loads the Resident Monitor into its location in lower core storage. The Cold Start procedure ends when control is given to the job initialization program in the Supervisor. NOTE: Do not perform a cold start with an uninitialized cartridge on line. Cold Start Procedure To perform a cold start: • Ready the principal print device. • Set the physical drive number of the drive containing the system cartridge in console entry switches 12-15. Switches 12-15 off, drive 0 Switch 15 on, drive 1 Switch 14 on, drive 2 Switch 15, 14 on, drive 3 Switch 13 on, drive 4 • Ready the selected disk drive. • Press IMM STOP and RESET on the console. • Ready the Console Printer. • When the Cold start record is read~ a dummy / / JOB record is printed on the principal printer and the Supervisor prints cartridge status information as follows. LOG DRIVE CART SPEC xxxx CART AVAIL PHY DRIVE xxxx xxxx xxxx where LOG DRIVE is always zero CART SPE C is the cartridge ID written on the cartridge by DCIP. CART AVAIL is the same as CART SPEC. PHY DRIVE is the physical drive number selected in the console entry switches. This physical drive is now logical zero. The Monitor system is now operational and is ready to receive the first JOB record from the reader. If an attempt is made to cold start a non-system cartridge, an error message -- NON-SYST. CART ERROR -- is printed on the Console Printer. The table below lists the error stops contained in the Cold Start Loader (i. e., card or paper tape). Absolute Address Explanation Place the cold start record in the reader wired for IPL (Tape 15, paper tape system). /0014 -Invalid disk drive number in Console Entry Switches -Indicated disk drive not ready • Press reader START. If both a 2501 and 1442 model 6 or 7 are present, place the 1442 in a not-ready status. /0044 -D i sk read error -Waiting for interrupt from seek operation /0046 • Press PROGRAM LOAD on the console. -Waiting for interrupt from reading sector @ lOAD Cold Start (Card and Paper Tape System) 83 STAND-ALONE UTILITY PROGRAMS PRINTER CORE DUMP These utility programs -- each self-loading and complete with subroutines -- are separate from the System Library and enable the user to perform operations without Monitor system control. The first three programs are available in card and paper tape, the· last two in paper tape only. The utility programs are: This program dumps core in hex~ecimal format on either the 1403 Printer or the 11~2 Printer, whichever is in a ready status. If both are ready, the dump will be on the 1403. • Console Printer Core Dump NOTE: "Not present" is equivalent to "not ready". • Printer Core Dump Format • Disk Cartridge Initialization Program (DCIP) • Paper Tape utility (PTUTL) • Paper Tape Reproducing CONSOLE PRINTER CORE DUMP This program aids the user in debugging programs by dumping selected portions of core on the Console Printer. Dumping starts at location $ZEND. Each line contains a four-digit hexadecimal address, followed by 16 fourdigit hexadecimal words. A space separates the address and each word in the printed line. An additional space is inserted between each group of four words. To decrease dump time, the program does not print consecutive duplicate lines. Before printing a line, it compares the next 16 words with the 16 words just printed. If they are identical, the program goes on to the next 16 words in core. If they are not identical, the printer spaces one line and prints. The address printed is that of the first word on the line. Format Each core location is dumped as a four-digit hexadecimal word with a space separating each word. The first word dumped is the starting address of the dump (as specified in the console entry switches). Operating Procedures • With the console Mode switch set to RUN, press IMM STOP and RESET. • Place the Printer Core Dump program in the reader wired for IPL and ready the reader. (If the system configuration is 2501, 1442-6 or -7, make the 1442 not-ready. ) • Ready the printer. • Press PROGRAM LOAD. Operating Procedures • With the console Mode switch set to RUN, press IMM STOP and RESET on the console. • Place the Console Printer Core Dump program in the reader wired for IPL and ready the reader (if the system configuration is 2501, 1442-6 or -7, make the 1442 not-ready). • Set the margin on the Console Printer. To print the same format on each line set the number of print positions to a multiple of 5. • Set the starting address (in hexadecimal) in the console entry switches. • Press PROGRAM LOAD. Dumping starts at location $ZEND and continues to the end of core. The user may halt the dump at any time by pressinglMM STOP. Press PROGRAM START to continue on the 1403. The 1132 has no restart capabilities. DISK CARTRIDGE INITIALIZATION PROGRAM (DCIP) Dumping continues until lMM STOP is pressed. To continue, press PROGRAM START. The Disk Cartridge Initialization Program (DCIP) is composed of • A disk initialization subroutine • A disk copy subroutine • A disk dump subroutine Stand-Alone Utility Programs 85 Initialization • • • An initial LET is also created on sector @RIAD. Its contents are as follows: Writes a sector address on every sector, including defective sectors. Word Word Word Word Word Word Word Word Determines which, if any, sectors are defective and fills in the defective cylinder table accordingly. Establishes a file-protected area for the disk cartridge. • Puts an ID on the disk cartridge. • Establishes a DCOM, LET, and CIB. 1 2 3 4 5 6 7 8 LET sector number Sector address of UA Reserved Words available in this sector LET IFLET chain address 1 st Word of 1 DUMY entry 2nd Word of IDUMY entry Size of IDUMY 10000 10018 10000 10138 10000 (Last LET /FLET sector) IDUMY in packed /4568 truncated EBCDIC 16280 (Sue of WS available in disk blocks) 171121 Words 9-320 of @>RIAD all contain zero. Copy The disk copy subroutine of DCIP Initialization of a cartridge is required before the Monitor system can be loaded. The disk I/O subroutines operate with up to three defective cylinders, i. e., three cylinders that contain one or more defective sectors. Cylinder zero must not be a defective cylinder; otherwise, the cartridge cannot be initialized. At the completion of disk initialization, a fourword table is written on sector~IDAD. Words 1, 2, and 3 contain the address of sector zero of any defective cylinders fonnd (maximum of three). When there are no defective cylinders, these words contain /0658, e. g. , the table for a cartridge with a defect only in sector 9 (cylinder 1) would contain:. • Checks to ensure that both the cartridge to be copied and the cartridge onto which the copy is to be made have been correctly initialized. • Copies a cartridge from any drive onto a cartridge on any other drive, making allowances for defectWe -eylinders. The cartridge ID, copy code, and defectivecylinder table are not copied from the source cartridge. Both Version 1 and Version 2 cartridges may be copied. Dump The disk dump subroutine of DCIP • Dumps any disk sectors from any drive. /0008 /0658 /0658 • Word 4 contains the cartridge ID. The copy code (word 5) through word 270 is cleared to zero, and the Cold Start Error Message (including the program to type the message) is stored on sector @IDAD starting at word 271. After sector @DCOM has been cleared to zeros, certain parameters are initialized to indicate that this is a non-system cartridge. The parameter set, including their initial values, are listed below: #ANDU 10180 (disk block address) #BNDU #FPAD 10180 (disk block address) /0018 (sector address) #CION #ClBA XXXX #ULET /0002 (sector address) 86 /0008 (sector address) End of User Area, adjusted (update during JOB T) End of User Area, base File protect address on this cartridge Cartridge ID of this cartridge First sector of CIB on this cartridge First sector of LET on this cartridge Prints the dump on the fastest printer on the system (in the order of speed -- 1403, 1132, or Console Printer). The address of the first sector to be dumped and the number of consecutive sectors to be dumped are specified in the console entry switches. Each sector printout is 20 lines -- 16 four-digit hexadecimal words per line. Two sectors are printed on each page and each sector is preceded by a 3-word header. The first digit of the first header word is the drive number. The remaining three digits of the first header word show the physical sector address of the sector being dumped. The second header word is the sector address that actually appears on the sector being dumped. The third word is the logical sector address, taking into account any defective cylinders. If the user dumps a sector that is in a defective cylinder, th,e third word will contain the letters DEFC. Operating Procedures • With the console Mode switch set to RUN, press IMM STOP and RESET on the console. • Enter the physical drive number of the cartridge being initialized (in binary) in console entry switches 12-15. • Place the Disk Cartridge Initialization Program in the reader wired for IPL and ready the reader. If the system configuration is .2501-1442, make the 1442 not-ready. (On the paper tape system, place the DC1P tape in the reader, positioning the tape so that one of the delete codes following the program name in the leader is under the read starwheels.) • NON-SYST. CART ERROR When the Monitor system is loaded to disk, this message is overlaid by the Cold Start program; therefore, an attempt to cold start a non-system cartridge will result in the above message being printed. Press PROGRAM LOAD. • After the program is loaded, the follOwing message is printed on the Console Printer. TURN ON SWO TO INITIAliZE SW1 TO COpy SW2 to DUMP • Turn on console entry switch 0, 1, or 2 and press PROGRAM START. • Leave console entry switch 0 on if addresses only are being written (any data on the cartridge is retained). • 2. 3. 4. 5. 6. Correct the error and press PROGRAM START to continue. If a drive is not ready, the standard preoperative trap to $PRET is made. The Accumulator contains /50XO where X is the number of the physical drive that is not ready. All console entry switch settings are printed on the Console Printer as 4-digit hexadecimal numbers. DCIP messages refer to console entry switches as "bit" switches. If the system has two card readers, only the reader wired for IPL should be in the ready state. A DC1P function can be aborted at any time by pressing keyboard 1NT REQ. The user is then given the option of repeating the current function or s electing a new function. Press PROGRAM START. • If console entry switch 0 is on, addresses are written on the disk and the following message is then printed. ADDRESSING COMPLETE NOTES: 1. At any point in this program, an invalid entry in the console entry switches will cause the following message to be printed. ENTRY ERROR ••• RETRY Turn console entry switch 0 off if the cartridge is being initialized. (The entire disk surface is cleared, disk addresses are written, and three distinct bit patterns are written and read back for checking purposes. In addition, the following message and a program for printing it is written on sector @IDAD, starting at word 271. The program now returns to accept the next D CIP function and the option messages are reprinted. • If console entry switch 0 is off, the following message is printed. ENTER CARTRIDGE ID Turn off all console entry switches and enter the cartridge ID in console entry switches 1-15 (four hexadecimal characters). A valid cartridge ID is a number between /0001 and /7FFF. • Press PROGRAM START. The cartridgeIDis printed. XXXX • The cartridge is initialized and the following message is printed. INITIALIZATION COMPLETE In addition, one of the follOwing messages is printed. NO DEFECTIVE CYLS or Initialization (Console Entry Switch 0 On) • If console entry switch 0 is on, the follOwing message is printed. ENTER DR. NO. IN BITS 12-15 TURN ON BIT 0 FOR ADDRESSES ONLY DEFECTIVE CYLS FOLLOW xxxx... If more than 3 defective sectors are printed, or if cylin- der zero is defective, or if the sector address cannot be written on every sector, the cartridge cannot be used Stand-Alone Utility Programs 87 with the Monitor system and the following message is printed: CARTRIDGE DEFECTIVE The last message printed is: TURN ON SW 0 FOR ADDITIONAL TESTING • • Set console entry switch 0 as deSired and press PROGRAM START. The copy number of the object cartridge will thus always be one more than the copy number of the SQurce cartridge. NOTE: When copying is complete, the program returns to select the next DCIP function and the option messages are printed. If a disk read/write error occurs, the follOwing message is printed. DISK ERROR ••• TURN ON SW 0 TO RETRY If console entry switch 0 is off, the program returns At the WAIT, the Accumulator contents will be /0001 for a read error or /0002 for a write error. The Extension will contain /XYYY where X is the drive code and YYY is the address of the sector in error. Turn console entry switch 0 on and press PROGRAM START to rewrite or reread the sector in error. Leave console entry switch 0 off and press PROGRAM START to ignore the error and continue. If the error is ignored, the contents of the object cartridge will reflect the last attempt to copy the sector in error. to accept the next D CIP fWlCtion. If console entry switch 0 is on, the following message is printed. ENTER REPETITION COUNT IN BITS 11-15 Enter the repetition count (max. 31) in binary in console entry switches 11-15. This will give additional opportunity to find marginal cylinders and reduce chances of disk errors later on. • Press PROGRAM START. Initialization is repeated with each cylinder being checked with each pattern the number of times specified in the repetition count. When the pass is .completed, the initialization complete messages are repeated, including any new defective cylinders found and the user is again given the option to repeat the initialization, or select the next DCIP function.- All new cartridges must be initialized by DCIP. Dump (Console Entry Switch 2 On) • is printed. ENTER ••• PHYS. DR. NO. (BITS 0-3) FmST SE CTOR (BITS 4-15) Enter the physical drive m#nber of the drive containing the cartridge to be dunlped in console entry switches 0-3. Enter the address of the first sector to be dumped in console entry switches 4-15 (hexadecimal, maximum /0657). Copy (Console Entry Switch IOn) • If console entry switch 1 is on, the follOwing message -is printed. ENTER ••• SOURCE DR. (BITS 0-3) OBJECT DR. (BITS 12-15) • Enter the phYSical drive number of the source drive (in binary) in console entry switches 0-3. Enter the drive code of the object drive (in binary) in console entry switches 12-15. • Enter the number of consecutive sectors to be dumped as a right-justified hexadecimal number in the console entry switches. The maximum amount will depend on the starting sector address. Press PROGRAM START. X DR. NOT INITIALIZED The program now returns to accept the next DCIP fWlction and the option messages are printed. If both drives have been initialized, the contents of the source cartridge (less defective sector data and cartridge ID) is copied on the object cartridge. Word 5 of sector @IDAD of the source cartridge (zero when the cartridge i.s initialized) is incremented by 1 when writter on the object cartridge. 88 Press PROGRAM START. The follOwing message is printed. ENTER NO. OF SCTRS. TO DUMP If the cartridge on either the source or object drive has not been initialized, the follOwing message is printed. If console entry switch 2 is on, the following message • Press PROGRAM START. The requested number of sectors will be dumped. When the dump is complete, the program returns to accept the next DCIP function and the option messages are printed. NOTE: If a disk read error occurs, the following message is printed. DISK ERROR ••• TURN ON SW 0 TO RETRY Turn console entry switch 0 on and press PROGRAM START to read the sector in error. If the reread is PAPER TAPE REPRODUCING PROGRAM tape reproducing routine then WAITs with /2222 in the Accumulator. If the paper tape punch is notready, the tape reproducing program WAITs with /3333 in the Accumulator. To restart, ready the paper tape punch, and press PROGRAM START. An unlimited number of tapes can be reproduced by this program. Be sure to create a trailer (and leader) of delete codes between the output tapes if the tapes are to be separated. This program, available only with the paper tape system, is a self-loading paper tape strip that reproduces paper tapes. The program reads a character and punches it with no intermediate conversion. NOTE: If the PROGRAM STOP key is pressed while the program is in operation, the program WAITs with /4444 in the Accumulator. Press PROGRAM START to continue. successful, the sector is printed and the dump continues. Leave console entry switches 0 off and press PROGRAM START to ignore the error and continue. The sector in error is printed as it was last read from the disk. Operating Procedure • • Place the paper tape reproducing program tape in the paper tape reader, positioning the tape so that one of the delete codes beyond the ID in the leader is beneath the read starwheels. With the console Mode switch set to RUN, press IMM STOP, RESET, and PROGRAM LOAD on the console. The reproducing program is read in and WAITs with /1111 in the Accumulator. STAND-ALONE PAPER TAPE UTILITY PROGRAM (PTUTL) This program, also included as an executable program in the System Library, is a self-loading paper tape utility program that allows the user to enter records from the 1134 Paper Tape Reader or the Keyboard. Program output is to the 1055 Paper Tape Punch and/ or the Console Printer. Operating Procedures • Remove the reproducing program tape and place the tape to be reproduced in the reader. Place blank tape in the tape punch unit and produce several inches of delete code leader by first pressing down and holding the DELETE key. Then press the FEED key and hold until a leader of sufficient length has been punched. Release the FEED key before releaSing the DELETE key. • Press PROGRAM START to begin the tape reproducing operation. The program continues to operate until the paper tape reader goes not-ready, indicating that there is no more tape to be read. The • Place the PTUTL tape in the paper tape reader so that one of the delete codes beyond the program in is under the read starwheels. • With the console mode switch set to RUN, press IMM STOP, RESET, and PROGRAM LOAD on the console. • PTUTL is read in and the system WAITs with/1111 in the Accumulator. • For complete operating instructions for PTUTL, see Paper Tape Utility (PTUTL) in the System Library. Stand-Alone Utility Programs 89 APPENDIX A. With the exception of the System Library Mainline Programs, this appendix lists all Monitor System WAITs and messages. SYSUP, the DCOM update subroutine, is also available in the System Library. The errors for the user callable version of SYSUP are listed in the System Library Utility Subroutines section of the manual. All messages for stand-alone utilities are included in the writeups of the individual programs. System Loader and FORTRAN I/O errors cause the system to WAIT at $PRET. At the WAIT, bits 2 and 3 of the OPERATION REGISTER are on. FORTRAN I/O errors can be identified by the Fxxx code in the accumulator. A $PRET WAIT also occurs when a system I/O device is required but is not ready (see Table 18). All error tables in this appendix are listed alphabetically by prefix letter. Unless otherwise noted, the operational and error messages are printed on the principal printer. All Monitor system control records are printed on the principal printer. The error tables in order of appearance are as follows. Table Number Error Code Prefix 8 A Assembler 9 C FORTRAN Compiler 10 D Disk Utility Program (DUP) 11 E System Loader MONITOR SYSTEM ERROR AND OPERATIONAL MESSAGES Table 7. Flag FORTRAN I/O 13 M Moni'''' eo_I Record Anal",,,, (MCRA) 14 M Supervisor Control Record Program 15 - SYSUP 16 R Core Load Builder 17 S Auxiliary Supervisor 18 - ISS Subroutine Displacement set to zero C Condition Code Error Character other than +, -, Z, E, C, or 0 detected in first operand of short branch or second operand of long BSC, BOSC, or BSI statement. Displacement set to zero F Format Code Error Character other than L, I, X, or blank detected in col. 32, or L or I format specified for instruction valid only in short form. Instruction processed as if L format were specified, unless that instruction is valid only in short form, in which case it is processed as if the X format were specified L Label Error Invalid symbol detected in label field. Label ignored M Multiply Defined Label Error Duplicate symbol encountered in label field. First occurrence of symbol in label field defines its volue; subsequent occurrences of symbol in label field cause a multiply defined indicator to be inserted in symbol table entry (Bit 0 of first word). 0 Op Code Error Unrecognized op code ISS, ILS, ENT, LlBR, SPR, EPR, or ABS incorrectly placed. 1 Supervisor ASSEMBLER MESSAGES AND ERROR CODES At the completion of an assembly, the following messages are printed on the principal printer. XXX OVERFLOW SECTORS SPECIFIED XXX OVERFLOW SECTORS REQUIRED XXX SYMBOLS DEFINED XX ERROR(S) FLAGGED IN ABOVE ASSEMBLY If LIST DECK or LIST DECKE is specified, the error detection codes shown in Table 7 are punched in columns Assembler Action Address Error Attempt made to specify displacement field, directly or indi rectly, outside range of -128 to +127. R F Cause A Program Name 12 Assembler Error Detection Codes S Relocation Error Expression does not have valid relocation. Non-absolute displacement specified. Absolute origin specified in relocatable program. Non-absolute operand specified in ass or BES. Non-relocatable operand in END statement of relocatable mainl ine program. ENT operand non-relocatable. Syntax Error Invalid expression (e.g., invalid symbol, adjacent operators, illegal constant) Illegal character in record. Main program entry point not specified in END operand. Incorrect syntax in EBC statement (e.g., no delimiter in card column 35, zero character count). Invalid label in ENT or ISS operand. T U Tag Error Card column 33 contains character other than blank, 0, 1, 2, or 3 in instruction statement. Undefined Symbol Undefined symbol in expression Statement ignored and oddress counter incremented by 2. Statement ignored Expression set to zero Displacement set to zero Origin ignored Operand assumed to be zero Card columns 9-12 left blank; entry assumed to be relative zero Statement ignored Expression set to zero If illegal character appears in expression, label, op cade, format, or tag field, additional errors may be caused. Card columns 9-12 left blank; entry assumed to be relative zero Card columns 9-12 not punched; address counter incremented by 17. Statement ignored Tag of zero assumed Expression set to absolute zero 18 and ] 9. For the first error detected in each statement the Assembler stores and then punches the code in column 18; the code for a second error is stored, overlaid by any Appendix A 91 subsequent errors, and pWlChed in column 19. Thus, if more than two errors are detected in the same statement, only the first and last are indicated. These error detection codes will appear on the printout if the deck is listed. At the end of the assembly, a message is printed indicating the number of assembly errors detected in the source program (see above). Since no more than two errors are flagged per statement, the error COWlt may exceed the actual number of flags. Assembler error messages are listed in Table 8. FORTRAN MESSAGES AND ERROR CODES FEATURES SUPPORTED EXTENDED PRECISION ONE WORD INTEGERS TRANSFER TRACE ARITHMETIC TRACE IOCS CORE REQUIREMENTS FORXXXXX COMMON YYYYY VARIABLE S YYYYY PROGRAM YYYYY where XXXXX is the name of the program designated in the *NAME control record or in the SUBROUTINE or FUNCTION statement, and YYYYY is the number of words allocated for the speCified parts of the program. The following message is printed for a normal end of compilation (with or without errors): END OF COMPILATION Compilation Messages Near the end of the compilation, core usage information and the features supported (control records used) are printed out as follows: Table 8. Compilation Error Messages During compilation, a check is made to determine if certain errors have occurred. If one or more of these Assembler fuor Messages Error Number and Message AOI MINIMUM W.S. NOT AVAILABLE ••• ASSEMBLY TERMINATED Cause of Error Available Working StOrage is less than the number of overflow sectors specified plus one sector. Corrective Action Reduce the number of overflow sectors specified (number specified is zero if no *OVERFLOW SECTORS control record is used) or, If more than one drive is available on the system, use the //JOB record to specify System Working Storage on the cartridge with the most Working Storage available. A02 SYMBOL TABLE OVERFLOW .•. ASSEMBLY The number of sectors of symbol table overflow TERMINATED 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. Intermediate output (pass 1) or final DSF output If this error occurs durinf pass 1, the system will WAIT at location (pass 2) exceeds the capacity of Working ,Sl'RET with /400E (2501 or /IOOE (l442) in the accumulator. Press PROGRAM START to continue the assembly in TWO PASS MODE. Storage less the number of overflow sectors specified. For pass 2, see options on AOI. A04 SAVE SYMBOL TABLE INHIBITED With SAVE SYMBOL TABLE option specified: 1. Program is relocatable. 2. Program contains assembly errors. 3. Source program contains more than 100 symbols. 1. Use ABS card and reassembly. 2. Correct source program errors and reassemble. 3. Reduce the number of symbols and reassElmble. A05 XXX ERRONEOUS ORG, BSS, OR EQU STATEM~NTS IN ABOVE ASSEMBLY XXX is the number of ORG, BSS, BES, and/or EQU statements that were undefined in pass 1. At the end of pass 1, these erroneous statements are printed on the principal printer. If the error was due to forward referencing, it wi II not be detected during -pass 2. Where forward references have been attempted, they must be corrected before the program is reassembled. A06 LOAD BLANK CARDS A card containing a non-blank column between 1-71 has been read while punching a symbol table (*PUNCH SYMBOL TABLE specified for this assembly). The system will WAIT with /100F in the accumulator. Nonprocess run out (NPRO) the card just read. Place blank cards ahead of this card in the hopper. Press readerSTART and console PROGRAM START. NOTE: If the output is being punched on a 1442-5, a non-blank card cannot be "detected. In addition, the punch may be damaged if an attempt is made to punch a hole where a hole already exists. A07 *LEVEL CONTROL RECORD MISSING The program listed above was assembled as an ISS subroutine without the required *LEVEL control record. Reassemble using *LEVEL control record. 92 errors have been detected the error indications are printed at the conclusion of compilation, and no object program is stored on the 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 those which have been detected are corrected. With the exception of the COO error message and those noted below, the error message appears in the following format: CNN ERROR IN STATEMENT NUMBER XXXXX+YY NN is the error code number listed in Table 9. With the exception of specification statement errors, XXXXX is the last valid statement number preceding the erroneous statement and YYY is the count of statements from :xxx:xx to the statement that is in error. If the erroneous statement has a valid statement number, xxx:xx will be the statement in error and YYY will not be printed. For example: 105 110 FORMAT (15, FS.4) IF (A-B) 10,30,20 A = A+1. 0 ABC B = B-2. 0 (error COl) 135 GO TO 105 (error C43) COS ERROR AT STATEMENT 00000 + 001 C16 ERROR AT STATEMENT 00000 + 002 In addition to the CNN· type of error the following error messages may be encountered: 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. SUBROUTINE INITIALIZE TOO LARGE During compilation of Sub-programs 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 limits the size of any statement in internal compiler format to 511 words. In the case of CALL SUBIN, the size is calculated by the following formula: This example will cause the follOwing error messages to be printed. COl ERROR IN STATEMENT NUMBER 110 + 002 C43 ERROR IN STATEMENT NUMBER 135 For specification statements, XXXXX is always 00000 and YYY is the count of the number of specification statements in error. YYY is never 000, i. e. , for the first error YYY is 001. Specification statements are not counted un1e~s they contain an error. Statement numbers on speCification statements and statement functions are ignored. NN is the error code. For example: S = 5 + ARG + N where ARG is the number of arguments in the subroutine parameter list and N is the total number of times the dummy arguments are used within the subprogram. S is the total size of the CALL SUBIN statement; if S ever exceeds 511, an error occurs and the above error message is printed. If any of these errors are detected during compilation, the message: OUTPUT HAS BEEN SUPPRESSED is also printed. If a monitor control record is encountered prior to an 1 2 3 4 5 DIMENSION DIMENSION DIMENSION DIMENSION DIMENSION C(10, 10) D(5,5) E(I, 6,6) F(4,4) G(2,2» END card, the message (error COS) MONITOR CONTROL RECORD ENCOUNTERED (error C16) is printed, and control is returned to the monitor supervisor. The above error and the COO error will interrupt the compilation. In this case the message COMPILATION DISCONTINUED This example will cause the following error messages to be printed. will be printed. Appendix A 93 Table 9. FORTRAN Error Codes Error Number Cause of Error Error Number Cause of Error WORKING STORAGE EXCEEDED The working storage area on disk is too small to accommodate the compiled progrom in disk system format. C34 Undefined variable in subscript expression. C35 Number of subscripts in a subscript expression does not agree with the dimension information. COl Non-numeric character in statement number. C36 CO2 More than five continuation cards, or continuation card out of sequence. Invalid arithmetic statement or variable; or, in a FUNCTION subprogram the left side of an arithmetic statement is a dummy argument or in COMMON. C03 Syntax err« in CALL LINK or CALL EXIT statement. C37 Syntax error in IF statement. C04 Undeterminable, misspelled, or incorrectly farmed statement. C38 Invalid expression in IF statement. Statement out of sequence. C39 Syntax error or invalid simple argument in CALL statement. Statement following STOP, RETURN, CALL LINK, CALL EXIT, GOT 0, or IF statement does not have statement number. C40 Invalid expression in CALL statement. C41 Invalid expression to the left of an equal sign in a statement function. C42 Invalid expression to the right of an equal sign in a statement function. C43 In an IF, GO TO, or DO statement, a statement number is missing, invalid, incorrectly placed, or is the number of a FORMAT statement. COO C05 C06 C07 Name longer than five 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. ClO Syntax error in COMMON statement. Cl1 Duplicate name in COMMON statement. C44 Syntax error in READ or WRITE statement. C45 *IOCS record missing with a READ or WRITE statement (mainline program anly). C12 Syntax error in FUNCTION or SUBROUTINE statement. C13 Parameter (dummy argument) appears in COMMON statement. C46 FORMAT statement number missing or incorrect in a READ or WRITE statement. C14 Name appears twice as a parameter in SUBROUTINE or FUNCT ION statement. C47 C15 *IOCS control record in a subprogram. 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. C16 Syntax error in DIMENSION statement. C48 Syntax error in GO TO statement. C17 Subprogram name in DIMENSION statement. C49 Index of a computed GO TO is missing, invalid, or not preceded by a comma. C18 Name dimensioned more than once, or not dimensioned on first appearance of name. C50 *TRANSFER TRACE or *ARITHMETIC TRACE control record present, with no *IOCS control record in a mainline program. C19 Syntax error in REAL, INTEGER, or EXTERNAL statement. C51 C20 Subprogram name in REAL or INTEGER statement. Incorrect nesting of DO statements; or the terminal statement of the associated DO statement is a GO TO, IF, RETURN, FORMAT, STOP, PAUSE, or DO statement. C21 Name in EXTERNAL that is also in a COMMON or DIMENSION statement. C52 More than 25 nested DO statements. Syntax error in DO statement. C22 IFIX or FLOAT in EXTERNAL statement. C53 C23 Invalid real constant. C54 Initial value in DO statement is zero. C24 Inva Iid integer constant. C55 More than 15 dummy arguments, or duplicate dummy argument in statement function argument list. In a FUNCTION subprogram the index of DO is a dummy argument or in COMMON. C25 C56 Syntax error in BACKSPACE statement. C26 Right parenthesis missing from a subscript expression. C57 Syntax error in REWIND statement. C27 Syntax error in FORMAT statement. C58 Syntax error in END FILE statement. C28 FORMAT statement without statement number. C59 Syntax error in STOP statement. C29 Field width specification greater than 145. C60 Syntax error in PAUSE statement. 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. C61 Integer constant in STOP or PAUSE statement is greater than 9999. C62 Last executable statement before END statement is not a STOP, GO TO, IF, CALL LINK, CALL EXIT, .or RETURN statement. C31 C32 Subscripted variable in a statement function. C33 Incorrectly formed subscript expression. 94 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 are undefined in an EQUIVALENCE list. Subscript error in EQUIVALENCE statement. Table 9. FORTRAN Error Codes (continued) Error Number Cause of Error C66* Variable made equivalent to an element of an array in such a manner as to cause the array to extend beyond the origin of the COMMON area. C67* Two variables or array elements in COMMON are equated, or the relative locations of two variables or array elements are assigned more than once (directly or indirectly). C68 Syntax error in an EQUIVALENCE statement; or an illegal variable name in an EQUIVALENCE list. C69 Subprogram does not contain a RETURN statement, or a mainline program contains a RETURN statement. ClO No DEFINE FILE statement in a mainline program that has disk READ, WRITE, or FIND statements. C71 Syntax error in DEFINE FILE statement. C72 Duplicate DEFINE FILE statement, more than 75 DEFINE FILES, or DEFINE FILE statement in subprogram. C73 Syntax error in record number of disk READ, WRITE, or FIND statement. C75 Syntax error in DATA statement. C76 Names and constants in a DATA statement not in a one to one correspondence. Cl7 Mixed mode in DATA statement. C78 Invalid hollerith constant in a DATA statement. C79 Invalid hexadecimal specification in a DATA statement. C80 Variable In a DATA statement not used elsewhere Intheprogram. C81 COMMON variable loaded with a DATA specification. C82 DATA statement too long. * The detection of a code 65, 66, or 67 error prevents any subsequent detection of any of these three errors. On a DEFINE VOID, one of the following messages is printed. ASSEMBLER VOIDED FORTRAN VOIDED On a DEFINE FIXED AREA, the message is as follows, CART ID XXXX CYLS FXA XXXX DBS AVAIL XXXX FLET SECTOR ADDR XXXX where CYLS FXA XXXX is the decimal number of cylinders -1 in the Fixed Area. The additional cylinder is used for FLET. DBS AVAIL XXXX is the hexadecimal number of disk blocks remaining in the Fixed Area following the last program or data file. FLET SECTOR ADDR XXXX is the hexadecimal sector address of the first cylinder in the Fixed Area, i. e., the sector address of FLET. On a dump of LET or FLET, the printout is followed by a sign -off message. END OF DUMPLET /FLET All other DUP operations are followed by the following message. CART ID XXXX DB ADDR XXXX DB CNT XXXX where DUP MESSAGES AND ERROR CODES When a DUP flUlction is performed without error, an informational message is printed on the principal printer. DB ADDR XXXX is the hexadecimal starting address of the program or data file. DB CNT XXXX is the hexadecimal number of disk blocks being deleted, stored, or dumped. DUP error messages are listed in Table 10. Appendix A 95 Table 10. DUP Error Messages Error Number and Message Cause of Error 001 NAME IS NOT PRIME ENTRY The primary name of the program in Working Storage does not match the name on the DUP control record. 002 INVALID HEADER RECORD TYPE One of the following is detected: a non-DSF program, a mispositioned header, foreign data, or an erroneous subtype. 003 INVALID HEADER LENGTH Word six of the DSF header is outside the range of 3-45. The causes are similar to D02, except for subtype. DOS SECONDARY ENTRY POINT OR NAME ALREADY IN LET The specified secondary entry point name is already in LET. The name must be deleted before this subprogram can be stored. D06 ENTRY POINT NAME ALREADY IN LET/FLET The specified name is already in LET/FLET. The name must be deleted before this program or data file can be stored. I/o SPECIFIED Disk routine code on STORECI control record (column 9) was other than 0, 1, N, Z, or blank. 012 INVALID DISK D13 INVALID FUNCTION FIELD (CC 1-12) An invalid DUP function is specified in columns 1-12 of the DUP control record. 014 INVALID FROM FIELD (CC 13-14) Unacceptable characters are in columns 13 and 14 of the DUP control record. The FROM field specified is not valid with this DUP function. 015 INVALID TO FIELD (CC 17-18) Unacceptable characters are in columns 17 and 18 of the DUP control record. The TO field specified is not valid with this DUP function. 016 INVALID NAME FIELD (CC 21-25) No name specified and ane required, or syntax error in construction of name. 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. D19 CARTRIDGE NOT ON SYSTEM Cartridge specified as TO or FROM cartridge was not specified on JOB record as being used in this job. D20 CARTRIDGE ID OUTSIDE VALID RANGE (0001-7FFF) Correct cartridge ID and retry. 021 INVALID STOREMOD. SIZE OF REPLACEMENT EXCEEDS SIZE OF ORIGINAL The replacement version of the program 0'- data fi Ie is larger than the current version. The old version must be deleted before the replacement can be stored. 022 PROGRAM NOT IN WORKING STORAGE The disk block count for the requested program in Working Storage is zero. The program is not in Working Storage. D23 INVALID SYSTEM OVERLAY SUBTYPE SPECIFIED The system overlay subtype indicator (column 11) on a STORE control record is not in the range 0-9. 024 COUNT FIELD TOO LARGE The count field extends beyond column 30 of a DEFINE FIXED AREA control record or column 31 is not a minus sign. 025 REQUIRED FORMAT NOT IN W.S. During a STOREMOD, the format of the LET/FLET entry does not agree with the format in Working Storage. 026 NAME NOT FOUND IN LET/FLET The name specified on a DELETE or DUMP control record is not in LET/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. D30 INVALID RECORD TYPE An invalid type binary record has been read when storing from cards or paper tape. D31 PROGRAM OR DATA EXCEEDS DESTINATION DISK AREA The number of disk blocks required to store a program or data exceeds the amount of space available in the specified TO field. 032 INVALID CORE IMAGE CONVERSION The C;:ore Load Builder has inhibited the continuation of STORECI. The specific reason has been printed by the Core Load Builder • D33 LET/FLET OVERFLOW. A CORE DUMP FOLLOWS .A. ninth sector of LET/FLET is required (or a seventh sector of LET on a non-system cartridge) for the LET/FLET entry. A deletion of a program with a LET/FLET entry of similar size is required before this program can be stored. A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows the user to locate the condition that caused the error. Use of the affected cartridge is not recommended unti I the problem has been investigated. D41 INVALID STORECI CONTROL RECORD The STORECI control record read was not a LOCAL, NOCAL, or FILES record, or a mainline name was specified on a LOCAL or NOCAL record. 042 STORECI CONTROL RECORDS INCORRECTLY ORDERED LOCAL, NOCAL, and FILES records were intermixed. All records of a given type must be loaded together. 043 INCORRECT CONTINUATION A comma at the end of the record indicated that it would be continued; however, it was not. D44 ILLEGAL CHARACTER IN RECORD An illegal character, probably a blank, appeared in the record. D45 ILLEGAL FILE NUMBER A non-numeric character appears in a fi Ie number, or the number is more than five characters long. 96 Table 10. DUP Error Messages (continued) mor Number and Message D46 Cause of Error I LLEGAL NAME A name is more than five characters long, or contains characters other than A-Z, 0-9, or $, or a name contains embedded blanks. D47 I LLEGAL CARTRIDGE ID The cartridge ID specified is not in the range/OO01-/7FFF, or contains an illegal character. D48 SCRA BUFFER OVERFLOW The Supervisor Control Record Area (SCRA) cannot contain all the LOCAL, NOCAL, or FILES infonnation. D50 NON-BLANK CARD READ ENTER BLANK CARDS A non-blank card has been read during a dump to a 1442-6 or -7. Place blank cards in the hopper and ready the card read punch. Press PROGRAM START. D70 LAST ENTRY IN LET/FLET NOT 1DUMY DELETE 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. D71 lDUMY ENTRY IN LET/FLET IS FOLLOWED BY A SECONDARY ENTRY POINT The name on the DELETE control record points to a secondary entry point. The first entry in LET/FLET with a non-zero disk block count that precedes the secondary entry is a 1DUMY. The primary entry is not in LET/FLET. D72 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. D80 FIXED AREA PRESENT The FORTRAN Compiler and/or Assembler cannot be eliminated if a Fixed Area has been previously defined. D81 ASSEMBLER NOT IN SYSTEM The Assembler has previously been eliminated from the system. D82 FORTRAN NOT IN SYSTEM The FORTRAN Compiler has previously been eliminated from the system. D83 INCREASE VALUE IN COUNT FIELD (CC 27-30) The count field was read as a value of zero or one. The first DEFINE requires one cylinder for FLET plus one cylinder of Fixed Area. Thereafter, as little as one cylinder of additional Fixed Area can be defined. D84 DEFECTIVE SLET Cartridge must be re loaded. D85 FIXED AREA NOT PRESENT The control record specifies a decrease in the Fixed Area and there is no Fixed Area on the cartridge. D86 DECREASE VALUE IN COUNT FIELD There is insufficient Working Storage area available to allow the Fixed Area to be defined or expanded by the amount specified in the count field (cc 27-30). This message is preceded by a count of the number of cylinders available XXXX CYLS AVAILABLE. The count is in decimal. D90 CHECK SUM ERROR Checksum error in binary card or paper tape record, or binary cards are out of order. D92 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. A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows the user to locate the condition that caused the error. Use of the affected cartridge is not recommended until the problem has been investigated. 093 CARTRIDGE OVERFLOW While perfonning a DUP function, an attempt has been made to read or write a sector beyond 1599 decimal. SYSTEM LOADER MESSAGES AND ERROR CODES No informational messages are printed during an initial load. At the completion of a reload, the follow- ing message is printed, END RELOAD Table 11 lists the System Loader Errors. Appendix A 97 Table 11. System Loader Errors Error Number ond Messoge Corrective Action EOI CHECKSUM ERROR Follow procedure A or restart initial load. E02 INVALID RECORD OR BLANK Follow procedure A or restart initial load. E03 SEQ ERROR OR MISSI NG RECORDS Follow procedure A or restart initial load. E04 ORG BACKWARDS Inspect deck for cards missing or out of sequence. Correct deck and restart from card in error. E05 ERROR IN LOAD MODE RECORD Follow procedure A or restart initial load. E06 INVALID DRIVE NUMBER Set all bit switches off. Set bit switches to select physical drive number and press PROGRAM START. All switches off - Drive 0 Switch 14, 15 on - Drive 3 Switch 15 on - Drive 1 Switch 13 on - Drive 4 Switch 14 on - Drive 2 E07 ID SCTR DATA INVALID Use DCIP or DISC and follow with initial load. E08 CONFIG DECK ERROR System configuration deck may be missing, out of place, or may contain errors in one or more cards. Correct the deck and restart initial load. E09 FILE PROTECT ADDRESS TOO HIGH This error will occur 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. EIO SYST DECK ERROR A card containing a negative phase ID has less than four data words. Correct the deck in error and restart initial load, or reload the phase in error, starting with the sector break card which precedes the last card read. Ell SCRA OVER LA Y STOP Abort. An initial load must be performed to shift the location of the Supervisor Control Record Area (SCRA) address. An attempt to perform a reload on a non-system cartridge will cause this messoge to be printed. E12 PHASE NO. OUT OF SEQ The Accumulator contains the phase 10 of the phase that is out of sequence (from last card read). Place the decks in proper order and continue from sector break card of correct phase. E13 PHID RECD ERROR Follow procedure A or reload and restart. E14 PHASE MI SSI NG Error occurred when phase ID (binary word 11) of last card read was processed. Inspect Load Mode card, PHID card, and phase 10 of previously loaded phase to determine what phase is now required. Locate missing phase, place deck in reader starting with sector break card of missing phase, and continue. E15 PH. 10 NOT IN PHID CARD The Accumulator contains the extraneous phose 10. To ignore this phase, press PROGRAM START. To load this phose, correct the PHID card and perform an initial load. E16 PHASE 10 NOT IN SLET If this error occurs during a reload, and the system decks have not all been loaded, the error was caused by an attempt to reload a phase not presently in the System Location Equivalence Table (SLET). The Accumulator contains the 10 of the phase that cannot be found. The Extension contains O. Press PROGRAM START to bypass this phase. If this error occurs during reload table processing, the Accumulator contains the phase 10 that is being searched for and the Extension contains the 10 of the phase requesting a SLET loakup. Press PROGRAM START to go on to the next phase requested or to the next requesting phose in SLET. E17 DEFECTIVE SLET Processing cannot be completed. An initial load of the system is required. 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 topes, a faulty tope, or a paper tape reader malfunction. Correct error and restart 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 non process run out (NPRO). Correct the cord 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. If cards are being read from a 2501 Card Reader: 1. 2. 3. 4. 5. 98 Lift the remaining cards from the hopper and press NPRO. a. Correct the card in error (last cord in stocker prior to NPRO) and place this cord followed by the single non processed card ahead of the cards removed from the hopper or, b. If the error occurred after the PHID 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 non processed card aheod of the cards removed from the hopper. Place the deck back in the hopper. Press reader START. Press console PROGRAM START. FORTRAN I/O ERRORS Table 12. FORTRAN I/O Errors Accumulator Display Cause of Error FOOO No *IOCS card appeared with the mainline program and I/o was attempted in a subroutine. FOOl Logical unit defined incorrectly, or No *IOCS control record for specified I/o device. FOO2 Requested record exceeds allocated buffer size. FOO3 Illegal character encountered in input record. FOO4 Exponent too large or too small in input field. When a FORTRAN I/O error occurs, the system WAITs at $PRET with an Fxxx error code displayed in the accumulator. Table 12 lists the FORTRAN I/O errors. SUPERVISOR MESSAGES AND ERROR CODES FOO5 More than one E encountered in input field. FOO6 More than one sign encountered in input field. FOO7 More than one decimal point encountered in input field. The monitor Supervisor causes all Monitor system control records to: be printed on the principal printer. During a DCOM update operation (i. e. , following each JOB record or user call to SYSUP) the following message is printed. FOO8 Read of output-only device, or Write of input-only device. LOG DRIVE CART SPEC CART AVAIL PHY DRIVE FOO9 Real variable transmitted with an I format specification or integer variable transmitted with an E or F format specification. * xxxx xxxx xxxx xxxx F020 'Illegal unit reference. F021 Read list exceeds length of write list. * F022 Record does not exist for read list element. F023 Maxinum length of $ $ $ $ $ area on the disk ·ha. b..., exceeded. This error is unrecoverable and results in a call exit. * FIOO File not defined by DEFINE FILE statement. CART SPEC is specified cartridge ID FlOl File record too large, equal to zero, or negative. CART AVAIL is the available cartridge ID Fl03 Disk FlO (SDFIO) has not been initialized. FlOA Subscripting has destroyed the Define File Tobie. This occun when a subscript exceeds the specification in a DIMENSION statement. PHY DRIVE is the physical drive number starting with o. where * *) Can occur in unfonnatted I/O operations. LOG DRIVE is the drive number specified on the JOB card (in the calling sequence of the SYSUP subroutine) The logical drive may be different from the physical drive, e. g. , physical drive 0 may be defined as logical drive 2. One line is printed for each physical drive on the system. Tables 13,14, and 15 list Supervisor errors. Table 13. Phase 1, Monitor Control Record Analyzer Errors Error Number and Message Cause of Error Mll INVALID MONITOR CONTROL RECORD A// record was not recognized as a valid Monitor control record. Ml2 EXECUTION SUPPRESSED $NXEQ was set upon detection of an error that would prevent successful execution by the system. Execution is bypassed. Ml3 DUP SUPPRESSED $NDUP was set upon detection of an error that would prevent successful DUP operation. DUP is bypassed. Ml4 SYSTEM PROGRAM DETECTED MONITOR CONTROL RECORD A system program has detected a Monitor control record when none was expected. The contro,1 record is passed to the MCRA for processing. Ml5 ILLEGAL CARTRIDGE 10 A cartridge 10 contains an illegal character or is a negative number. The job is aborted. Ml6 ASM AND/OR FOR VOIDED ASM or FOR requested but the FORTRAN Compiler and/or Assembler was either not loaded by the System Loader or was voided by a DUP DEFINE. Appendix A 99 Table 14. Phase 2. System Control Record Program Errors (Phase 2 errors cause execution to be bypassed). Cause of Error Error Number and Message M21 ABOVE RECORD NOT A SUPERVISOR CONTROL RECORD The lost record read is not a LOCAL, NOCAL, or FILES record. M22 SUPERVISOR CONTROL RECORDS INCORRECTLY ORDERED LOCAL, NOCAL, and FILES records cannot be intermixed. M23 INCORRECT CONTINUATION A comma at the end of the record indicated that the record would be continued; however, it was not. M24 ILLEGAL CHARACTER IN RECORD An illegal character, probably a blank, appeared in the record. M25 ILLEGAL FILE NUMBER A non-numeric character appears in a file number, or the number is more than five characters long. M26 ILLEGAL NAME A name is more than five characters long, or contains characters other than A-Z, 0-9, or $, or a name contains embedded blanks. M27 ILLEGAL CARTRIDGE ID The cartridge ID specified is not in the range /OOOI-/lFFF, or contains an illegal character. M28 SCRA BUFFER OVERFLOW The Supervisor Control Record Area (SCRA) cannot contain all the LOCAL, NOCAL, or FILES record information. M29 ILLEGAL DISK SUBROUTINE REQUESTED A character other than 0, 1, N Z, or blank appeared in column 19 of the XEQ card. Table 15. SYSUP - DeOM Update Errors (SYSUP errors are also listed with th~ System Library Utility Subroutine SYSUP). Cartridge ID and Message Cause of Error XXXX IS NOT AN AVAILABLE CARTRIDGE ID A r~uested cartridge ID is not on any cartridge on the system, or the ID is not listed in 'CIDN of the DCOM on' the cartridge. XXXX IS A DUPLICATED SPECIFIED CARTRIDGE ID The cartridge ID was listed as appearing on more than one drive on the JOB card. XXXX IS A DUPLICATED AVAILABLE CARTRIDGE ID A specified ID appears on more than one cartridge on the system. XXXX IS NOT A SYSTEM CARTRIDGE An attempt has been made to specify a non-system cartridge as the master cartridge (logical 0). 100 CORE LOAD BUILDER ERRORS Except for the core load map described in the Programming Tips and Techniques section and messages R41-R45, the Core Load Builder prints no informational messages. Table 16 lists Core Load Builder Error Messages. Table 16. Core Load Builder Error Messages Error Number and Message ROO Cause and Co.-rective Action LOCALS/SOCALS OVERFLOW WORK STORAGE There is insufficient Working Storage remaining to accommodate the LOCAL and/or SOCAL overlays required by the core load. Remedy Change the Working Storage ID on the JOB card to the drive with the most available Workiny, Storage or Create more Working Storage on the present drive by deleting subroutines, subprograms, and or data no longer required. ROl ORIGIN BELOW 1ST WORD OF MAINLINE The Core Load Builder has been instructed to load a word into an address lower than the first word of the mainline program. Remedy Remove the ORG statement that is causing the problem or, Origin the mainline program at a lower address. R02 DEFINE FILE(S) OVERFLOW WORK STORAGE There is insufficient Working Storage remaining to accommodate even one record of the defined file(s). Remedy See ROO. R03 NO DSF PROGRAM IN WORKING STORAGE No program in Working Storage. Remedy Place the desired program in Working Storage before calling the Core Load Builder. R05 INVALID LOADING ADDR FOR ILS02 ILS02 has been loaded into low COMMON. Remedy The mainline should be made longer so that ILS02 will be loaded in a higher address. R06 FILE(S) TRUNCATED (SEE FILE MAP) At least one defined file has been truncated, either because the previously defined storage area in the User or Fixed Area was inadequate, or because there is inadequate Working Storage available to store the file. Remedy Redefine the User/Fixed Area file, or change the record count specification in the DEFINE FILE statement. R07 TOO MANY ENTRIES IN LOAD TABLE There are references to more than (approximately) 150 different entry points in the core load l- . CALL and/or L1BF statements. Remedy Divide the core load into two or mace links. ROa CORE LOAD EXCEEDS 32K R09 L1BF TV REQUIRES B2 OR MO~E The Core Load Sui Ider has been instructed to lood a word into a core address that exceeds 32767 (a negative number). The looding process is immediately terminated, since the Core Lood Builder cannot process negative addresses. The error was probably caused by bad data being read from the disk. ENTRIES There are at least a2 different entry points referenced in the core load by LlBF statements. Remedy Divide the core load into two or more links. Rl6 XXXXX IS NOT IN LET OR FLET The program or data file name printed in the message cannot be found in LET or FLET. Remedy Store the program or data fi Ie. If the name cannot be explained, the program being loaded has probably been destroyed (bad data was read from the disk). Rl7 XXXXX CANNOT BE A LOCAL/NOCAL The program named in this message is either a type which cannot appear on a *LOCAL control card, or is a LOCAL that has been referenced, directly or indirectly, by another LOCAL. RIa XXXXX LOADING HAS BEEN TERMINATED The loading of the mainline program nomed in this message has been terminated as a result of the errors listed in the messages preceding this one. R19 XXXXX IS NOT A DATA FILE The area named in this message does not begin at a sector boundary, which implies that it is not a data fi Ie but a DSF program, and thus a possible error. Remedy Choose another area for the storage of this file. R20 XXXXX COMMON EXCEEDS THAT OF ML The length of COMMON for the subroutine named in this message is longer than that of the mainline program. Remedy Define more COMMON for the mainline program. R21 XXXXX PRECISION DIFFERENT FROM ML The precision for the subroutine named in this message is incompatible with that of the mainline program. Remedy Make the precisions compatible. Appendix A 101 Table 16. Core Load Builder Error Messages (continued) Cause and Corrective Action Error Number and Message R22 XXXXX AND ANOTHER VERSION REF'ENCED At least two different versions of the same ISS have been referenced, e.g., CARDZ and CARDO (FORTRAN uses CARDZ). If a disk subroutine is named in the message, it is possible that the XEO record specifies one version (e.g., DISKZ) whereas the program references another (e.g., DISKN). (A blank in column 19 of the XEO control record causes DISKZ to be used.) Remedy Change the references so that tne core load uses only one version of any given I/o subroutine. R23 XXXXX SHOULD BE IN THE FIXED AREA The area named in this message is in the User Area. References in DEFINE FILE and DSA statements for *STORECI functions must be to the Fixed Area. R39 XXXX IS NOT CURRENTLY ON SYSTEM XXXX is a cartridge 10 appearing on an *FILES record. The cartridge was not on-line when the core load was built. R40 XXXX(HEX) = ADDITIONAL CORE REQUIRED If the core load was executed, /XXXX is the number of words by which it exceeded core before the Core Load Builder made it fit by creating special overlays ~SOCALs). If the core lqad was not executed, /XXXX equals the number of words still required after the Core Load Builder has attempted to make it fit by using SOCALs. Remedy In the latter case, create mOo"e links or LOCAls. R41 XXXX(HEX) WORDS UNUSED BY CORE LOAD NOT AN ERROR. /XXXX is the number of words of core storage not used by this core load. R42 XXXX(HEX) IS THE EXECUTION ADDR NOT AN ERROR. This message follows every successful conversion from DSF to DCI when a core map has been requested. R43 XXXX(HEX) WD CNT R44 XXXX(HEX) = FI/O, I/o SOCAL WD CNT NOT AN ERROR. It has been necessary to use special overlays (SOCALs), and /XXXX is the length of the FORTRAN I/o, I/o, and conversion subroutine overlay (see System Overlays). R45 XXXX(HEX) = DISK FI/O SOCAL WD CNT NOT AN ERROR. It has been necessary to use special overlays (SOCALs), and /XXXX is the length of the disk FORTRAN I/O overlay, including the 320 word buffer. R46 XXXX(HEX) = AN ILLEGAL ML LOAD ADDR /XXXX is the address at which the Core Load Builder has been requested to start loading the mainline program. However, this address is lower than the highest address occupied by the version of disk I/o requested for th is core load. = ARITH/FUNC SOCAL NOT AN ERROR. It has been necessary to use special overlays (SOCALs) and /XXXX is the length of the arithmetic/function overlay (see System Overlays). This error may also be caused by starting an absolute mainline program at an odd location. An ORG to an even location, followed by a BSS of an odd number of words has the same effect as an ORG to an odd location. Remedy Origin the mainline at a higher address, or Request a shorter version of disk I/O, or Origin the mainline at an even boundary R47 XXXX(HEX) TOO MANY WDS IN COMMON The length of COMMON specified in the mainline program plus the length of the core load exceeds core storage by /XXX X words. R64 XXXXX IS BOTH A LlBF AND A CALL The subroutine named in this message either been improperly referenced, i.e., CALL instead of LlBF or vice versa, or has been referenced in both CALL and LlBF statements. R65 XXXXX HAS MORE THAN 14 ENTRY POINTS This message usually means that the subroutine has been destroyed since a subroutine is not stored if it contains more than 14 entry points. R66 XXXXX HAS AN INVALID TYPE CODE The subroutine named in this message has either 1) Been designated on an XEQ record and is not a mainline program or, 2) Contains a type code other than 3 (subroutine), 4 (function), 5 (ISS), or 6 ILS), in which case, the subroutine has probably been destroyed. This error can also be caused by a DSA statement referencing a DSF program, or a CALL or LlBF referencing a program in DC I or DDF. 102 AUXILIARY SUPERVISOR ERRORS ISS SUBROUTINE WAITS The Auxiliary Supervisor prints no informational messages. Table 17 lists Auxiliary Supervisor Error messages. A device not ready or illegal function parameter causes a pre-operative WAIT at $PRET. The ISS subroutine WAITs are listed in Table 18. Table 17. Auxiliary Supervisor Errors SOO INVALID FUNCTION CODE Cause of Error The Auxiliary Supervisor received an i II ega I parameter. SOl XXXXX IS NOT IN LET/FLET The Core Image Loader is unable to find the specified name in LET or FLET. S02 XXXXX IS A DATA FILE The specified name cannot be e'xecuted since it is a data file, not a program. Error Number and Message Table 18. ISS Subroutine WArTs Device Causing WAIT 1442 Card Read Punch or 1442 Card Punch Keyboard/Console Printer 1134/1055 Paper Tape Reader/Punch 2501 Card Reader Disk 1132 Printer 1627 Plotter SCAT Contents of Accumulator Cause of WAIT /1000 Device not ready or last card indicator on for read. /1001 Illegal device, device not in system, illegal function, word count over +80, or word count zero or negative. /2000 Device not ready. /2001 Device not in system, illegal function, or word count zero or negative. /3000 Device not ready. /3001 Illegal device, illegal function, word count zero or negative, or illegal check digit. /4000 Device not ready. /4001 Illegal function, word count over +80, or word count zero or negative. /5000 Device not ready. /5001 Illegal device, device not in system, illegal function, attempt to write in file protected area, word count zero or negative, or starting sector identification over + 1599. /5002 Write select/power unsafe. /5003 Same as /5001 except error caused by a Monitor pragram (0 ISKI, DISKN only). /5004 Disk error (DISKZ only) /6000 Device not ready or end of forms. /6001 Illegal function, word count over +60, or word count zero or negative. /7000 Device not ready. /7001 Illegal device, device not in system, illegal function, or word count zero or negative. /8001 Invalid function code or invalid word count (all SCAT subroutines). Invalid sub-function code for some transmit or receive operation (SCAT2 or SCAT3 only). 1403 Printer 1231 Optical Mark Page Reader /8002 Receive operation not completed or transmit operation not completed (SCATl only). /8003 Failure to establish synchronization before attempting to perform some transmit or receive operation,or attempting to receive before receiving INQ sequence (SCATl only). /9000 Device not ready or end of forms. /9001 Illegal function, word count over +60, or word count zero or negative. /AOOO Device not ready. /AOOI Illegal function. Appendix A 103 APPENDIX B. CHARACTER CODE CHART EBCDIC Ref No. Binary IBM Card Code Hex 0123 4567 0 1 2 3 4 5* 6* 7* 8 9 10 11 12 13 14 15 0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 02 03 04 05 06 07 08 09 OA OB 16 17 18 19 20* 21* 22* 23 24 25 26 27 28 29 30 31 0001 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 1A lB 1C 10 IE IF 32 33 34 35 36 37* 38* 39 40 41 42 43 44 45 46 47 0010 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 20 2E 2F 48 4<2 50 51 52 53* 54' 55 56 57 58 59 0011 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 60 61 62 63 NOTES: Typewriter Output Tabulate ~ Shift to black-? if @ I = .. (apostrophe) 7D 7E 8C 6E 57 6D 15 62 23 2F 61 4C 16 08 4A EBCDIC Ref No. Binary 0123 4567 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 1000 0000 0001 0010 0011 0100 0101 0110 0111 1000 100i 1010 1011 1100 1101 1110 1111 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 1001 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 1010 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 1011 I I BM Card Code Hex Rows 12 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 80 8E 8F 90 91 92 93 94 95 96 97 98 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 9A 9B 9C 90 9E 9F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 AO Al A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 BO 81 82 83 B4 85 B6 B7 B8 B9 BA 88 BC 80 BE 8F 99 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 Hex Graphics and Control Names 0 9 8 7-1 0 8 0 0 0 0 0 0 0 0 8 0 9 0 8 0 8 0 8 0 8 8 0 0 8 1 1 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 2 3 4 5 6 7 8 9 8 8 8 8 8 8 2 3 4 5 6 7 0 8 0 0 0 0 0 0 0 0 8 0 9 0 8 0 8 0 8 0 8 0 8 0 8 1 1 2 3 4 5 6 7 0 8 0 0 0 0 0 0 0 0 8 0 9 0 8 0 8 8 0 0 8 0 8 8 0 2 3 4 5 6 7 1 1 2 3 4 5 6 7 2 3 4 5 6 7 B020 BOOO A800 MOO A200 Al00 A080 A040 A020 A010 A820 A420 A220 A120 AOAO A060 0020 0000 C800 C400 C200 Cloo C080 C040 C020 COlO C820 C420 C220 C120 COAO C060 7020 7000 6800 6400 6200 6100 6080 6040 6020 6010 6820 6420 6220 6120 6OAO 6060 1132 Printer EBCDIC Subset Hex PTTC/8 Hex U -Upper Case L-Lower Case Console Printer Hex 1403 Printer Hex a b c d e f 9 h i i k I m n 0 p q r s t u v w x Y z F020 FooO E800 E400 E200 Eloo E080 E040 E020 E010 E820 E420 E220 E120 EOAO E060 Appendix B 107 EBCDIC Ref No. Binary IBM Card Code 0123 4567 192 193* 194* 195* 196* 197* 198* 199* 200* 201* 202 203 204 205 206 207 1100 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 lOll 1100 1101 1110 1111 C8 C9 CA CB CC CD CE CF 208 209* 210* 211* 212* 213* 214* 215* 216* 217* 218 219 220 221 222 223 1101 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 DO 01 02 03 04 05 06 07 08 09 OA DB DC DO DE OF 224 225 226* 227* 228* 229* 230* 231* 232* 233* 234 235 236 237 238 239 1110 0000 0001 0010 0011 0100 0101 OlIO 0111 1000 1001 1010 1011 1100 1101 1110 1111 EO El E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF 240* 241* 242* 243* 244* 245* 246* 247* 248* 249* 250 251 252 253 254 255 1111 0000 0001 0010 001l 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 FO FI F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FO FE FF 108 Rows Hex 12 CO Cl C2 C3 C4 C5 C6 C7 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 Hex 0 9 8 7-1 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 11 II 11 11 11 11 II 11 11 11 11 II 11 11 11 11 11 11 11 11 11 II 11 9 9 9 9 9 9 9 8 8 8 8 8 8 2 3 4 5 6 7 0 I 2 3 4 5 6 7 8 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 8 8 8 2 3 4 5 6 7 8 2 1 2 3 4 5 6 7 9 8 9 9 9 9 9 9 9 8 8 8 8 8 8 2 3 4 5 6 7 0 I 2 3 4 5 6 7 8 12 12 12 12 12 12 11 11 11 11 11 11 Graphics and Control Names 0 0 0 0 0 0 9 9 8 9 8 9 8 9 8 9 8 9 8 2 3 4 5 6 7 AOOO 9000 8800 8400 8200 8100 8080 8040 8020 8010 A830 A430 A230 AI30 AOBO A070 (+zero) A B C 0 E F G H I 6000 5000 4800 4400 4200 4100 4080 4040 4020 4010 C830 C430 C230 CI30 COBO C070 (- zero) 2820 7010 2800 2400 2200 2100 2080 2040 2020 2010 6830 6430 6230 6130 60BO 6070 2000 1000 0800 0400 0200 0100 0080 0040 0020 0010 E830 E430 E230 E130 EOBO E070 1132 Printer E8CDIC Subset Hex PTTC/8 Hex U-Upper Case L-Lower Case Console Printer Hex 1403 Printer Hex 64 C6 C7 C8 C9 61 (U) 62 (U) 73 (U) 64 (U) 75 (U) 76 (U) 67(U) 68 (U) 79 (U) 3C or 3E la or lA 1C or IE 30 or 32 34 or 36 10 or 12 14 or 16 24 or 26 20 or 22 25 26 67 68 29 2A 6B 2C 01 02 03 04 05 06 07 08 09 51 52 43 54 45 46 57 58 49 (U) (U) (U) (U) (U) (U) (U) (U) (U) 7Cor7E 58 or 5A 5C or 5E 70 or 72 74 or 76 50 or 52 54 or 56 64 or 66 60 or 62 58 19 IA 5B lC 50 5E IF 20 32 (U) 23 (U) 34 (U) 25 (U) 26 (U) 37(U) 38 (U) 29 (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 00 OE Z E2 E3 E4 E5 E6 E7 E8 E9 0 I 2 3 4 5 6 7 8 9 FO Fl F2 F3 F4 F5 F6 F7 F8 F9 lA(L) 01 (L) 02 (L) 13 (L) 04 (L) 15 (L) 16 (L) 07 (L) 08 (L) 19 (L) C4 Fe 08 DC FO F4 DO 04 E4 EO 49 40 01 02 43 J K L M N 0 P Q R S T U V W X Y Cl C2 C3 C4 C5 4F 10 51 52 13 54 04 45 46 07 08 APPENDIX C. FORMATS Contents Word DISK FORMATS 8 DISK SYSTEM FORMAT (DSF) Disk system format is the format in which absolute and relocatable programs (mainlines and subprograms) are stored on disk. Disk system format is shown in Figure 16. Program Header The format of words 1-12 of the program header is the same for all program types (see Program Types below). These words contain the following information: Contents Word 1 2 3 4 5 6 7 Zero Checksum, if the source was cards; otherwise, zero. Program type (bits 4-7), subtype (bits 0-3), and precision (bits 8-15) Effective program length, i. e., the terminal. address in the program Length of COMMON (in words) Length of the program header (in words) minus 9 Zero Length of the program, including the program header (in disk blocks) 9 FORTRAN indicator (bits 0-7), number of files defined (bits 8-15). 10-11 Name of entry point 1 (in name code) Address of entry point 1 (absolute for type 12 1 programs, relative for all others) The format of words 13 -54 of the program header varies according to the program type. For program types 1 and 2, the program header consists of words 1-12 only. For program types 3 and 4, the program header, in addition to words 1-12 t contains the following information: Word 13-14 15 16-17 18 19-51 Contents Name of entry point 2 (in name code) Relative address of entry point 2 Name of entry point 3 (in name code) Relative address of entry point 3 Names and relative addresses of entry points 4 through 14, as required, in the format shown above. The program header ends following the relative address of the last entry point defined; hence, it is of variable length. For program types 5 and 6, the program header, in addition to words 1-12, contains the following information: __-------------------A~------------------~, DSF Module ( DSF Blocks r" - v - - A . ~~~~~t :a;;st See description. DSF Block (2-9 Data words): \ 1 ' A Word 1 - Indicator Data Word Words 2-9 - Data Words Data Header (2 words): Word 1 - Loading address Word 2 - Number of words following to the next data header, plus the number of words (2) in the next data header Figure 16. ~l~-------------VY------------~ DSF Modules + Data Break Caused by: 1. ORG, BSS, BES, or DSA statement 2. Start of a new sector 3. End of the program End-of-Program Data Header (2 words): Word 1 -Relative address of the next available core location Word 2 _ zero Disk System Format Appendix C 109 Contents Word 13 14 15 16 17 ISS number plus 50 ISS number Number of interrupt levels required* Interrupt level number associated with the primary interrupt* Interrupt level number associated with the secondary interrupt* *The 1442 Card Read Punch is the only device requiring more than one interrupt level. For type 7 programs, the program header, in addition to words 1-12, contains the associated interrupt level number in word 13. Program Types The program types are defined as follows: Type of Program 1 2 3 4 5 6 7 Mainline (absolute) Mainline (relocatable) Subprogram, not an ISS, referenced by a LIBF statement Subprogram, not an ISS, referenced by a CALL statement Interrupt service subroutine (ISS) referenced by a LIBF statement Interrupt service subroutine (ISS) referenced by a CALL statement Interrupt level subroutine (ILS) Program Subtypes Subtypes are defined for program types 3, 4, 5, and 7 only. When not used, the subtype indicator in the program header contains a zero. The program subtypes are defined as follows: Subtype Type 110 0 1 2 3 3,4 3 3 3 3 8 5 4 1 7 DISK DATA FORMAT (DDF) Disk data format is the format in which data files are stored on the disk. Disk data format consists of 320 binary words per sector. There are no headers, trailers, indicator words, etc. DISK CORE IMAGE FORMAT (DCI) Disk core image format is the format in which a core image program is stored on disk. A core image program consists of the Core Image Header, the mainline program, all subprograms referenced in the mainline program or other subprograms (except the disk I/O subroutine), the Transfer Vector, and any LOCALs and SOCALs required. Figure 5 (see STORECI under Disk utility Programs) shows the layout of a core image program stored on disk. Core Image Header The Core Image· Header contains the following information: Word Relative Symbol Address. ~XEQ1 @>CMON ~DREQ @>FILE @>HWET @>LSCT @>IDAD @)XCTL @)TVWC @)WCNT @).x:R3X 4 5 6 7 8 9 10 (Q>lTVX 12 13 14 15 16 17 Description In-core subprograms Disk FORTRAN I/O subroutines Arithmetic subroutines Non-disk FORTRAN I/O and "Z" conversion subroutines "Z" device subroutines Function subprogram Dummy ILS02, ILS04 1 2 3 11 1s-20 21 22 23 24 25 @OVSW Ii>CORE 26 27 28 29..30 Contents Execution address. of the core load Length of COMMON (in words) Disk I/O subroutine indicator -/FFFJ! for Dl~ /0000 for- DISKl, /0001 for DISKN Number of files defined Length of the Core Image Header (in words) Sector count of files in System WS Loading address of the core load Exit control address for DISKl/N Length of the transfer vector (in words) Length of the core load (in words) Setting for index register 3 during execu.tion of the core load eo-nts of Contents of wmd word 98 durlng during execution execution Contents of word 10 during execution Contents of word 11 during execution Contents of word 12 during execution Contents of word 13 during execU'don Re~~ 1 I lTV IntemIpt entry to 1231 ISS Interrupt entry to 1403 ISS Interrupt entry to 2501 ISS Intea"Upt entry to 1442 ISS IBT for ILS04 IntemIpt entry to KeyboardJ Console Printer ISS Interrupt entry to 1134/1 ass ISS Sector count of J...OCALs/SOCALs Core size of system on which core load built Define File Table checksum work area. Word CARD FORMATS CARD SYSTEM FORMAT (CDS) Card system format is the format in which absolute and relocatable programs (mainlines and subprograms) are punched into cards. Each deck in card system format consists of (1) a header card, (2) data cards, and (3) an end-of-program card. Mainline Header Card The mainline header card is the first card of every type 1 or 2 program in card system format. It contains the following information: 4-5 6 7-9 10-11 12 13-51 52-54 Contents Precision code (last 8 bits): 0000 0001 -- standard 0000 0010 -- extended 0000 0000 -- undefined Reserved Number of entry points times three Reserved Name of entry point 1 (in name code) Relative address of entry point 1 Names and relative addresses of entry points 2 through 14, as required Reserved ISS Header Card Word Contents 1 2 3 Reserved Checksum Type code (first 8 bits): 0000 0001 -- absolute 0000 0010 -- relocatable Precision code (last 8 bits): 0000 0001 -- standard 0000 0010 -- extended 0000 0000 -- undefined 4 Reserved 5 Length of COMMON, in words (FORTRAN mainline program only) 0000 0000 0000 0011 6 7 Length of the work area required, in words (FORTRAN only) 8 Reserved 9 Define File Count 10-11 Name 12 Relative Entry Point 13-54 Reserved The ISS header card is the first card of every type 5 or 6 program in card system format. It contains the following information: Word 1 2 3 4-5 6 7-9 Subprogram Header Card The subprogram header card is the first card of every type 3 or 4 program in card system format. It contains the following information: Word 1 2 3 Contents Reserved Checksum Type code (first 8 bits): 0000 0011 -- to be called by a LIBF statement only 0000 0100 -- to be called by a CALL statement only 10-11 12 13-14 15 16 17 18-29 30 31-54 Contents Reserved Checksum Type code (first 8 bits): 0000 0101 -- to be called by a LIBF statement only 0000 0110 -- to be called by a CALL statement only Precision code (last 8 bits): 0000 0001 -- standard 0000 0010 -- extended 0000 0000 -- undefined Reserved Number of interrupt levels required plus 6 Reserved Subroutine name (in name code) Relative entry point address Reserved for parameters used by the 1130 Card/Paper Tape System Number of interrupt levels required* Interrupt level number associated with the primary interrupt* Interrupt level associated with the secondary interrupt level* Reserved One Reserved *The 1442 Card Read Punch is the only device requiring more than one interrupt level. Appendix C 111 Word ILS Header Card The ILS header card is the first card of every type 7 program in card system format. It contains the following information: Contents Word 1 2 3 4-5 6 7-9 10-12 13 14-54 Reserved Checksum Type code (first 8 bits): 0000 0111 Reserved (last 8 bits) Reserved 0000 0000 0000 0100 Reserved Reserved Interrupt level number Reserved Data Cards In all types of programs, data cards contain the instruc- tions and data that constitute the machine language program. The format of each data card is as follows: Word 1 2 3 4-9 10 11-54 Contents The loading addres s of the first data word in the card. Succeeding words go into highernumbered core locations. The relocation factor must be added to this address to obtain the actual load address. For an absolute program the relocation factor is zero. Checksum Type code (first 8 bits); 0000 1010 Count of data words, excluding indicator data words, in this card (last 8 bits) Relocation indicator data words (2 bits for each following data wOrd): 00 -- absolute 01 -- relocatable 10 -- LIBF 11 -- CALL Data word 7 Data words 8 through 51 End-of-Program (EOP) Card The end-of-program card is the last card of all programs in card system format. It contains the following information: 112 1 2 3 4 5-54 Contents Effective length of the program. This number is always even and is assigned by the Assembier, or FORTRAN Compiler. Checksum Type code (first 8 bits): 0000 1111 Last 8 bits: 0000 0000 Execution address (mainline program only) Reserved Sector Break Cards Sector break cards are binary cards used by the System Loader to cause programs or phases of programs to start loading at the beginning of a sector. The Monitor system uses Type 1 loader cards as sector break cards. The sector break cards are not checksummed. Columns 5-72 of the sector break cards may contain information identifying the program phase being loaded. The card sequence number appears in columns 73-80. Columns 5-80 are punched in IBM Card Code. Type 1 cards are identified by a 1 punch in column 4 (binary word 3). A Type 1 card indicates to the System Loader that it should check word 11 of the first data card that follows. For the Resident Image, Cold Start Program, and Phase 1 or the Systern Loader, word 11 contains aJ;l absolute starting sector address. For all other Monitor programs or phases word 11 contains the phase ID. Recognition of a phase ID during initial load causes the System Loader to load the program or phase starting at the next sequential sector. During a reload, the phase ID is matched with the ID in SLE T and the phase is loaded to the sector address indicated in SLET. On an initial load, phase 1 of DUP starts loading at sector 8. A type 2 (relocatable starting sector address sector break card is processed by the Monitor system as a Type 1 sector break card. CARD DATA FORMAT (CDD) Card data format is the format in which data files are punched into cards. Card Data format consists of 54 binary words per card. Each binary word occupies 1-1/3 columns. There are no headers, trailers, indicator words, etc. Card Data format is illustrated in Figure 17. CARD CORE IMAGE FORMAT (CDC) Card core image format is the format in which core image programs are punched into cards. Card core image format is identical to card data format; that is, one binary word occupies 1-1/3 columns and 54 binary words can be punched per card. 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-80 in card format must not appear in paper tape format. PRINT FORMAT 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 above). 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 2 special frames precede the data record; the first contains 7F16, and the second contains the word count, one-half the number of frames in this data , Word 1 PRINT DATA FORMAT (PRD) Print data format is the format in which nup prints a nSF program, core image program, or data file on a print device (1403, 1132, or Console Printer). The Address which precedes each printed line is the core address of Word 1 on that line if a core image program is being printed. If a nSF program or data file is being printed, the Address is the address of Word 1 on that line relative to the start of the nSF program or data file. Each Word printed consists of four hexadecimal characters and represents one binary word. Figure 18 illustrates the nSF and core image print format. Word 54 J Figure 17. Card Data Format Appendix C 113 DSF *OUMP AOOR UA ***0 PR ***1 SYSUP ***2 ***3 ***4 ***5 ***6 ***7 ***8 ***9 ***A ***B ***C ***0 ***E ***F 0400 2COO 88A4 1101 0035 0008 COF2 005C (400 4C28 e054 00C8 (045 0036 4440 0000 COCO 00F4 C340 COOO COOO 01BC 0400 OCOO 0040 1890 7400 4400 CODE 4100 0400 C041 04CO 70FO 0089 COCO COBE 0035 4040 4400 0000 6000 010E 023E 61F8 4400 OOEE 0244 0400 007B 009A 0600 OOOA 6100 9500 OOCB ooce 4000 C3C1 0201 0003 01BE 6500 C400 C500 0004 70FO 7201 OOOA 1810 0000 COE5 C480 6600 OOCO 0006 4040 00F5 09E3 COE2 COOO 6EOO COA4 0230 COOO COF2 C400 005A C500 0500 C056 0410 0006 OOE5 4C18 CCOO 03FE 0011 CCOO 1890 0000 4700 6000 0400 0500 7400 4101 0035 00E5 OOCB 1890 C03F 4420 6EOO 010F FFFF 0000 0306 40Cl C600 0000 01CO 02El 002C 00C5 DOH 0301 0001 0400 701E 4400 0600 4044 02FO 7201 0004 0600 C740 E5Cl 4411 22A2 6FOO 04CO C480 7101 70FO D07l 1000 009F 0000 00F2 00E6 036E 6200 1000 OOCO 0701 C409 C903 00C6 2917 01C2 1810 CCOO 70FA C07E 0400 70F7 0000 0858 7400 C030 C053 1100 7403 0002 0077 C9E5 4040 4400 0000 0689 0400 1100 700C 4C20 OOOB 61FB E87l 4(CO 0087 0600 1890 C600 4000 0018 0000 C540 07C8 0244 COOO 3155 OOOB 4C28 0110 P051 10AO 6200 0067 4000 0035 00E7 C400 00C6 02FO 4005 2000 4040 E840 coo 0035 0099 C400 0035 1001 C400 6200 C400 E870 0017 0041 7203 OBC 4C28 70Fl 0006 8800 0000 C409 4C20 0444 4408 009F 84CO 1801 4000 C600 OOOA 0067 3000 OOEE 1000 4480 0105 0005 CCCO 0000 C3Cl C9E5 012F 0000 0028 1890 008E 0400 0100 OOCO 0400 0863 C062 70FO 0000 alOE 4C08 OCOO 0292 9000 09E3 1040 C400 1890 1010 4400 0600 00F2 0464 7400 7201 COEe 70FA 0121 4400 0035 0285 0401 62F8 70FO C600 C400 4404 03A2 00C8 0400 0600 OOEO 0301 629C 7201 03FE 0005 COCO 0064 CCOO 0000 0000 0000 DB CNT 0035 DB AD DR 190B 0478 COOC 0000 OCOO 0000 0000 0000 0000 COOO 0000 CCOO 0010 0020 CC30 C040 0050 C060 0070 C080 0090 COAO 0080 COCO COOO COED COFO 0100 0110 0120 0130 occo 9800 40E2 C540 B043 0242 068A C02C 0020 C400 4400 4C18 1010 1003 CODA 0500 70C9 0044 0010 C004 COOl AOOO 07C, 0398 0140 0150 0100 C600 0000 03FE - CCCO OCOO CI0l C400 OC02 OOBF 1890 llCO OOOF 0864 0400 C047 7101 7400 0084 OOC~ -." 0410 0001 0420 COOO CART 10 3333 TL -- Disk block on sector. For Data Files, this position wi II always be 0 (Data Fi les must start on a sector boundary). Sector Core Image (note that the actual starting address is 2409) *OUMP AODR FX ***0 PR ***1 2400 2410 2420 2430 2440 2450 2460 2410 2480 2490 24AO 24BO 24CO 2400 24EO 24FO OCCO 0000 0000 FOFf CCOO 0000 0000 (640 COOO COOO 1CCO 3155 70FC 0138 0179 CODa 0000 CCOO 02CO 0000 0000 CCOO COCO 0000 0000 0001 2500 2',,10 2520 2530 2540 2550 25M. 2570 2560 2590 25AO 2580 25CO 2500 25EO 25FO 2600 2610 2620 2630 2640 2650 2660 2670 2680 CART 10 CIMGE ***2 ***3 ***4 ***7 ***8 ***9 ***A ***B ***C ***0 ***E ***F 4222 0024 0408 08CO 0000 0000 0000 0000 0000 0000 0000 0000 0004 0000 4400 OOAF OOOB C054 4018 0000 0000 OCOO 0000 0000 0000 COOO 0000 0000 F6A4 C8F7 00F2 C06A C806 4480 1082 0000 0000 0000 0000 0000 0000 0000 0000 0000 OA20 4400 C400 4480 4480 OOAF 09CO 1002 0000 0000 coco 0000 0000 7D04 0000 0000 1110 00F2 OOEE OOAF OOAF 66CO 2409 0000 0000 COOO 0000 0000 0000 06C4 0000 0000 030C 0689 4820 6500 6500 01F6 0622 0000 4400 C626 006B 70FB 0000 0000 OOAB 0000 70FC 0100 0083 C200 7301 0000 4C16 0001 00E2 404A 62EF 7203 0000 OCOO 0002 0000 74CO 1104 0300 1800 70FO 0000 0059 0000 6700 C820 OA12 7006 COOO 0000 OOFC 0000 OOBO 0000 1010 1010 00F8 0000 0000 0000 0000 90F8 0139 0400 0032 62FB 0000 0000 0000 OOFA 6AEA OA47 E060 C500 0000 0000 0000 4C10 6203 C500 4C08 OF72 0440 68A4 0111 OA20 4480 0000 COOO CO 00 0000 0000 0000 0000 0000 0000 COOO 7000 0400 C8E3 1044 COAF 2209 0000 OOOC 0000 0000 0000 0000 CCOO COOO 0000 01F4 OOAF 4480 0440 6500 0000 CCOO COOO OCOO 0000 CCOO OB21 0000 0000 CCCO 7000 C400 OOAF 4111 0181 0000 0000 0000 0000 0000 0000 OA03 0000 0000 0000 0110 OOEE 4460 0010 69CC 8209 0000 0000 0000 0000 0000 0000 0000 0000 0000 7000 4820 OOAF 0110 CBCA OCOO 0000 0111 7CFC C060 0400 4480 6500 C500 F04B C82C 6BEC COOO C028 COCO 009E 0102 013B 4COO 00B1 GOB3 80AE COOO FE54 0623 4C18 4054 COEe 0000 OOAI 0000 8429 0004 6FOO 0038 7006 74,=F 80AE 0000 C200 1800 0095 C82C 9026 0000 0009 CCOO OA20 0106 C008 0000 C480 00B2 0500 COOO 4C18 1010 1010 4052 4C18 7201 OC39 0000 1111 ce05 9049 EF85 0700 4050 C817 61EA 0000 0000 0001 0178 4480 00E8 0300 00C7 7004 7201 4816 OA20 0111 C82A 403F C01C COOO CCCO 1110 0040 OOAF OCC8 680E 0000 6500 70EB 685E 0410 1101 404E C815 0500 0000 0000 0100 0040 C400 970F 1001 690F 0000 COOO C200 1004 DOE9 00B3 70EB 010A 0000 0080 005E 1066 C828 00B4 7080 OOCO 0000 1140 aIDA OOOA 1800 1008 4C80 7101 OOOC C824 4030 0110 0000 oDeD 0000 007C 0036 OA20 C300 61FO 4C80 OOCO 9500 0000 70EF 404C 6BE3 7101 0000 0000 0002 0070 4820 1040 EC80 63FC 00E2 0000 CCOO 0000 OF63 4C18 1890 C004 0864 OC56 C400 0000 0000 4C18 06BO 440e 0600 4400 1890 0698 0000 0000 0986 0000 00F2 OA47 00F2 4400 4COO 0000 CCOO 70CA CCCO 7400 CODE 74CO 00F2 OCOO 0000 7112 COOO OOEE 0400 OOEE 7400 0000 0000 4528 6AFO 70FO OA48 70FO OOEE 0000 0000 FOOO COOF 6600 COOC C500 70FO 2000 0000 COOO COOO 0000 0000 COOC COOO 0000 C076 0031 690£ 8406 0000 COOO COOO 0000 0000 coco OOCO 0000 0000 0441 068A 0400 8BE6 C800 6700 7104 1088 CCCO 4048 0010 C018 OCCO OCOO 0004 OCOO 7002 OC40 00D7 1084 1211 013C 70F9 07CO C831:! C826 0000 70C8 cooo COOO OOFt: CCOO 7201 0400 7301 90Af OA02 6624 63FA 0110 4056 4046 COOO 7002 COCO 0000 0004 6100 7082 7400 7401 4808 CCCO 0000 0000OCOO OFB1 09C6 COOO OF63 OAB 9600 3333 0000 0000 0000 0000 0000 0000 0000 COOO 0000 0000 COOO 0000 co 00 0000 9500 C851 9832 4C20 05F3 1090 C400 OA48 0400 OA43 C07F 0600 OA48 C006 0600 OA46 050u OF5E C061 1890 C400 ECOO OF35 0400 OF98 C400 CFD8 4C18 OA05 720L 70F8 DB AOCR 1220 DB CNT 0020 00, Logical Drive 0, 1, 2, 3, or 4 $FPAD COMMA File Protect Address, Logical Drive 0, 1, 2, 3, or 4 #=FPAD -- DCOM File Protect Address, Logical Drive 0, 1, 2, 3, or 4 #=CIBA CIB Address, Logical Drive 0, 1, 2, 3, or 4 #=ULET LET Address, Logical Drive 0, 1, 2, 3, or 4 #=FLET FLET Address, Logical Drive 0, 1, 2, 3, or 4 #=CII>N FollOwing this line will be a second header line which reflects information concerning the LET /FLET sector being dumped: Relative Sector Number (SCTR NO.) User Area/Fixed Area (UA/FXA) Word Available (WORDS AVAIL) Chain Address (CHAIN ADR) Appendix G 123 Following these two header lines are the LET / FLET entries. Twenty one lines of entries are printed, five entries per line and sequenced by column. Each entry is formatted as follows: Name -- 5 print positions + blank Type code -- DSF, DCI, or DDF -- 3 print positions + blank, 4 blanks if lDUMY or secondary entry point 124 DB COWlt -- 4 print positions + blank DB Addr -- 4 print positions + 5 blanks Only the name is printed for each secondary entry. Examples of DUMPLET and DUMPFLET follow. II JOB 3333 lOG DRIVE 0000 CART SPEC 3333 CART AVAIL 3333 2222 COOF OABS PHY DRIVF 0002 OCOI 0003 0004 II DUP *DHINE FIXED AREA CART 10 3333 cns FXA 0004 " DBS AVAIL 0200 10 *STOREDATA CD FX CATA DB ADOR 1200 CART 10 3333 DB CNT 0020 10 *STOREGATACICC Fx CIMGE DB AGCR 1220 CflRT 10 3333 CB CNT 0020 10 *STOREDATA CC UA CATA2 CART 10 33H 013 AceR lC40 CB CNT 0020 FLET SECTOR AOOR 0118 *CU~PlET lET $FPAO 0106 =CIDN 3313 SCTR NO. CCOO =FPAC 0106 UA/FXA. 0158 =(.I8A 0140 =UlE:T C150 WORDS AVAIL. OCOO =FlET C1l8 CHAIN ADDR. 0151 PROG NAME FOR DB MAT CNT DB AOOR PROG NAME FOR DB MAT CNT FADD FSUB FADOX FSUBX FAXI FAXIX FOIV FDIVX FDVR FOVRX FGETP FLO FlDX FSTO FSTOX FMPY F/I,PYX FSBR FSBRX FABS FAVl GSF OOOB l~BO FATN FATAN FAXB FAXBX FEXP fXPN FlN FAlOG FSIGN FSIN FSINE FCOS FCOSN FSQR FSQRT FTANH FTNH SFAR SFARX Sf IF EADD OSF OOOA 15AA DSF 0006 1588 DSF 0007 158E GSF 0003 1595 DSF 0003 1598 CSF 0005 159B DSF 0005 15AO DSf 0003 15A5 DSF oe02 1548 =CION SFPAC BH 0106 SCTR NO. COOL =FPAD 0106 UA/FXA. 015& PROG NAME FOR DB HAT CNT ISIGN OVERF SlI TE SllTT POUMP TSTOP TSTRT SOFIO SDAF nSF 0003 16AC DSF oe02 16AF nSF OC05 16Bl OSF OSF DSF DSF 0009 0002 0002 0017 DB AOOR 16B6 16Bf 16Cl 16C3 OSF 0005 15B4 OSF 0009 15B9 DSF OOOA 15C2 OSF C003 15CC OSF 0009 15CF OSF 0006 150B OSF COOS 15DE DSF 0004 15E3 DSF 0003 15E7 DSF 0008 15EA =CIBA 0140 =ULET 0150 kOROS AVAil. 0000 PROG NAME 08 ACDR uno ESUB EADOX ESUBX EAXI EAXIX EDIV EOIVX EDVR EDVRX EGETP ElD ElDX ESTO ESTOX EMPY EMPYX ESBR ESBRX EABS EAVl EATN FOR DB fiAT CNT DB ADDR PROG NAME FOR DB MAT CNT DB ACDR PROG NAME FOR DB MAT CNT 08 AODR oSf DSf DSF DSF OSf DSF DSF OSF 0002 0004 0004 0002 0006 0005 0003 0019 16,E 1660 1664 1(:68 166A 1670 1675 1618 OSF DSF oSF oSF DSF OSF OSF 0002 0004 0003 0002 0003 0003 0002 1691 1693 1697 169A 169C 169F 16A2 OSF OOOB 1612 EATAN EAXB EAXBX EEXP EXPN ElN EAlOG ESIGN ESIN ESINE ECOSN ECOS ESQR ESQRT ETANH ETNH SEAR SEARX SElf FARC FIXI PROG NAME FOR DB polAT CNT DB AOOR PROG NAME FOR DB MAT CNT DB AODR PROG NAME FOR DB MAT CNT De ACUR PAPTl PNCHl PRNTl PRNZ READZ TYPEl WRTYl EBCTB GETAO oSF OSF DSf DSF oSF DSF OSf DSf oSF 174B 1751 1750 176A 1777 IHC 1783 1188 1780 CAROL OMPR1 PAPTI PAPTN PAPTX PlOTl PNCHO PNCH1 PRNTl DSF OSF DSF OSF DSF oSF OSF DSF DSF 17BE 17CE 17DF L7FO 1803 181B 1826 1834 1842 SPEED lIPCO BleEC BINDC BINHX CPEBC CPHOL CPPT3 OCBIN OSF OSF OSF OSf DSf DSf OSf oSF DSF 1 BOA 18E:F 18f9 1 Bf-F 1904 1 '108 1'111 1914 OSF 0007 15F2 DSF 0006 15F9 DSF 0003 15H OSF 0003 1602 DSF 0004 1605 DSF 0004 1609 DSF 0003 1600 OSF 0002 1610 oSF C003 1653 oSF 0003 1656 DSF 0005 1659 FIXIX FLOAT If IX NORM SNR XDD XMO XMDS FBro FoTB lABS XSQR PAUSE S.TOP SUB IN SUBSC TTEST TSET OATSW OVCI1K FCTST DSf 0003 16A4 OSF 0002 16A7 OSf 0003 16A9 DSF 0005 1610 DSf OOOA 1622 DSF OOOB 162C DSF 0003 1637 OSF eOOB 163A OSF 0006 1645 DSF 0004 1648 DSF 0004 164F =FlET 0118 CHAIN AODR. 0152 FOR DB fiAT CNT DB AOOR SIOF SICAF SIOFX SCOMP SWRT SRED SIOIX URED PROG NA~E DSF ODIC 1720 OOOF 0006 0000 0000 0005 0007 0005 DOD' 0002 0010 COll 0011 0013 0015 OOOE OOOE OOOE 0018 0015 OOOA 0006 0005 0004 0009 0009 0009 0006 1<;l3 Appendix G 125 SDAI UWRT UIOI UIOF UIOAI UIOAF UIOFX UIOIX UCOMP I:lCKSP EOF REWNO CAROl CSf" OOOC 113C socm' SDF SOr-X 501 SOIX SDREO SOwRT SOFNO OSF OOOb 100A SF 10 CSF 0040 16EO 5101 SIOAI $FPAO 0106 =CION 3333 SCTR NO. C002 =FPAO 0106 UA/FXA. WORDS AVAIL. 0081 0158 DB PROG NAME FOR DB MAT CNT PT3EB CMTOO DMTXO OMP01 OMPX1 OMP80 fUPR SYSUP AORwS COpy DISC OLCIS OSlET 10 10ENT "'OOIF PTL;Tl CAlPR FSLI:N FSYSU ROREC OSF OC09 198C OSF OOlA 1995 AOOR DSF OOlE 19AF CSF DSF DSF OSF DSF DSF OSF DSF OSF DSF DSF CSF DSF OSF 0007 0007 0035 aCID 0010 0036 0010 0036 001A OOOC 0059 0009 0007 OOOB =lIlET 0150 =CIBA 0140 19CO 1<;04 190B lAlO 1A20 1A3D lAB 1A90 lAC6 lAEO lAEC 1B45 IB4E 1855 OSF 0015 lUbO HOLEl HOlTI:I SGOTO SIAR SIARX SIIF IlSOO ILSOI ILS02 ILS03 IlS04 CAROO OSF OSF OSF OSF 0005 0004 0003 0004 178F 1194 1798 179B OSF OSF OSF OSF OSF OSF OSF 0003 0003 C003 0001 0003 0002 0010 PROG NAME 119F 17A2 11A5 17A8 l1A9 llAC 11AE PRNT3 READO REA01 TYPEO WRTYO EBPRT HOLEB HCLPR HXBIN PAPEB PAPHL PAPPR DSF DSF OSF DSF OSF OSF OSF OSF OSF OSF OSF DSF FOR OB MAT CNT DB AOOR PROG NAME POINT SCALE SCALF XYPLT EBC48 HOLCA HOl48 HXCV PRNT2 SCATI STRTB SCAn KG3 KG4 SCAT2 10UMY OATA2 10UMY OSF OSF nSF oSF nSF OSF OSF OSF nSF OSF OSF OSF OSF OSF DSF 004B 0006 0009 0040 DaDE OOF 0020 46110 1C05 1COO 1COF 1C11 1C18 1C21 1C27 1C2F 1C33 1C51 lC92 1C98 1CE3 1CE9 lCF2 1032 1040 lObO PROG NAME FOR DB MAT CNT DB AODR PKOG NAME FOR DB MAT CNT DB AOOR 0000 0007 0008 0012 0009 0007 0009 0007 0005 0010 0010 0000 185A 186E 1876 1888 1891 1898 18A 1 18A8 18AO 18BO 18CO OECSI ESCCP EBHOl ESPA ESPH HlEBC HLPT3 HOlCP HOLl PRTY PTHOL PHCP OSF DSF OSF DSF OSF DSF OSF OSF OSF OSF OSF OSF FOR DB MAT CNT DB AOOR PROG NAME FOR DB MAT CNT De PRCG NAME FOR DB MAT CNT DB AODR PROG NAME FOR DB MAT CNT De AI:DR PROG NAME FOR DB MAT CNT DB AOOR PROG NAME FOR DB MAT CNT De ADDR 18bl 0009 0009 0009 0006 0009 0009 0009 0009 0006 0006 0009 0009 1919 1932 1936 1'744 l'lltA 19~3 19~C 1'705 l'7oE 1974 197A 1<;tl3 =FLET 0118 ACDR. C~AIN 0118 PRCG NAME FOR DB ~AT CNT ECHAR ECHRX ECHRI VCHRI EGRIO ERUlE EMOVE EINC EPlOT FCHAR FCHRX FCHRI WCHRI FGRIO FRULE F,,"OVE FINC FPLOT PlOTI PLOTS PlCTX OSF 0005 1B75 OSF 0026 1B7A DB AOOR OSF 0008 18AO OSF OOOA 18A8 OSF 0005 18B2 CSI' 0005 IBB7 CSI' 0025 lBBC DSF 0008 1BEl OSF 0009 IBE9 OSF C004 1BF2 OSF 0003 1BF6 0008 0002 0002 0001 0009 0006 0008 0004 OOlE 0041 OOOb ACUR OSF COOC 1BF9 FLET = CION !of PA C 0106 3333 P~DG FOR DB MAT CNT =lILET 0150 =CIBA 0140 WORDS AVAIL. 0132 UA/fXA. 012e SCTR NC. aCID NAME =fPAD 0106 PROG l' 95 0696 0691 0698 0699 010e 0701 0702 0103 0704 0705 0706 0707 0708 0709 0710 0711 0112 0713 0714 0115 0716 0711 0718 0719 0720 0721 0722 0723 0724 0725 0726 0727 0728 0729 0730 0731 0732 0133 0734 0735 0736 0731 0138 0139 0740 0741 0742 0743 0744 0745 0746 0747 0748 0749 0750 0751 0752 0753 0754 0755 0756 0757 LABEl OPCO fT OPERANDS ID/SEQNO 01965 01970 01975 01980 OZ985 019"90 OZ995 SYS06120 SYS06130 SYS061,.0 SYS06150 SYS06160 SYS06170 SYS06180 SY.S06190 SYS06800 SYS06810 SYS06820 SYS06830 SYS06840 SYS06850 SYSOli860 SYS06870 SYS06880 SYS06890 SYS06900 SYS06910 SYS06920 SYS06930 SYS06940 SYS06950 SYS06960 SYS06910 SYS06980 SYS06990 SYS07000 SYS01010 SYS07020 SYS07030 SYS07040 SYS07050 SYS07060 SYS07070 SYS070S0 SYS07090 SYS07100 SYS07110 SYS07120 SYS07130 SYS07140 SYS07150 SYS07160 SYS07110 SYS011S0 SYS07190 SYS07200 SYS07210 SYS01220 SYS01230 SYS07240 SYS07250 SYS07260 SYS07270 SYS07280 SYS07290 SYS07300 SYS07310 SYS01320 SYS07330 SYS07340 SYS07350 SYS07360 SYS07310 SYS07380 SYS07390 SYS07400 SYS01410 SYS07420 SYS07430 SYS01440 SYS01450 SYS07460 SYS07410 SYS01480 SYS07490 SYS07500 SYS07510 SYS07520 SYS07530 SYS01540 SYS07550 SYS01560 SYS07510 DC DC DC DC DC DC DC $ACDE BASE AREA CODE ADOR $CYLN-$ACOE 8ASE ARM POSITION ADDR 2ND WORD OF READ CHECK IOCC /0400 2ND WD OF SEEK IOCC W/O AREA CD 321 NO. WORDS PER SECTOR (W/ AODR) CURRENT SECTOR NO. -1 MASK FOR COMPLEMENTING --- - RESERVED FOR SAVING CORE ON A DUMP ENTRY TO SKEL X2 8SS EQU 01210 SRA STO MDX NOP MOX THIS AREA MUST BE AT $CIBA+319 2 DIOOO L 16 $DBSY $I OCT ,-I CLEAR BUSY INDICATOR DECREMENT 10CS COUNTER onoo TO EXIT - PREPARE TO TRAP OUT ON 'POWER UNSAFE' CONDITION D121S LD MOX OZ914 OZl90 BR TO TPAP OUT - PREPARE TO TRAP OUT ON 'NOT READY' CONDITION 01220 LD BSI MOX L 01225 LO RTE LO SRA MOX 01230 MOX OZ235 LOX LDD STO STO 0"1240 SRA SLT STO A STO A STO A A A STO lOX STX LO AND 01250 STO Dl280 S BSC MOX LO A MDX MDX MOX - L II 01935 $PRET 01340 fETCH ERROR CODE BR TO PREOPERATIVE ERR TRAP RETRY THE OPERATION 01910 16 I 3 0Z3S0 FETCH 1ST WD SEEK IOCC fETCH DESIRED CYLINDER AODR .-- INCREMENT IOCS COUNTER AODR I/O AREA TO XRI SIOCT,1 1 0 01902 01912 16 4 01280+1 OZ965 OB30+! Dl910 Dl350+1 01960 D12S0+1 D1280+1 01280+1 2 -3 1 01906 1 1 01940 1 I L 1+ Dl300 I DZ930 l DZ2S0+!,1 2 I 01250 BR TO PERfORM THE SEEK SAVE WORD COUNT, SCTR AD OR DRIVE CODE IN 8ITS 12-15 COMPUTE AND STORE THE -AODR OF THE AREA CODE COMPUTE AND STORE THE -AODR OF THE ARM POSITION AOO IN BASE OT AODR ADD IN THE DRIVE -CODE TWICE MORE INITIALIZE COUNTER FOR LOOP fETCH DESIRED SEClOR AOOR 'AND' OUT SECTOR NO. -AND DRIVE CODE SUB DEfECTIVE CYLINDER AODR SKIP If BAD CYLINDER BR TO CONTINUE PROCESSING INCREMENT SCTR ADD.R BY 8 POINT TO NEXT DEFECTIVE CYL SKIP AFTER 3RO PASS COMPARE WI NEXT OEf CYL ADR * CONSTRUCT THE 2ND WORD OF ALL IOCC'S DZ300 lOX LO AND STO 0Z330 [0 OR STO OR STO OR S STO l2 2 2 2 L 2 2 2 2 2 2 2 01000 01913-X2 01955-X2 DZ990-X2 --. 01980-X2 DZ910-X2 D1925-X2 Dl909-X2 OZ990-X2 D1945-X2 D1907-X2 AOOR OF OZOOO TO XR2 fETCH SECTOR ADDRESS 'AND' OUT ALL BUT SECTOR NO SAVE SECTOR NO. fETCH AREA cooe 'OR' IN SEEK FUNCTION CODE SEEK IOCC M"INUS DIRECTION 'OR' IN READ fUNCTION CODE IOCC fOR READ-AfTER-SEEK 'OR' IN SECTOR NO. COMPLETE READ/WRITE CODE 2ND WD Of READ/WRITE IOCC Appendix H 135 ADOR REL OBJECT 0186 0 0187 0 0188 0 (l189 C 018A 0 0188 C 018C 0 0180 0 018E 0 018F 0 0190 C 0191 0 (l192 0 0193 0 0194 0 0195 0 0196 0 0191 00 0199 0 019A 0 EA42 8247 0240 EA48 023B CA3C OA3A 02EB 4828 70BC 1002 4828 10BB 100B 4828 70BC CI01 94000000 4818 7014 019B 019C 0190 019E 019F OlAO DIAl OIA2 01A3 OlA4 OlA5 1893 180F 1002 EA3A 1800 4810 1002 F251 8230 DA34 0 0 0 0 0 0 C C 0 0 0 OlA6 0 OlA1 0 OlA8 0 ~213 CA38 DA34 4213 01A9 OlAA OlAC o lAD 0 C231 00 04800198 C 9101 00 ~C200116 OlAF 01BO 01Bl 01B2 01B3 0184 01B5 0186 0187 01B8 0189 OIBA OlBB 01BC 01BO 0 0 0 0 0 0 0 0 0 0 0 0 0 01BE OlBF 01CO 01Cl 01C2 01C3 01C4 01C5 01C6 01C7 01C8 OlCA 01CB 01CC 01CO OICE 136 C 0 CBC 4808 7094 8A40 DA3C 4830 1810 824F 0100 CA36 OA34 CI01 EA50 0101 4213 C240 0235 C241 4820 4213 0 CA32 0 0900 C C23C 0 4808 0 10E9 00 75000140 C C900 0 DA32 0 CA3C 0 0900 a 108F 0 0 0 0 0 ST.NO. 0758 0759 0760 0761 0762 0763 0764 0765 0766 0761 0768 0769 0770 0771 0772 0773 0774 0775 0776 0777 0778 0779 0780 0781 0782 0783 0784 0185 0786 0781 0188 0189 0790 0791 0192 0793 0194 0795 0796 0197 0198 0199 0800 0801 0802 0803 0804 0805 0806 0807 0808 0809 0810 0811 0812 0813 0814 0815 0816 0817 0818 0819 0820 0821 0822 0823 0824 0825 0826 0821 0828 0829 0830 0831 0832 0833 0834 0835 0836 0831 0838 0839 0840 0841 0842 LABEL OPCD FT OPERANDS 2 2 2 2 2 2 2 2 OR A STO OR STO LOD OZ340 XIO STO BSC MOX SlA BSC MOX SLA BSC MOX LO 02350 S BSC MOX DZ920-X2 DZ945-X2 OZ975-X2 DZ950-X2 DZ911-X2 OZ912-X2 Ol910-X2 SDDSW-X2 Z+ 01215 2 Z+ Dl220 11 Z+ Dl225 1 1 L +01400 --- ID/SEQNO 'OR' IN READ CHECK BIT 2ND WD OF READ CHECK IOCC 'OR' IN SENSE IOCC BITS COMPLETED SENSE IOCC l+SCTR ADOR TO EXTENSION SENSE FOR OISK READY SAVE THE DSW SKIP UNLESS POWER UNSAFE OR -WRITE SELECT, BR OTHERWISE BR TO PREOPERATIVE ERR TRAP -If DISK NOT READY, SKIP -OTHERWISE FETCH DESIRED CYLINDER ADDR SUBTRACT ARM POSITION SKIP IF SEEK NECESSARY BRANCH TO PERFORM OPERATION .. SEEK 19 15 2 2 D1910-X2 16 SRT SRA SLA OR RTE BSC .. OX EOR A 0Z380 STD BSI 2 2 2 2 PUT NO. CYLINDERS IN EXT + OR - SIGN TO BIT 15 SHIFT SIGN TO BIT 13 OR IN REMAINDER OF IOCC SKIP IF SEEK TOWARD HOME BRANCH IF SEEK TOWARD CENTR OB80 D1995-X2 COMPLEMENT NO. CYLS TO BE DZ900-X2 -SOUGHT TO GET POSITIVE NO. 01904-X2 START SEEK 01070-1-X2 - SEEK COMPLETE INTERRUPT PROCESSING 2 01908-X2 SET UP IOCC fOR 2 01904-X2 -READ AFTER SEEK 2 01010-1-X2 START READ-AfTER-SEEK LOD STD BSI SYS07580 SYS07590 SYS07600 SYS07610 SYS07620 SYS07630 SYS07640 SYS07650 SYS07660 SYS07670 SYS07680 SYS07690 SYS07700 SYS07710 SYS07720 SYS07730 SYS07740 SYS07750 SYS07760 SYS07770 SYS07780 SYS07790 SYS07800 SYS07810 SYS01820 SYS(l1830 SYS07840 SYS07850 SYS07860 SYS07810 SYS07880 SYS07890 SYS07900 SYS07910 SYS07920 SYS07930 SYS07940 SYS07950 SYSC1960 SYS07970 ~YS07980 - READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING LO STO S BSC 2 D1901-X2 0l350+1 1 1 L OZl85.Z I FETCH ADR OF SCTR JUST READ UPDATE ARM POSITION SUB DESIRED SCTR ADDR BR IF SEEK UNSUCCESSFUL .. REAO/WRITE Dl400 LDO BSC 02410 MOX AD STO BSC SRA A STO LDO STD LD OR STO aSI 2 OZ912-X2 + Dl210 2 01916-X2 2 D1912-X2 z- 2 I 2 2 1 2 1 2 16 DZ985-X2 0 FETCH INTERMEDIATE WD CNT SKIP. WD CNT NOT EXHAUSTEO BRANCH IF READ/WRITE DONE DECREMENT WORD COUNT AND -INCREMENT SECTOR AODRESS SKIP IF THIS IS LAST SECTOR CLEAR ACCUMULATOR AOD BACK 321 TO .WD CNT STORE RESULT IN I/O AREA RESTORE loce FOR ORIGINALLY -REQUESTED OPERATION ADD SECTOR NO. TO ~ECTOR -ADDRESS 01906-X2 DZ904-X2 1 DZ990-X2 1 DI070-1-X2 START READ/WRITE OPEItATION • REAO/WRITE COMPLETE INTERRUPT PROCESSING LO STO LD BSC BSI LDO STD La BSC MDX MOX LOD STO ~DO STO ADX 2 DZ975-X2 SET UP FOR READ CHECK 2 DZ905-X2 2 01945-X2 FETCH FUNCTION INDICATOR SKIP IF READ REQUESTED Z 2 DI070-1-X2 START READ CHECK OPERATION 2 D1902-X2 RESTORE LAST 2 WDS OF SEC-TOR PREVIOUSLY READ 1 0 2 DZ912-X2 FETCH INTERMEDIATE WD CNT SKIP IF MO'RE READING/WRTING + BRANCH IF FINISHED 02410 POINT XRl TO. NEW I/O AREA Ll 320 SAVE LAST 2 WDS OF SECTOR 1 0 2 DZ902-X2 -JUST READ/WRITTEN 2 OZ912-X2 WO CNT. SCTR AOOR NEXT OP STORE 80TH IN NEW I/O AREA 1 0 BACK TO SET UP NEXT OPERATN Dl240 YS01990 SYS08000 SYS08010 SYS08020 SYS08030 SYS08040 SYS08050 SYS08060 SYS08070 SYS08080 SYS08090 SYS08100 SYS08110 SYS08120 SYS08130 SYS08140 SYS08150 SYS08160 SYS081"10 SYS08180 SYS08190 SYS08200 SYS08210 SYS08220 SYS08230 SYS08240 SYS08250 SYS08260 SYS08270 SYS08280 SYS08290 SYS08300 SYS08310 SYS08320 SYS08330 SYS08340 SYS08350 SYS08360 SYS08370 SYS08380 SYS08390 SYS08400 SYS08410 SYS08420 ADOR REL OBJECT OOOB 01CF 010A 01DA 01DC 0100 010E OlEO 0 0 0 0 OOAO 0000 0000 0000 0002 C ST.NO. 0843 0844 0845 0846 0841 0848 0849 0850 0851 0852 0853 LABEL OPCD FT OPERANDS BSS * DC SCION DC DC DC BSS $lEND EQU ID/SEQNO SYS08430 SYS08440 SYS08450 SYS08460 SYS08470 ID NO. OF CORE IMAGE LOR,P1 SYS08480 CORE ADDR/CID NO. SYS08490 WORD COUNT SYS08500 scn ADOR SYS08510 WO CNT, SCTR ADOR CORE LOS SYS08520 1 + END OF DISKZ SYS08530 11 PATCH AREA .-. 'CILl *-* 2 EQUIVALENCES AOOR REL OBJECT 006E 0070 0071 0018 008C 0080 008E 008F 0090 0091 0092 0093 0094 0095 0096 0091 0098 OOAO OOAl 0014 0016 0011 0018 0019 OOlA 005A 0089 0004 OOEF OOFO OOFl 0000 0001 0002 0003 0006 0001 0000 0000 0001 0002 0003 0004 0005 0006 0001 0008 0009 OOOA 0008 0011 00lA 001C 0 0 C 0 0 0 0 0 0 0 0 C 0 0 0 C 0 0 0 0 0 C 0 C 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 ST.NO. 0855 0856 0851 0858 0859 0860 0861 0862 0863 0864 0865 08'66 0867 0868 0869 0810 0871 0812 0813 0814 0815 0816 0877 0878 0879 0880 0881 0882 0883 0884 0885 0886 0887 0888 0889 0890 0891 0892 0893 0894 0895 0896 0891 0898 0899 0900 0901 0902 0903 0904 0905 0906 0907 0908 0909 0910 0911 0912 0913 0914 0915 0 C 0916 0 0 0918 0919 0911 LABEL OPCD FT OPERANDS ID/SEQNO * EQUIVALENCES FOR PHASE 10 NUMBERS ·SUP1 ' SUP3 'SUP4 'CLBO '1403 '1132 'CPTR '2501 '1442 '1134 'KBCP 'CDCV 'PTCV 'K8CV 'OlIO 'OliO '.ONIO 'CILl 'C1l2 • EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 110 112 113 120 140 141 142 143 144 145 146 141 148 149 150 151 152 160 161 PHASE PHASE OHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE PHASE 10 FOR ID FOR 10 FOR 10 FOR 10 FOR 10 FOR ID FOR 10 FOR 10 FOR ID FOR ID FOR 10 FOR 10 FOR 10 FOR 10 FOR 10 FOR 10 FOR 10 FOR 10 FOR "CRA DUMP PROGRAM ERR ANAL PROG CLB, PHASE 011 SYS 1403 SUBR SYS 1132 SUBR SYS CP SUBR SYS 2501 SUBR SYS 1442 SUBR SY S 1134 SUBR SYS KB/CP SUBR SYS CO CONY SYS 1134 CONY SYS KB CONY DISKl OISKI OISKN CI LOAOER,PH 1 CI LOAOER,PH 2 * EQUIVALENCES FOR RESIDENT MONITOR SLKNM SRMSW SCXR1 SCLSW SDMPF SACEX SCIlA $18T2 SI8T4 SSNLT SPAUS SRWCZ eQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU SI1ASH SHASH+2 ShASH+3 SHASH+4 SHASH+5 SHASH+6 $S150+1 $1205+1 $1405+1 SoBSY+1 OZOOO-2 DZOOO-1 SAVE AREA FOR NAME OF LINK EXIT-LINK-DUMP SW(-l,O,+l) SAVE AREA FOR XR1 SW FOR CORE IMAGE LDR,PH 2 DUMP FORMAT CODE ACC AND EXT WHEN ENTER DUMP AODR OF END OF OK I/O - 3 AOR OF SERVICE PART OF OKlO ADDR OF THEIST SENSE LIGHT INDICATOR ,PAUSE,INTERRUPT INDICATOR READ/WRITE SWITCH (CAROl) • EQUIVALENCES FOR ABSOLUTE SECTOR ADDRESSES 'lOAD 'DCOM 'RIAD 'SLET 'RTBL 'HONG 'STRT EQU EQU EQU EQU EQU EQU EQU 0 1 2 3 6 1 0 ADDR OF AODR OF ADOROOF ADoR OF AODR OF AODR OF ADDR OF SCTR SCTR SCTR SCTR SCTR SCTR SCTR WITH ID,OEF CYL AOR CONTAINING OCOM CONTAINING RES IMGE CONTAINING SLET CONTAINING RELO TBL CONTAINING PAGE HDR W/ COLO START PROG • EQUIVALENCES FOR THE CORE IMAGE HEADER 'XEQA 'CMON 'DREQ 'FILE 'HWCT 'LSCT 'LOAD 'XCTL 'TVWC 'WCNT 'XR3X EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 'nvx E,QU 'ILS4 EQU 'OVSW EQU 'ceRE E:QU 0 1 2 3 4 5 6 7 8 9 10 11 11 26 28 RLTV RLTV RLTV RLTV RLTV SCTR RLTV RLTV RLTV RLTV RLTV RLTV RLTV RLTV CORE AODR OF CORE LOAD EXEC ADDR ADDR OF WD CNT OF COMMON ADoR OF DISK I/O INDICATOR ADDR OF NO. FILES DEFINED ADDR OF WD CNT OF CI HEADER CNT OF FILES IN WK STORAGE ADDR OF LO~O ADDRCORE LOAD ADDR DISK1/DISKN EXIT CTRL ADDR OF WD CNT OF TV AODR OF WD CNT OF CORE LOAD AoDR OF EXEC SETTING OF XR3 ADDR OF 1ST WD OF lTV ADDR OF 1ST WO OF 18T4 ADDR OF LOCAL/SOCAL SWITCH SIZE OF BUILDING SYSTEM SYS08550 SYS08560 SYS08570 SYS08580 SYS08590 SYS08600 SYS08610 SYS08620 SYS08630 SYS08640 SYS08650 SYS08660 SYS08670 SYS08680 SYS08690 SYS08700 SYS08710 SYS08720 SYS08130 SYS08740 SYS08750 SYS08760 SYS08770 SYS08780 SYS08790 SYS08800 SYS08810 SYS08820 SYS08830 SYS08840 SYS08850 SYS08860 SYS08870 SYS08880 SYS08890 SYS08900 SYS08910 SYS08920 SYS08930 SYS08940 SYS08950 SYS08960 SYS08970 SYS08980 SYS08990 SYS09000 SYS09010 SYS09020 SYS09030 SYS09040 SYS09050 SYS09060 SYS09070 SYS09080 SYS09090 SYS09100 SYS09110 SYS09120 SYS09130 SYS09140 SYS09150 SYS09160 SYS09170 SYS09180 SYS09190 Appendix H 137 AODR REL OBJECT 0005 0003 0000 0001 0003 0001t 0000 0002 ST. NO. 0920 0921 0922 0923 0924 0925 0926 0927 0928 0929 0930 0931 0932 0010 0 0 0 0 0 0 0 0 0 0933 0931t 09'45 0936 0033 0 00(15 I) 0'\80 04CI) I) I) 0937 0938 0939 0940 0941 0942 0943 0600 0 0011 0 00F9 0 OOF7 fJ 11)00 !') 007F 0 (\9~4 0946 (1947 (1948 09'.9 0950 (lq51 0952 '0953 (1954 0955 ('1956 0957 "958 1'1959 09M ('1961 0962 0963 (1964 (1965 0966 0967 0969 0969 0970 0971 (\972 0973 0974 1'1')75 0976 0977 ('1978 0979 0980 0981 0932 09a3 (lQ84 0985 0986 0987 0988 0999 ('991) OJ91 1)9 Q 2 0J93 ('1'144 (l'N:5 r.996 OB7 10')2 C82F 1(l!' 3 (HFC OlE') 138 * EQUIVALENCES FOR LET/FLET *'LFHD 'LFEN 'SCTN 'UAFX 'WDSA 'NEXT 'LFN" 'BLCT Eeu EQU eou EeU eeu eeU EeU EeU 1)1) oconO~C'4 0 012S Cl'34 11)04 11)()5 10(l6 IH2f 1007 o 2 Z-1 51 ISS NO. ADJUSTMENT FACTOR 5 ~AX NO. DRIVES SJPPORTED 896 LOW COHMON LIMIT FOR DISKl 1Z1& LOW COMMON LI~IT FOR DISK1 1536 LOW COMMON LIMIT OF DISKN 17 NO. TRIES BEFORE DISK ERROR DZOOO+7 LIBF ENTRY TO DISK1/N DIOOO+5 DISK 1/0 INTERRJPT ENTRY PT 2-1 ft096 SIZE OF MI NI MiJH CORE Y EOU 1Z7 ***.********.********.***** •••• **** •• *.* ••••••• * ••• * • .STATUS - VERSION Z. MUDIFICATION LEVa O. • • • *F UNC TI ON/OPE RA TI ON • • Til S PRO;oRAM I S READ I NT 0 CORE FROM SECTOR 0 • • OF T~E SYSTEM CARTRIDGE AND TRANSFERRED TO BY • * TiE COLO START CARD. DEFECTIVE CYLINDER * * AOORESSES. CARTRIOG~ 10 AND DISKl ARE ALSO 0111 • * SECTOR 0 AND ARE READ IN AT THE SAME TIME. * * AlL HAT REHAI NS FOR THE COLD START PROGRAM IS. • TO READ IN THE .RESIDENT IMAGE, SAVE THE • * CARTRIDGE 10 AND TRANSfER TO THE AUXILIARY * * SUPERVI SOR TfiROUGH SOUMP IN THE RES IDENT • * MONI TOR. • * • .ENTRV - CR010-Z • • ENTER PROGRAM BY TRANSFER FROM COLO START CARD* * • *1 NPUT • * TiE CARTRIDGE 10 OF LOGICAL DRIVE ZERO (THE • * SYSTEM CARTRIDGE) IS READ IN FROM SECTOR 0 * * wi Tii TriE COLD START PROGRAM. * • • *OUTPUT * * * TiE RESIDENT IMAGE IS READ INTO CORE FRO~ * * THE DISK. • • * IN COMMA* • ~4COE * * SCIBA-l • * SCION • * SC YLN • • SDaSy * * SIOC T * * * .EXTERNAl REFERENCES • • )lOOO SU~RoUTINE TO PERfORM DISK 1/0. * * * *:::XITS * T'iE ONLY EXIT IS TO THE AUXILIARY SUPERVISOR. * • AS FULLOWS• • B SI SOUMP • • DC -1 * * • .ua LE S/WORK ARE AS - N/ A • • • *4 TTRI Ii UTE S • * Til S PRO;iRAM I S NOT NATURALLY RElOCAT ABLE. • * * *NlHE S • * )ISI< ERRORS RESULT IN AWAIT AT $Psr2. * ••*.**.***••• ** •••••••••••• * ••***** ••••••••••••••• * 'I STY EQU 'MlOR EOU 'COMl Eau ':mu Eau '::0142 EOU 'TeNT EQU ')KEP EOU ')KIP EOU 'MCOR EQU LDX LDO :~ 01 0 STD STO LD STO 1'001 STil (l C156 DOFl 11'09 101 " LO STu LD SRT STlI STO n 1 3 4 WORD COUNT OF lET/FLET HEADER NO OF WDS PER lET/FLET ENTRY RLTY ADDR OF LET/FLET ~CTR NO. RlTY ADDR OF SCTR ADDR ·OF UA/FXA RLTV ADDR OF WDS AVAIL IN SCTR RlTV ADOR OF AOOR NEXT SCTR RLTV ADDR OF LET/FLET ENTRY NAME RLTV AOOR OF LET/fLET ENTRY D8CT • 0029 I) o * MISCELLANeOUS EQUIVALENCES 0 I) I) 5 3 * 617F !\ RLTV ADDR OF LAST WO OF CI HDR IN)l 01FI OlE? OlE4 01ES o lE6 01E7 01[8 O1E9 OlEA 01ErI 0 SYS09200 SYS09210 SYS09220 SYS09230 SYS09240 SYS09250 SYS09260 SYS09270 SYS09280 SYS09290 SYS09300 SYS09310 SYS09320 SYS09330 SYS09340 PM'409345 PM'409350 PM'409360 PMN09370 PM'409380 PM'409390 PM"I09400 PM'409410 PM'409417 P"'409420 PM'409440 29 •* KEAD THE RESIDENT IMAGe OlEO 0 /) ID/SEQNO 'HEND EOU Ion!) "999 0 LABEL OPCD FT OPERANDS CI)F~ 1('111 1890 D16F DlIB 1fl14 1012 1013 PMIII094bO P~~09470 PMIII 09480 P~~09490 PMIII09500 PM~09510 ~M'409520 PMN09530 PM"I09540 PMN09550 PM~09560 PMIII09570 .PMIII 09 580 ~"'~09590 PM~09600 P~~09610 P"'~09620 PM~ 09630 P~'409640 PMlt09650 PM~(l9660 PMN09670 PMIII09680 PM~09690 PM'409700 PMN09710 PM'409720 P~'409730 PM'489740 P~'4 09750 PM~09760 PM'.! 09770 PM'409780 PM'.!09790 PM'409800 P~'4098l0 PH'409820 PMN09830 PM~09840 PM~ 09850 PM~09860 P~'409d70 09880 PM'409890 PM~ P"'''O~900 PM'409910 PM~09920 PM'409930 P"~09940 PM~09950 P'4'409970 I~TO CORE y CR920 L SCIBA-l 1 SDCY L-Y 1 3-Y 1 $ACDE-Y CR920+1 P~'409450 SET UP WORD CruNT AND SCTR *ADOR OF RESIDENT I~AGE • I NIT I ALIZE DEF cn NO. 1 FETCH LOG OfUIi E 0 AKEA CODE *AND STORE IT IN COMMA SAVE THE ARtA CODE DZO~0-Z-27-Y FETCH AND SAVE THE $CIDN *CARTRIDGE ID CR010+1 FETCH CORE ADOR OF RESIDE~T 16 .1 MAGE AND PJr IN EXTENSION f,O.I:lSY-Y CLEAR DISK BUSY INDICATOR $CYLN-Y INITIALIZE ARM POSITION P~'409980 PM'409990 P'1~10000 PMN100IO PM"10020 PM'410030 P'1l1l0040 PM'll 10050 PMlIII0060 PN~10070 PM'4100aO PM'410090 PH'410100 PM:',II0110 PM'4101Z0 ADDR REL OBJECT OlEr 1'1 OlEF " Olfl) 0 01Ft ') 01F2 0 01F3 0 01F4 0 ST.NO. 4173 3':11"10 Olf5 "I 1')120 01F6 0 01F7 0 C016 0181 !HI lNo WAIT 11)17 1015 1019 1020 1021 1022 1023 1(124 1025 1026 1021 1028 1810 0163 C81B 1)985 COIC 1029 01F8 0 01F9 I) 41CC FFFF 01F4 0013 0200 'l 020E 0 020F a 0210 a 0211 0 0212 103" 1031 1032 1033 1()34 1£'35 1036 1031 1038 1039 1040 1041 1042 1043 1044 703F 1'1001 0007 00E8 0002 0000 LABEL OPCD FT OPERANDS 101, ID/SEQNO DZOOO-Y PH'HOnO FETCH RESIDENT IMAGE WAlT OJT THE I NT E RRIH'T P14'110 140 P"''110150 PHII10160 1 TE MS I N COMMA P"''110110 * SRA 16 P14\110180 STO SIOCT-Y CLEAR 10CS COUNTER P"'110190 CR910 LOO PHI'410200 SCIBA-I-Y *FOR SAVING CORE ON T'HE CI8 P"''110210 ST!> CRnO+l lO FETCH AREA CODE PHN10220 PHII10230 SACDE-Y RES ET ARE A CODE STn CROJ05 lO INITIALIZE WO ZERO TO SR TO PH'I10240 o-y PHII10250 STO *OUHP ENTRY POINT PLJS 1 PI4'4l0260 PH'll 10270 ** TRANSFER TO THE AUl(ILIARY SUPERVISOR PM'll 10280 • TO COMPlE TE I NtTlALl ZATl ON P14'110290 SOUMP-Y BR TO AU)( ILLIARY SI.IPERVISOR PM'I10300 3 SI -1 PHN10310 DC *FOR JOB PROCESSING 1»"'1110320 PATCti AREA PMN 10330 8 SS 19 P"''110340 ** :ONSTANTS AND wORK AREAS PM'I10350 P"''I10360 CR905 HlX X SOUMP+l-1 TO BE STORED IN LOCN ZERO PM'I10310 CR910 1 WO CNT.SCTR AODR OF CAUSE P"'1'410380 QC P}4'110390 IHONG *HARHL.ESS wRITE TO DISK :R920 DC SOBSY-$CH12 WD CNT AND SCTR PM'll 10400 PM'I10410 DC 'RIAD *AODR OF RESIDENT I~AGE END PM'll 10420 •• I Nl n All ZE * • * ac CROSS-REFERENCE SY"4BOL CROIO CR905 CR'H1' CR92() 01001"1 Dzo1n Ol020 Ol('30 OlOi>1'I OlOl!' on"o 0Z181' Dllll5 OZ190 01210 Ol215 01220 Ol27.5 01230 01235 OZ7.41\ 01250 OZ 281) OZ3N' 01331) Ol34" DZ350 DZ380 DZ40l) OZ41° D19N) OZO" 1 Dl91'12 OZ904 Ol c;l" 5 OZ (II) b Olc;107 OZ91'8 DZ909 Dl91f) OZ911 Ol912 Ol913 01914 Ol o 15 VALUE 01E2 021'0 "20E ";.!10 0£'F2 (I !'IF 1 n"F9 (lOFF 0104 1)1('16 0108 010E 0116 01111 0146 014C 1)14E 0152 I)lSl 'l159 015E 1)160 016E Ol1R 0110 n18C ()197 1)144 °UF "1131 0172 0123 ('1124 'H26 0121 0128 0129 0124 1'12B OI2C 0171) n12E 01?f- RFL DEFN ~EFERE~CE 0 1004 1039 1041) 1042 0586 0593 0595 1\601 1)61)6 ('610 0615 1)621 1)621 0636 0637 1)695 0100 0706 1011 1020 1022 1003 0322 0604 0589 0639 1'626 0191 0595 1"594 0804 0696 0811 0167 1)110 0173 0605 0600 (1842 0742 1'1121 ('1137 0123 0102 0638 0110 0711 ()S36 0653 0801 0621 0611 OH28 0131 0151 0195 0154 0623 n762 0634 ')747 0695 ')635 0 I) 0 I) 0 0 :) 0 0 0 I) I) 0 0 0 " 0 0 0 (I 0 a 0 1'1 0 0 (I 0114 0115 1'1119 0134 0735 0746 0750 0164 1'775 nno 0 1)8 0 9 0811 1'1645 Ob46 Ob47 06·49 0650 0651 0652 0653 1)654 0655 0656 0651 1)65H Ol3" I) 06')Q nn1 0 0660 !) I) (I !l I) f) 0 fI 0 0 I) I) 0 I) ::> 1008 ('1343 0611 1024 0S03 :)622 1)791 1)596 0610 1)823 "831 J&83 0146 0890 0834 0840 0891 0941 0942 1009 1015 ')!In 063(1 0127 1)123 0125 0787 OS02 )129 H4:> 018Q ('1711 0190 0832 0196 1~B 0106 0152 ~7b4 Ha4 0118 0163 :'J8'B 0813 OtHo} 0818 Appendix H 139 SYMBOL VAlUE REl OEFN REfeRENCES 0 0 0661 0663 0664 0665 0812 1)758 ()753 0739 !l666 ')667 0668 11669 0670 !1671 ·1672 0673 1)700 0733 0598 0761 0748 0726 0722 0724 0760 0751 01316 0749 OlBa 0672 0317 OZ916 01970 07')75 1)132 1)134 nl3S 0193'.:' 0136 OZ935 (')137 013'3 1)139 !) rnA 0 1)13~ 0 019 /,"1 0<'945 0195r 0795'5 0196"l 01965 0197(\ OZ975 OZ91\C' 079Q5 0799('\ 07995 SACOf UCEx SCCAl) SCH12 CI!iA SCID'.! SCll A SCl S;O/ SCO ...... SORE SCPTR SCTSIo/ SCwCT SCX~ 1 SCYL ... SOABl SOAOR SOBSY socoe SoCYl SOOSIO/ Sol4PF SORE:;) SoU"IP SOZl~ seXIT SFlSH SFPAD SHASH SI8SY S IBT2 S 18T4 SIOCT SIREQ SI700 S 1205 S 1210 S 1290 S1400 S 1403 S 1405 S 141') S 1490 S1492 SI494 S 752 0788 ')823 1013 0753 0789 ::1827 1014 0754 0790 0828 1015 0755 0791 0829 1021 0756 0795 0831 1023 0757 0796 0832 1025 0758 0797 0834 L027 0159 0801 0839 1032 0760 0809 081t0 0761 0812 0848 0581 1041 092~ 09t)9 0895 0917 0935 0916 0868 0871 0911 0925 1)924 0930 0910 0943 0936 0929 0918 OB70 0891 0899 0926 OB98 0901 0858 0859 0860 0940 0913 0927 0914 OnB 0912 0905 0915 1)863 0867 1862 OA66 0865 1043 0601 Appendix H 141 APPENDIX I. SYSTEM LOCATION EQUIVALENCE TABLE ,~SLET} The addresses listed on the SLET printout are subject to change. Only the symbols and phase IDs will remain constant. II oUP II XEQ OSLET L R 41 75f2 (HEX) WOS UNUSED BY CORE LOAD CALL TRANSFER VECTOR fSYSU 0900 FSLEN 082') SYSTE~ SUBROUTINES ILS04 00C4 i'LS02 00B3 02006 (HEX) IS THE EXECUTION AOOR SYSTEM LOCATION EQUIVALENCE TA8LE ~SLETa SYM80l PH 10 CORE AOOR WORD SCTR COUNT AOOR SYMBOL PH 10 CORE AVOR WORD SCTR COUNT AOOR •••• ..... .. .... .... .... ...... ·SV.... BOL PH 10 CORE ADOR WORD SCTR COUNT AODR SYMBOL PH 10 iODUP aOUMP iEXIT iOUl3 aPRct aFR03 aFROl aFRll aFR15 aFR19 iFR23 aFR27 iASll .ASIA iiAS02 iAS06 iAS8A iSUPl iCL81 aeL85 ieLB9 i1403 i1442 iPTev iONIO .PCWK lC50 410E OlOE 1182 OlOE lA34 lA34 lA34 lA34 lA34 7A34 766E 01E8 026A 026A 026A 026A 05IA OlEO 0802 09E8 0000 0000 0000 OOFO 0000 0321 0461 0500 081C 0280 0280 0280 03CO 0500 0404 03CO 013F 0050 0085 0158 0196 0199 OASO 0555 0164 0131 0131 OOAO 0003 0280 0088 ioelL iOl/F ieFCE .OUI4 iOU18 ifR04 iFR08 ifRI2 aFR16 iFR20 iFR24 aASOO iAS12 iASVM aAS2A iASOl iAPCV asupz iCL82 itL86 ieL8A il132 Gl1l34 iK8CV iPPRT iiPCXK llOE OIOE lA06 lA06 OE6E lA34 lA34 lA34 7A34 7A34 7A34 DIED 026A 0000 026e 026A 026A 07FE 0542 0802 09E8 0000 0000 0000 0000 0000 05A3 03eo 0008 0248 0140 03eo 0500 03CO' 0500 03CO 03CO 02lE 0185 0130 00A6 0166 0097 0734 0498 01eF OOEA 0126 016C 0003 0131 0088 OOOB Dale 0020 0031 003F 004E 005A 0068 0076 0086 0091 009C OOAI OOAl OOAE 0088 OOBF 00C8 OOOC 00E6 00E8 OOFO 00F4 OOFA OOEF 00F8 iSTOR aOLTE aOUll aOUI5 aFROI aFR05 aFR09 .FR13 afRl1 aFR21 iFR25 aACHV iAERM aAS03 iAS09 iAS7A iUNT iSUP3 iCLS3 iCl87 itl88 iePTR iK8tP iOZIO iPIWK iCILl 21DE OIOE lA06 lA06 166E lA34 lA34 lA34 1A34 7A34 7A34 01E8 OAC4 016E 0408 026C 094E 0506 0802 09E8 082A 0000 0000 OOFO 0000 0000 0568 05A3 0035 0248 098F 0500 03FO 03eo 0500 03CO 0500 ooeB 00C1 OlEC 05ED 0127 0057 04F9 01E4 013A 013A 0118 0174 OOEC OOAO 0170 iFILQ iOFNE iDUI2 iOU16 iFR02 iFR06 iFRll iFR14 aFR18 iFR22 aFR26 aAS10 aASOI iAS04 i4S05 iAS08 iASA" iSUP4 iiClBlt iCl88 iCl8C i25J1 GleOCV iD11D iPIXK iCIL2 ..... .... .... .... ..... .. .... 01 05 09 ·00 11 21 25 29 20 31 35 39 54 58 5C 60 64 6E 78 7C 80 8C 90 94 98 9C 0008 0018 0029 0030 0030 004e 0058 0065 0072 0082 008E 0098 OOAO 00A6 OOAe 0086 0080 00e2 0007 00E4 OOEA OOEF 00F3 00F9 OOFE 00F8 02 06 OA OE 12 22 26 2A 2E 32 36 51 55 59 50 61 65 6F 79 70 81 80 91 95 99 90 03 07 08 OF IF 23 27 28 2F 33 37 52 56 5A 5E 62 66 70 7A 7E 82 81; 92 96 9A AD 0010 OOlF 002E 0039 0040 0051 DOSE 0068 007A 0089 0094 009E 00A3 00A8 OOAF 008A OOCO 0001 OOEO 00E8 OOEe OOF 1 00F6 OOFB 00F3 0101 04 GB DC IG 20 24 28 2C 30 34 38 53 51 5B 5F 63 61 71 7B IF 83 8F 93 97 98 At COilE AOOR .. ORO scn eOJ~r AOOit OlOE OIDE lA06 lA06 lA34 lA34 lAH lA34 lAH 7 A3ft 7BSE OlE8 026A 02H 025A 02bA 09ltE OlOE 08:>2 09E8 OBn 0000 0000 OOFO 00:>:) 0000 03eo O,)A3 0001 0248 0500 03CO 03e:> 0500 050:> 0015 0,024 002F G03S 0048 GO!)5 0062 006E 0:>1E 008C 0098 009F OOA4 OOAA 0084. 0088 tl:)Cl 0005 OGE2 00E9 oDeD 8:)F2 OaFS :>:>F: 00F3 0103 .... n8) 03CO lJ61 OUA nu 011: 0191 005E 0167 O18A 0128 0141 tlJ9C 0088 0112 Q:)AO 01eb Appendix I 143 APPENDIX J. Two sample programs are provided with the Monitor system. One is a FORTRAN compilation, the other is an assembly. Both programs are loaded and processed as Monitor jobs. Both programs are listed on the principal printer, which in FORTRAN is specified on the IOCS card. .The answer to the FORTRAN problem is printed on the principal printer. The answer to the Assembler problem is printed on the Console Printer. FORTRAN SAMPLE PROGRAM The FORTRAN sample program is listed below as it rWlS on a 4K and 8K system (the LIST ALL card is removed for the 8K rWl). This program reads data cards supplied with the program and builds three files on disk, one in the User Area and two in Working Storage. The core and file maps for the program are described in the Programming Tips and Techniques section of this manual. The FORTRAN card sample program as supplied uses a 1442-6, or -7, an 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, it will be necessary to make changes to the program. These changes are listed below. MONITOR SYSTEM SAMPLE PROGRAMS Card CHK13030 • If printed output is on a 1403 Printer, change the IOCS entry from 1132 PRINTER to 1403 PRINTER. • If printed output is on the Console Printer, change the IOCS entry from 1132 PRINTER to TYPEWRITER. Card CHK13040 • If card input is from a 2501 Reader, change the IOCS entry from CARD to 2501 READER. Card CHK13180 • If card input is from a 2501 Reader, change M = 2 to M = 8. Card CHK13190 • If printer output is on a 1403 Printer, change L = 3 to L = 5. • If printed output is on a Console Printer, change L = 3 to L = 1. Appendix J 145 FORTRAN Sample Program Run on 4K 1/ .lOS 09/27167 LOG D~lvr 0000 CART SPEC OOOF CART AVAIL OOOF (HK12970 PHV DRIVE 0000 II DUP ("K12910 -STOREDATA WS UA FILEA 2 CART 10 OOOF DB AODR lAro OS CNT (HK12990 0020 II • ISM 11'0 FORTRAN SAMPLE PROGRAM (HKUOOO II FOR *ONE WORD INTEGERS -loC.COISK.l1'2 PRINTER) -IOC.CCARD) -LIST ALL C ISM 1110 FORTRAN SAMPLE PROGRAM C SIMULTANEOUS . EQUATION PROGRAM ( (HKUOI0 (HKU020 (HKUOJO (HKU040 (HKU060 (HKU070 (HKUO.o (HKUOI4 (HK1S086 CHK13090 (HKlI095 (HK13100 CHKUllo CHKUUO CHKuno CHK13140 CHKUno CHK13160 (HKUITO (HKUIIO (HKUI90 (HKU200 CHKU210 (HKU220 (HKUnO (HKl3240 (HKU250 (HKU255 CHKU260 CHKU2'70 (HK13210 (HK1Uto (HKUSOO INTEGER Vl.V2.V' DIMENSION ACI0.10).XCIO).8C140) DEFINE FILE 101(1.100.U.Vll.102Cl.10,U.V2).10,Cl,100.U.VJ) FORMAT CIH1.20X15HIN(OMPATISILITV, FORMAT C1H 20X41HMORE EQUATIONS THAN UNKNOWNS-NO SOLUTIONS) FOR~AT CIH 20X46HMORE UNKNOWNS THAN EQUATIONS-SEVERAL SOLUTIONS) FORMAT (1H 20X15HSOLUTION MATRIX) FORMAT (lH 20xeHMATRIX AI FORMAT (lH 20xeHMATRIX B) FORMAT CIH 20XI0H A-INVERSEI FORMAT I1H 20X24HOIAGONAL ELEMENT IS ZERO) M-I JOI J02 101 104 105 S06 JOl 101 L-' READ CM.IOI 10 FORMATIIOH SPACE FOR TITLE 1 C C Ml - NO. OF M2 - NO. OF Ll - NO. OF L2 - NO. OF Nl - NO. OF N2 - NO. OF ( ( C C C C I WRITE CL.I01 12 FORMAT '6110.20X) READ (M.t2) Ml,M2.Ll.L2,Nl.NZ ROWS OF A (OLS OF A ROWS OF X eoLS OF x ROWS OF B COLS OF B l ' FORMAT C7FI0.4.10XI IT FORMAT CI0FI0.4) IF (H2-1161,64 •• , 64 IF CU-lJ 6J .65.6, 65 IF (LI-M2)6S.66 •• , 66 IF CMI-Nt)6J,lt." 63 WRIT! (L.,OU GO TO I 11 N-Ml H-M2 fF (MI-M21 91.14.9S '1 WRITr (L.IO') Go TO 2 WRIT! (L.SOJ) GG TO 2 14 WRIT! (L.,O!U 00 TO f-l.N READ (M,IS) CACI.JI, J-l.N) WRITE (L'l?1 CACI.J). J-l.NI WRITE (101'l)CACI.JI. J-l.N) 10 CONTINU! FORMAT (FI0.4.TOX) WRITE (L.'06) READ IM.e,) callI. l-l.N) WRIT! (L.I'I CSCII. l-l.NI WRrT! (102'lICSCI). l-l.NJ 9, .t ( C ( INVERSION ~F A DO 120 K-l.N O-A(K.K) IFCDI40,2oo.40 ItO AII.K)-leO Do 60 J-l.H 60 A(K.J)-AIK.JI/D l'IK-N)80.1I0.no 10 IK-K+l DO 120 I-IK.N f)-A ( I .KI AU.K)-O.O 146 (HK~n~O (HUn" (HKIUaO (HI"U'O (HKln40 CHK11350 (HKUJ60 CHKlU70 CHKUsaO CHK13"O (HKU400 (HKU410 CHKU420 CHK134,0 CHKU440 CHK13450 CHI(U460 (HK11.70 CHI(13480 CHK11490 CHK13500 CHKUS05 CHKU510 CHKlUZO (HK135JO CHKlJ540 (HK13550 (HK13554 (HUn56 CHKU560 (HKl3565 CHKllno CHKU580 CHI(U590 CHI(13600 CHK1I610 CHI(13620 CHKuno CHI(1I640 CHK13650 (HI(U660 CHKU6TO 00 120 J-l,N 120 ACI.j)-ACI,J)-(O*ACK.J») CHKU6l0 CHK13690 CHK13.9' CHKl3700 CHKl3705 CHK13710 CHK13720 CHK13nO CHKl3740 CHKl3750 CHK13760 CHKl3770 CHKU7IO CHKl3790 CHU3800 CHKUel0 CHKUazO CHK131130 CHKl3840 CHKU845 CHKUUO CHKU860 CHK13870 CHU3880 CHK13e90 CHU3900 CHK13910 CHK13940 CHI(.13950 C C BACK SO~UTION C 1:10 IIC-N-l DO 180 K-l.11C. I1-K+l DO 180 l-n.N O-A(I(..I) ACK.I)-O.O DO 180 180 A(K.J)-ACIC..j)-CO*A(I,J») GO TO 202 200 WRITE (L.30el GO TO 2 202 WRITE (L.3071 DO 201 I-l.N WRITE CL.11) (ACI.J). J-l.HI WRITE (l03'11 (ACI.Jlt j-l,NI 201 CONTINUE DO 21 1-t.N X( r )-0,0 DO 21 K-l.N 21 XII)-XII)+AII.IC)*BIK) WRITE (L.3041 WRITE (L.89) IXCI), r-l.NI 2 CALL EXIT END VARIABLE ALLOCATIONS A(R ).OODC-0016 XCR I-OO'O-OOOE V31 I )-020E Mcl )-0201' L2CI )-0214 N1CI )-0215 I(.C I )-OUA IKC I )-021B j-l.,. ALLOCATIONS -022A 302 -OZ37 -0205 17 -0209 -0350 70 -OSAZ -0522 21 -051( BI R )a0 208-00F2 LC I 1-0210 H2 CI )-0216 I1CI )-021C OCR 1-020A !\t1CI 1-0211 N(J h0211 STATEME~T SOl 13 14 ZOl 303 89 40 2 -0251 -OZOC -0407 -0588 304 64 60 -0260 -onc -0416 305 65 80 -OZ7A -0322 -0432 306 66 120 -Ozu -0328 -0451 307 63 150 V1CI I-OZOC M2CI )-0212 I CI 1-0218 -028C -03Z! -0484 308 11 180 -0296 -0134 -04AO VICI 1-0200 Ll (t I-OZlI J( I 1-0219 10 91 ZOO -OZA7 -0344 -04E2 12 93 20Z -0901 -004A -0-E8 FEATURES SUPPORTED ONE WORD INTEGERS 10CS CALLED SUBPROGRAMS FADOX FMPYX FolV 5101 SUBSC SOFIO REAL CONSTANTS .100000E 01-0220 FLO SDWRT FSTO SOFX FLoX SOCOM FSTOX FSeRX CAROZ PRNTZ SRED SWRT SCOMP 5FI0 Slolx .OOOOOOE 00-0222 INTEGER CONSTANTS 2-0224 '-0225 l-Q226 CORE REQUIREMENTS FOR COMMON 0 VARIABLES ,.,.4 101-0221 PROGRAM 102-0228 103-0229 814 END OF COMPILATION II XEQ L 2 *lOCAl,'LOAT,FARC,IFIX .FILES(103,FILEAI FILES ALLOCATION 103 01A! 0001 OOOF FIlEA 101 0000 0001 0001' 01BO 102 0001 0001 OOOF 01BO STORAGE ALLOCATION R 40 OSA! (HEXI ADDITIONAL COR! REQUIRD R 43 0124 CHEXI ARITH/'UNC SOCAl WD CNT R 44 06AC (HEX) FI/O. 110 SOCAl WO CNT R 45 02A2 (HEX) DISK FIIO SOCAl we eNT R 41 0004 CHEX) wes UNUSED BY CORE lOAD LIBF TRANSFER VECTOR EeCTB OF53 SOCAl 2 HOlTR OF11 SOCAl 2 GETAD OED4 SOCAl 2 XMDS 0982 SOCAl 1 HOlEZ OE9! SOCAL 2 NORM 01De FADOX 0950 SOCAL 1 FseRX 0934 SOCAl 1 FMPYX 0900 SOCAl 1 FDIV 08A! SOCAl 1 FSTOX 0188 'lDX 07A4 soeOM 0920 SOCAL , SDFX 08E6 SOCAl , CHKl3960 CHKU963 CHU396!S Appendix J 147 SDWRT SIO~X suasc 5101 SCO~p SWRT SRED ~STO FLD PltNTZ CARDZ 0954 SOCAL 5 099A SOCAL 2 018E 099E SOCAL 2 0982 SOCAL 2 OIAB SOCAL 2 08S0 SOCAL 2 onc 01AI OOEO SOCAL 2 0036 SOCAL 2 S~IO 09AD SOCAL 2 SD~IO 09!' SOCAL 3 IFIX oa7C LOCAL FARC 087C LOCAL ~LOAT oalC LOCAL SYSTEM SUBROUTINES ILS04 00C4 ILS02 00S5 ILSOl O~!A ILSOO OFl! FLIPR 0816 0400 CHEX) )S THE EXECUTION ADOR ISM 1UO "ORTRAN SAMPLE PROGRAM MATRIX A 4.2150 -1.2120 1.1050 -2.1200 3.5050 -1.6520 1.1220 -1.J110 3.9860 MATRIX a 3.2160 1.2470 2.3456 A-INVER&! 0.2915 0.on3 -0.0467 0.1631 0.1118 0.'U6 0.,o01 0.1029 -0.0283 SOLUTION MATRIX 0.9121 1.2654 0.1429 CHKun FORTRAN Sample Program Run on 8K II JOB 09127/67 LOG DRIVE 0000 II • CART SPEC OOO~ CART AVAIL OOOF (HK12970 PHV DRIVE 0000 ISM 11'0 FORTRAN SAMPLE PROGRAM (HKUOOO FOR *ONE WORD INTEGERS *IOCSCOISK,1112 PRINTER) *IOCSCCARO) II (HKUOI0 CHKU020 CHKU030 CHKU040 FEATURES SUPPORTED ONE WORD INTEGERS IOCS CORE REOUIREMENTS FOR COMMON 0 VARIABLES END O~ 544 PROGRAM II XEO L 1 *'ILES(10"FILEA) 'ILES ALLOCATION 10, 01AE 101 0000 102 0001 0001 0001 0001 CHKU960 CHKU965 000" 'ILEA OOOF 01BO OOOF 0180 STORAGE ALLOCATION R 41 OC9C (HEX) wes UNUSED BY CORE LOAD LIBF TRANSFER VECTOR EBCTS UCD HOLTI 1291 G!TAO 124E NORM 1224 XMOS 1208 FARC 11E6 HOLEZ 11 SO FLOAT 11A6 I~IX 117A 'ADOX 1125 FSBRX 10FC 148 874 COMPILATION FMPYX 10e8 FOIV 1076 fSTOX 101E FLOX lOU SOCOM 07FE SO'X 07e4 SOWRT OU2 SIOFX OStA SUBSC 1054 SIOI OB1E SCOMP OB02 SWRT OA2A SREO OA30 FSTO 1022 FLO 103E PRNTZ 01"60 CAROl OEB6 , ... 10 0820 SOFIO "0837 SYSTEM SUBROUTINES ILS04 00C4 ILS02 0083 ILSOl 1202 ILSOO 12EO 0400 IHEX) IS THE EXECUTION ADOR 1110 FORTRAN SAMPLE PROGRAM MATRIX A 4.2150 -1.2120 1.1050 -2.1200 1.5050 -1~6320 1.1220 -1.1130 3.9860 MATRIX B 3.2160 1.2470 2.14'6 A-INVERSE 0.0831 -0.0467 0.29U 0.3836 0.1118 0.16!! 0.1029 0.3008 -0.0283 SOLUTION MATRIX 0.9321 1.2654 0.7429 IB~ CHKl397 ASSEMBLER SAMPLE PROGRAM The core map for the Assembler sample program is described in the Programming Tips and Techniques section of this manual. output on Principal Printer SMASMOOI II JOB lOG DRIVE 0000 CART SPEC 2021 CART AVAIL 2021 PHY DRIVE 0002 SMASM002 SMASM003 SMASM004 II ASM *lIST *PRINT SYMBOL TABLE COMPUTE THE SQUARE ROOT OF 64 0000 0001 0002 0004 0005 0 20 30 20 0 0006 0 0001 0 C030 06406063 06898640 091899CO 1008 E829 D01B *************************************************** * * * THIS PROGRAM COMPUTES THE SQUARE ROOT OF 64 * * *AND PRINTS THE RESULT ON THE CONSOLE PRINTER.* * * *************************************************** BEGIN LD 064 INPUT TO THE SQUARE ROOT lIBF FLOAT INTEGER TO FLOATING PT. CALL FSQR FLOATING PT. SQRT. LIBF IFIX FLOATING PT. TO INTEGER SLA 8 * MASK TO BUILD EBCDIC INTEGER * RESULT AND EBCDIC BLANK IN WORDI. OR MASK STO WORDl CONVERSION INPUT AREA * CONVERT MESSAGE FROM EBCDIC * TO ROTATE IT IlT" CODE. SMASM006 SMASMOOl SMASM008 SMASM009 SMASMOIO SMASMOII SMASM012 SMASMOl3 SMASM014 SMASMOl5 SMASMOl6 SMASMOll SMASMOl8 SMASM019 SMASM020 SMASM021 SMASM022 Appendix J 149 0008 0009 OOOA 0008 OOOC 0000 OOOE OOOF 0010 0011 0012 0013 0011t 0015 0022 0023 0024 0030 0031 0032 20 0 I I 0 20 0 1 20 0 0 0 0 05097663 0000 0023 0015 OOlA 23Al1l10 2000 OOH 23A11l10 0000 10FD 6038 OOOE 0000 8181 0000 0018 FOItO 0040 0000 0 I) 0 0 LlBF DC DC DC DC LlBF DC DC BUSY lIBF DC MDX EXIT TYPE DC BSS DC WORDI DC ESC MASK DC 064 DC END EBPRT 0 WORDI TYPE+I 26 TYPEO 12000 TYPE TYPED CAll CONVERSION SUBROUTINE CONTROL PARAMETER INPUT AREA OUTPUT AREA CHARACTER COUNT TYPE MESSAGE CONTROL PARAMETER 110 AREA WAIT FOR TYPING COMPLETE BUSY BR TO WAIT FOR COMPLETION RETURN TO MONITOR CONTROL 14 1/0 AREA WORD COUNT RESERVE AS PRINT BUFFER 13 TWO CARRIAGE RETURNS 18181 CONVERSION INPUT AREA *-* • IS THE SQUARE ROOT OF 61t • IF040 EBCDIC INTEGER MASK CONSTANT FOR SQUARE ROOT 6It BEGIN SMASM023 SMASM021t SMASM025 SMASM026 SMASM021 SMASM028 SMASM029 SMASM030 SMASM031 SMASM032 SMASM033 SMASM031t SMASM035 SMASM036 SMASM037 SMASM038 SMASM039 SMASM040 SMASM041 SMASM042 *SYMBOL TABLE* BEGIN WORDI 000 000 006 NO 0000 0023 BUSY 0010 D61t MASK 0030 TYPE 0014 OVERFLOW SECTORS SPECIFIED OVERFLOW SECTORS REQUIRED SYMBOLS DEfINED ERROR(S) FLAGGED IN ABOVE ASSEMBLY 1/ XEQ l R 41 1904 (HEX) WOS UNUSED BY CORE LOAD CALL TRANSFER VECTOR FSQR 0248 LIBF TRANSFER VECTOR FARC 069E XMOS 0682 HOll 0632 PRTY 05E2 EBPA 0592 FADD 04El FOIV 0540 FLO 048C FADDX 04E7 FMPYX 04A2 FSTO 0410 FGETP 01t56 NORM 01t2C TYPEO 0312 EBPRT 02AC IFIX 0280 FLOAT 0230 SYSTEM SUBROUTINES ILS04 00C4 IlS02 00B3 OlFE (HEX) IS THE EXECUTION ADOR Output on Console Printer 8 IS THE SQUARE ROOT OF 64 150 0031 SMASMOlt3 APPENDIX K. BASIC DIFFERENCES BETWEEN 1130 DISK MONITOR SYSTEM, VERSIONS 1 AND 2 Many of the differences between Monitor 1 and Monitor 2 are listed below. • • The entire Resident Monitor, with the exception of $LINK, $EXIT, $IOCT, $PRET, and $ffiEQ, has been relocated. Certain parameters that were formerly in COMMA in Version 1 are in DCOM in Version 2. • The Core Image header for Disk Core Image format (DCI) has been revised and relocated. • The *FILE Assembler Control Record has been replaced by the pseudo-operation FILE. *FILE (not to be confused with the Supervisor Control Record *FILES) is not recognized in Version 2. Lowest allowable origin with: Version 1 DISKZ DISKO DISK1 DISKN Version 2 Dec. Hex. Dec. Hex. 450 610 880 1080 /01C2 /0262 /0370 /0438 510 690 690 960 /OlFE /02B2 /02B2 /03CO NOTE: All version 2 disk subroutines provide multiple disk support and accommodate word counts exceeding 320. There is no DISKO subroutine in version 2; a LIBF to DISKO is interpreted as a LIBF to DISK1. • Version 2 does not allow an initial ORG to an odd location in mainlines that require DISKZ. An ORG to an even location followed by a BSS or BES of an odd number of words is equivalent to an ORG to an odd location. • Version 2 may require more core than Version 1, especially FORTRAN core loads. • Defective cylinders are taken into account in the Version 2 incremental seek and write immediate functions. In other words, it is not possible to seek to or write immediate on a defective cylinder. • The object code produced by the FORTRAN compiler is slightly longer in Version 2 than Version 1. • The calling sequence for DISKZ in Version 2 is different from Version 1. • The LIST DECK, LIST DECK E, and PUNCH SYMBOL TABLE Assembler Options are not allowed with 1134 input. • ILS02 and ILS04 are part of the Resident Monitor. (The user may write his own and store them in the User Area for use with user programs.) • On a DUP DUMP using the 1442-6 or -7, blank cards following the punched cards are not selected to stacker 2. • Version 2 requires that all cartridges have a 4-character ID. • There are certain diagnostics in Version 2 that are not in Version 1. Thus, some conditions are detected as errors in Version 2 that are not in Version 1. • The Version 2 System Loader does not bypass the loading of ISSs for devices not defined on the REQ records. Such subroutines may, however, be deleted if desirable. • Disk organization is different in the two versions. • Version 2 requires 14 sectors more disk storage than Version 1, i. e. , the address of Working Storage in Version 2 is 14 greater than in Version 1. Appendix K 151 GLOSSARY Absolute Address. An address that either should not be incremented or has already been incremented by a relocation factor. Cold Start Card. The card that contains the coding necessary for initial program loading (IPL), that is, fetching the Cord Start Program. Absolute Program. A program which, although stored in disk system format, has been written in such a way that it can be executed from only one core location. Cold Start Program. The disk-resident program that initializes the Monitor system by reading the Resident Monitor into core from the disk. Assembler Core Load. A core load that was built from a mainline written in Assembler language. COMMA. (See Core Communications Area.) CALL Subprogram. A subprogram that must be referenced with a CALL statement. The type codes for subroutines in this category are 4 and 6. CALL TV. The transfer vector through which CALL subroutines are entered during execution. See the section on the Core Load Builder for a description of this transfer vector. Card Core Image Format (abbr. CDC). The format in which a program stored in disk core image format is dumped to cards. Card Data Format (abbr. CDD). The format in which a data file is dumped to cards. Card System Format (abbr. CDS). The format in which absolute and relocatable programs are punched into cards. In this format, columns 73-80 are used only to contain the card ID and sequence number. CDC. (See Card Core Image Format.) CDD. (See Card Data Format.) CDS. (See Card System Format.) Checksum. The two's complement of the logical sum of the record count (the position of the record within the program) and the data word(s). The logical sum is obtained by summing the data word(s) and the record number arithmetically, with the addition of one each time a carry occurs out of the high -order position of the Accumulator. The first record is record 1, not record O. This term (record number) should not be confused with the sequence number that appears in columns 73 -80 in card formats. CIB. (See Core Image Buffer.) Comment. The text contained on a Monitor control record with an asterisk in column 4, an Assembler language source record with an asterisk in column 21, or a FORTRAN source record with a C in column 1. Control Record. One of the records (card or paper tape) that direct the activities of the Monitor system. For example, the DUP Monitor control record directs the Monitor to initialize DUP, the DUMPLET DUP control record directs DUP to initialize the DUMPLET program; the EXTENDED PRECISION FORTRAN control record directs the Compiler to allot three words instead of two for the storage of variables. Core Comm\lllications Area (abbr. COMMA). The part of core which is reserved for work areas and parameters that are required by the Monitor programs. In general a parameter is found in COMMA if it is required by two or more Monitor programs and is required to load a program stored in disk core image format. Otherwise the parameter is fO\llld in DCOM. COMMA is initialized by the Supervisor during the processing of a JOB record. Core Image Buffer (abbr. CIB). The buffer on which most of the first 4K of core are saved while a core load is being built. It is also used to save any part of COMMON defined below location 4096 during a link-to-link transfer of control. See the section on the Core Load Builder for a description of the CIB and its use. Core Image Header Record. A part of a core image program including such parameters as the word count of the core load, the lTV, and the setting for index register 3. Core Image Program. A mainline that has been converted, along with all of its required subroutines,. to disk core image format. Included in the core image program are any LOCALs and/or SOCALs that are required. This term should not be confused with "core Glossary 153 load", which refers to only that part of a core image program that is read into core just prior to execution. Core Load. A mainline, its required subroutines, and its interrupt, CALL, and LIBF transfer vectors. This term should not be confused with "core image program". CSF Block. A group of not more than 51 data words of a program in card system format. In this format, the first six data words of every CSF block are indicator words. These six words are always present, even though all six are not needed. A CSF block is equivalent to words 4-54 of the CSF module (Data card) of which it is a part. Disk Communications Area (abbr. DCOM). The disk sector that contains the work areas and parameters for the Monitor programs. Disk Core Image Format (abbr. DCI). The format in which core image programs are stored on the disk prior to execution. Disk Data Format (abbr. DDF). The format in which ~ data file is stored in either the User Area or the Fixed Area. Disk System Format (abbr. DSF). The format in which mainlines and subprograms are stored on the disk as separate entities. It is not possible to execute a program in disk system format; it must first be converted to disk core image format as a result of either an XEQ Monitor control record or a STORECI DUP control record. CSF Module. A group of words consisting of a data header and CSF blocks for a program in card system format. A CSF module is equivalent to a Data card in card system format. A new CSF module is created for every data break. A data break occurs (1) whenever there is an ORG, BSS, BES, or DSA statement, (2) whenever a new Data card is required to store the words comprising a program, and (3) at the end of the program. Disk System Format Program. A program that is stored in disk system format. It is sometimes called a DSF program. Data Break. (See DSF Module.) ~ Data File. An area in either the User Area or the Fixed Area in which data is stored. ''Data file" may also refer to the data itself. DSF Block. A group of not more than nine data words of a program in disk system format. In this format, the first data word of every DSF block is an indicator word. Normally every nSF block in a nSF module consists of nine data words, including an indicator word; but if the DSF module contains a number of data words that is not a multiple of nine, then the next-to-Iast DSF block contains less than nine data words. Data Header. The first pair of words in a module for a program in disk system format. The first word contains the loading address of the module; the second the total number of words contained in the module. The data header for the last module contains the effective program length, followed by a word count of zero. DCI. (See Disk Core Image Format.) DCOM. (See Disk Communications Area.) DDF. (See Disk Data Format.) DEFINE FILE Table. The table which appears at the beginning of every mainline that refers to defined files. There is one 7 -word entry for each file that has been defined. Disk Block. One sixteenth of a disk sector, that is, 20 disk words. The disk block is the smallest distinguishable increment for programs stored in disk system format. Thus, the Monitor system permits packing of disk system format programs at smaller intervals than the hardware would otherwise allow. 154 (See Disk System Format.) DSF Module. A group of words conSisting of a data header and DSF blocks for a program in disk system format. A new DSF module is created for every data break. A data break occurs (1) whenever there is an ORG, BSS, BES, or DSA statement, (2) whenever a new sector is required to store the words comprising a program, and (3) at the end of the program. Effective Program Length. The terminal address appearing in a relocatable program. For example, in Assembler language programs, this address is the last value taken on by the Location Assignment COQ.D.ter and appears as the address assigned to the END statement. Entry Point. Either (1) the symbolic address (name) of a place at which a program is entered, (2) the absolute core address at which a program is to be entered, or (3) the address, relative to the address of the first word of the subprogram, at which it is to be entered. Execution. The execution of the 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. Fetching. The process of reading something into core storage, usually from disk. 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 input hardware device that is physically wired to perform this function. The record read, usually a loader, then instructs the system as to the next action to be performed, e. g., load more records. Fixed Area (abbr. FX). The area on disk in which core image programs and data files are stored if it is desired that they always occupy the same sectors. No programs in disk system format may be stored in this area. No packing ever occurs in the Fixed Area. Interrupt Level Subroutine (abbr. ILS). 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. FLET. (See LET /FLET .) Interrupt Service Subroutine (abbr. ISS). A subroutine that 1) manipulates a given I/O device and 2) services all interrupts for that devicer after they have been detected by an ILS. FORTRAN Core Load. A core load that was built from a mainline written in the FORTRAN language. Function. A subprogram that evaluates a mathematical relationship between a number of variables. In FORTRAN, a FUNCTION is a subprogram that is restricted to a single value for the result. This type of subprogram is called by direct reference. FX. (See Fixed Area. ) IBM Area. That part of disk storage that is occupied by nCOM, the CIB, and the Monitor programs. This 'area is also known as the System Area. Interrupt Transfer Vector (abbr. lTV). The contents of words 8-13, which are the second words of the automatic BSI instructions which occur with each interrupt. In other words, if an interrupt occurs on level zero and if core location eight contains 500, an automatic BSI to core location 500 occurs. Similarly, interrupts on levels 1-5 cause BSIs to the contents of core locations 9-13, respectively. IOAR Header. The word(s) required by an I/O device subroutine (ISS). They must be the first or the first and second words of the I/O buffer. IBT. (See ILS Branch Table.) IPL. (See Initial Program Load.) ILS. (See Interrupt Level Subroutine.) ISS. (See Interrupt Service Subroutine.) ILS Branch Table (abbr. IBT.) A table consisting of the addresses of the interrupt entry points for each ISS used for an interrupt level. An IBT is required by the ILS for an interrupt level with which more than one device is associated. ISS Counte:c A counter in COMMA (word $IOCT) that is incremented by 1 upon the initiation of every I/O operation and decremented by 1 upon receipt of an I/O operation complete interrupt. In~ore lTV. (See Interrupt Transfer Vector.) Subprogram. A subprogram that remains in core storage during the entire execution of the COTe load. of which it is a part. ILSs are always in~ore subprograms, whereas LOCALs and SOCALs never are. Indicator Word. The first word of a nSF 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. Programs in disk system format all contain indicator words. Each pair of bits in the indicator word is associated with one 0.£ the following data words -- the first pair with the first data word following the indicator word, etc. Job. A group of tasks (subjobs) that are to be performed by the Monitor system and which are interdependent; that is, the successful execution of any given subjob (following the first) depends upon the successful execution of at least one of those that precede it. ~ (See Location Assignment Counter.) LET/FLET (the Location Equivalence Table for the User Area/ the Location Equivalence Table for the Fixed Area). The disk-resident table through which the disk addresses of programs and data files stored Glossary 155 in the User/Fixed Area may be found. On a system cartridge, LE T occupies the cylinder preceding the User Area. If a Fixed Area has been defined, FLET occupies the cylinder preceding it; otherwise, there is no FLET. LIBF Subroutine. A subprogram that must be referenced with an LIBF statement. The type codes for subroutines in this category are 3 and 5. LIBF TV. The transfer vector through which LIBF subprograms are entered at execution time. See the section on the Core Load Builder for a description of this transfer vector. Link. A link is a core image program that is read into core for execution as a result of the execution of a CALL LINK statement. Loading Address. The address at which a mainline, subprogram, core load, or DSF module is to begin. For mainlines and DSF modules, the loading address is either absolute or relative. For subprograms, it is always relative, whereas, for core loads, it is always absolute. Load-On-Call (abbr. LOCAL) Subroutine. A subprogram in a core image program that is not an in-core subprogram. It is read from the disk into a special overlay area in core only when it is called during execution time. LOCALs, which are specified for any given execution by the user, are a means of gaining core storage at the expense of execution time. The Core Load Builder constructs the LOCALs and all linkages to and from them. Load-Although-Not-Called (abbr. NOCAL) Subprogram. A subprogram that is to be included in a core image program although it is never referenced in that core image program by an LIBF or CALL statement. Debugging aids such as a trace or a dump fall into this category. LOCAL. (See Load-On-Call Subroutine.) 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. Long Instruction. An instruction that occupies two core storage locations. Low COMMON. Words 896 - 1215 if DISKZ is in core, words 1216 - 1535 if DISK1 is in core, or words 1536 156 - 1855 is DISKN is in core. This area exists even if there is no COMMON. Mainline. The program about which a core image program is built. The mainline is normally the program in control. It calls subprograms to perform various functions. Master Cartridge. The cartridge residing on logical drive zero. The master cartridge must be a system cartridge. Modified EBCDIC Code. A six-bit code used internally by the Monitor programs. In converting from EBCDIC to Modified EBCDIC, the leftmost two-bits are dropped. (See Name Code.) 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 Record. (See Control Record.) Monitor Program. 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), or FORTRAN Compiler (FOR). Name Code. The format in which the names of subprograms, entry points, labels, etc., are stored for use in the Monitor programs. The name consists of five characters, terminal blanks being added if necessary to make five characters. Each character is in Modified EBCDIC code, and the entire 30-bit representation is right-justified in two 16-bit words .. The leftmost two bits are used for various purposes by the Monitor. Naturally Relocatable Program. A program that may 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, of course, are fixed. NOCAL. (See Load-Although-Not-Called Subprogram.) Non-system Cartridge. A cartridge that does not contain the Monitor programs, although it does contain DCOM, LET, etc. A non-system cartridge may be used only as a satellite cartridge. NOP. An acronym used to denote the instruction, No operation. Object Program. The output from either the Assembler, or the FORTRAN Compiler. Packing. The process of storing programs in the User Area to the nearest disk block, thus reducing the average wasted disk space from 160 disk words/program to 10 disk words/program. Padding. Areas in the User/Fixed Area required to permit core image programs and data files to start on a sector boundary. The length of the padding, which is reflected in LET/FLET with a dummy entry, is from 1 to 15 disk blocks. Principal I/O Device. The device used for stacked job input to the Monitor system. The 2501/1442, 1442/1442, or 1134/1055 may be assigned as the principal I/O device. The Keyboard may be assigned temporarily as the principal. input device (see / / TYP under Monitor Control Records). The System Loader consid~rs the fastest device defined on the REQ records to be the principal I/O device. Principal Print Device. The device used by the Monitor system for printing system messages. Either the 1403, 1132, or Console Printer may be assigned as the principal print device. The System Loader considers the fastest print device defined on the REQ records to be the prinCipal print device. Program. The highest level in the hierarchy describing various types of code. Subprograms and mainlines are subsets of this set. Program Header Record. The part of a program stored in disk system format that precedes the first DSF module. Its contents vary with the type of program with which it is associated. It contains the information necessary to identify the program, to describe its properties, and to convert it from disk system format to disk core image format. Quintuples. Five-word tables in DCOM that contain cartridge-related parameters. There is one table for each parameter and an entry in the table for each cartridge on the system. These tables are updated by SYSUP during JOB processing or by a user callable subprogram SYSUP if cartridges are changed during a job. Relocatable Program. A program that can be executed from any core location. Such a program is stored on the disk in disk system format. It is relocated by the Core Load Builder. Relocation. The process of adding a relocation factor to address constants and to those long instructions whose second words are not (1) invariant quantities, (2) absolute core addresses, or (3) symbols defined as absolute core addresses. The relocation factor for any program is the absolute core address at which the first word of that program is found. Relocation Indicator. The second bit in a pair of bits in an indicator word. If the data word with which this bit is associated is not an LIBF, CALL, or DSA name, then it indicates whether or not to relocate the data word. If the relocation indicator is set to 1, the word is to be relocated. Pairs of relocation indicators indicate LIBF, CALL, or DSA names. The combinations are 1000, 1100, and 1101, respectively. Remark. An explanation of the use or function of a statement or statements. A remark is a part of a statement, whereas a comment is a separate statement. Resident Image. The mirror-image of the Resident Monitor minus the disk I/O subroutine. It resides on disk and is read into core by the Cold Start Program. Resident Monitor. The area required in core by the Monitor system for its operation. This area is generally unavailable to the user for his own use. The Resident Monitor consists of COMMA, the Skeleton Supervisor, and one of the disk I/O subroutines, nominally DISKZ. Satellite Cartridge. A cartridge reSiding on a drive other than logical drive zero. A satellite cartridge can be either a system or a non-system cartridge. Short Instruction. An instruction that occupies only one core storage location. Skeleton Supervisor. The part of the Supervisor that is always in core and that is, essentially, the logic necessary to process CALL DUMP, CALL EXIT, and CALL LINK statements. Certain traps are also considered to be part of the Skeleton Supervisor. SOCAL. (See System Overlay to be Loaded-On-Call.) Subjob. A Monitor operation to be performed during a job. Each subjob is initiated by a Monitor control record such as ASM or XEQ. It may also be initiated by a CALL LINK. Subprogram. A synonym used mainly in FORTRAN for both FUNCTIONs and SUBROUTINEs. This term Glossary 157 is equivalent to subroutine when subroutine is used in its broadest sense. Subroutine. A subset of the set "program". In FOR TRAN, a SUBROUTINE is a type of subprogram that is not restricted to a single value for the result and that is called with a CALL statement. cartridge to be used for System Working Storage is defined on the JOB record. System Working Storage need not be on the system cartridge. Transfer Vector (abbr. TV). A collection of both the LIBF TV and the CALL TV. TV. (See Transfer Vector. ) Supervisor Control Record Area (abbr. SCRA). The cylinder in which the Supervisor control records are written. The first two sectors are reserved for LOCAL control records, the next two for NOCAL control records and the next two for FILES control records. See the Supervisor section for the formats of these records. System Area. (See IBM Area. ) System Cartridge. A cartridge that contains the Monitor programs. A system cartridge may be used as either a master or a satellite cartridge. System Overlay to be Loaded-an-Call (abbr. SOCAL). One of two or three overlays automatically prepared by the Core Load Builder under certain conditions when a core load is too large to fit into core storage. See the section on the Core Load Builder for an explanation. System Working Storage. The Working Storage area to be used during a job by the Monitor programs. The 158 UA. (See User Area. ) User Area (abbr. UA). The area on the disk in which all programs in disk system format are found. Core image programs and data files may also be stored in this area. All IBM -supplied programs are found here. This area occupies as many sectors as are required to store the programs and files residing there. User Programs. Mainlines, subprograms, or core loads that have been written by the user and stored in the User/Fixed Area. Working Storage (abbr. WS). The area on disk immediately following the last sector occupied by the User Area. This is the only one of the three major divisions of disk storage (IBM Area, User/Fixed Area, Working Storage) that does not begin at a cylinder boundary. WS. (See Working Storage. ) INDEX Absolute Program Origin 36 Achieving maxim.um performance of high speed devices 50 Adding subroutines 57 ADRWS 63 Altering a core location using the console entry switches 8 *ARl1HMETIC TRACE 43 II ASM 19 Assembler 35 Assembler Calling Sequence for SYSUP 70 Assembler control records 36 Assembler core map 53 Assembler error detection codes 91 Assembler error messages 92 Assembler FILE statement 23, 54 Assembler language users, tips for 51 Assembler messages 91 Assembler sample program 149 Assignment of core load origin 46 ATTENTION indicator (2501) 60 Auxiliary supervisor errors 103 Backspace 9, 60 Call system print subroutine 71 CALL TSTOP 43 CALL TSTRT 43 CALL TV 47 CALPR 71 Card core image format (CDC) 113 Card data format (CDD) 112 Card formats 111 Card operation (assembler) 35 Card subroutine errors 58, 59 Card system cold start 83 Card system format (CDS) 111 Card system initial load 74 Card system pre-load 73. Card system reload 77 Cartridge lD 11 Change cartridge ID 62 Character code chart 105 CIB 14, 19, 46, 63 Cold start 83 Cold Start error message 83 Cold start program listing 138 COMMA 17 *COMMON 39 Compilation error messages 92 CompilatiOn messages 92 Console functions while under monitor system control Console printer core dump 85 Console printer ready procedure 3 Console printer subroutine errors 60 Control records Monitor 18 Supervisor 22 DUP 26 Assembler 36 FOR TR.A.N 40 9 Conversion of a mainline program (core load builder) COpy 63 Copy (DCIP) 86, 88 Copy ID 11 CORE card 75 Core communications area 17 Core dump program 24 Core dump programs Console printer 85 Supervisor 24 1403 Printer 85 1132 Printer 85 Core image buffer 14, 19, 46, 63 Core image buffer, deletion of 63 Core image header 46, 110 Core image loader 45, 47 Core image program dump 114 Core load builder 45 Core load builder errors 100 Core load construction 45 Core load origin, assignment of 46 Core map 20, 53 II CPRNT 22 Cross reference listing (resident lIlonitor) 139 Cylinder 0 (non-system cartridge) 15 Cylinder 0 (system cartridge) 12 Data cards 112 DCIP 85 DCOM 12 DCOM indicator words 13 DCOM listing 127 DCOM update program 70 Decimal disk addresses 117 Decreasing program execution time when using SOCALs Defective cylinder table 11 *DEFINE 33 Define end record (MODIF) 65 Define fixed area 33 Define void assembler 34 Define void FO R TRAN 34 Defined files, use of 54 *DELETE 33,55 Delete core image buffer 63 Deleting the assembler and/or compiler 34 1/ DEND (MODIF) 65 DISC 61 Disk cartridge initialization program 85 Disk communications area 12 Disk copy program 63 Disk core image format (DCI) 110 Disk data format (DDF) 110 Disk dump 86, 88 Disk formats 109 Disk I/O subroutine 18 Disk maintenance programs 61 DISKN 18, 20, 36,46, 48, 49, 71 Disk organization 11 Disk-resident supervisor programs 18 44 49 Index 159 Disk storage unit conversion factors 115 Disk system format (DSF) 109 Disk utility program 26,.S, DISKZ 14, 18, 20, 36, 46,48, 49, 71, 133 DISKZ listing 133 DISKI 18, 20, 36, 46, 48, 49, 71 Displaying a core location using the console entry switches DLCIB 63 Double buffering 50 DSF program dump 114 DSLET 62 *DUMP 28 Dump (DCIP) 86, 88 DUMP entry point 17 Dump system location equivalence table 62 *DUMPDA TA 29 *DUMPFLET 30 DUMPFLET Sample 126 *DUMPLET 29 DUMPLET sample 125 DUP 20, 26, 4S /I DUP 20 DUP control record format 28 DUP control records 26 DUP error messages 96 DUP messages 95 DUP operations 28 Duplicate data file names 55 Duplicate program names 55 *DWADR 34 DynamiC dump 24 8 EBPRT 51 /I EJECT 21, 50 End-of-program card 112 Entering programs from the keyboard under monitor system control EOP card 112 Equivalences 137 ERASE FIELD 9, 60 Error message on sector @l IDAD 11 Error messages, MOD IF 66 Error table listing 91 EXIT entry point 17 *EXTENDED PRECISION 42 FEED check indicator (2501) 60 Fetch phase ID subroutine 71 Fetch system subroutine 71 Fetching a link (core image loader) 48 Fetching the supervisor (core image loader) 48 File map 53 *FILES 14, 23 Fixed area 15 Fixed location equivalence table 14, 26, 30, 33, 123 FLET 14. 26, 30, 33, 123 FLIPR 41, 71 // FOR 20 Format conversions (DUP) 26 Format indicator word 13 Formats 109 FORTRAN allocation addresses, locating 54 FORTRAN calling sequence for SYSUP 70 FOR TRAN compiler 40 FORTRAN control records 40 160 FORTRAN core map 53 FORTRAN DEFINE FILE statement 23, 54 FOR TRAN file map 53 FORTRAN I/O errors 44, 99 FOR TRAN I/O logical unit designations 40 FOR TRAN I/O record sizes 40 FORTRAN messages and error codes 92, 94 FORTRAN sample program 145 FSLEN 71 FSYSU 71 FX 15 Glossary 153 Grouping of mnemonics (assembler language) Hexadecimal disk addresses HOPR indicator (1442) 58 8 51 117 IBM -supplied system loader control cards 75 IBM system area 12 ID 62 IDENT 61 ILS 51, 52 ILS entry point 52 ILS header card 112 ILS02listing 132 ILS02 subroutine 17, 52 ILS04 listing 132 ILS04 subroutine 17, 52 IMM STOP key 9 Incorporation of subprograms in a core load 46 Information transfer (DUP) 26 Initial load, card system 74 Initial load, paper tape system 79 Initialization (DCIP) 86, 87 Initializing $$$$$ files for use with FORTRAN unformatted I/O Initiating a new page on the prinCipal printer 19 INT REQ key 9, 18 Intermediate I/O (assembler) 51 Interrupt level subroutines 52 Interrupt request key 9, 18 Interrupt service subroutines 51 *IOCS 41 ISS 51 ISS header card 111 ISS/ILS correspondence 52 ISS names 57 ISS numbers 51 ISS subroutine WAITs 103 / / JOB 18 Keyboard baput 44 Keyboard operation 8, 36, 60 Keyboard subroutine functions 60 Last card 58, 60 LET 14, 26, 29, 123 LET disk format 123 LET DUMP format 123 LET entries 123 LET sector header 123 *LEVEL 39 LIBF TV 47 Limitations of DISKZ 49 54 LINK entry point 17 *LIST 37 *LIST ALL 42 *LIST DECK 37 *LIST DECK E 37 List deck format 38 *LIST SOURCE PROGRAM 41 *LIST SUBPROGRAM NAMES 41 *LIST SYMBOL TABLE 42 Load mode control card 74 Load mode control tape, user-punched 79 Loading a program from cards or paper tape 8 *LOCAL 14, 22 LOCALs 46, 53 LOCAL/ SQCAL flipper 47, 71 LOCAL/SOCAL overlay 46, 71 Location equivalence table 14, 26, 29, 123 l\1ainline header card 111 Mainline programs that use all of core 55 Manual dump of the monitor system 9, 24 Master cartridge 11 Maximum number of LIBFs and CAlls in a Core load MODE 74,80 MOmF 64 MODIF error messages 66 MODIF system reload table restriction 64 *MON 64 Monitor control record analyzer 18 Monitor control record analyzer errors 99 Monitor control records 18 Monitor programs 17 Monitor system disk areas 13 Monitor system error messages 91 Monitor system ISS names 57 Monitor system library 57 Monitor system operational messages 91 Monitor system sample programs 145 *NAME 42 *NOCAL 14, 23 Non-system cartridge 15 One-pass mode (assembler) 35 *ONE WORD INTEGERS 42 Operating notes (FORTRAN) 43 Operator procedures, 1442 errors 58 Operator procedures, 2501 errors 60 Optional tracing (FORTRAN) 43 Origin of mainline 36 *OVERFLOW SECTORS 39 Page heading 12, 42 Paper tape formats 113 Paper tape IDs 79 Paper tape not-ready WAITs (PTUTI.) 68 Paper tape operation (assembler) 36 Paper tape reproducing program 89 Paper tape subroutines (error procedures) 60 Paper tape system cold start 83 Paper tape system initial load 79 Paper tape system reload 81 45 Paper tape utility (PTUTI.) 67, 89 Patch control records (MODIF) 64 /1 PADS 21 Phase identification card 75 PHID card 75 Postoperative error traps 17 Pre-load, card system 73 Preoperative error trap 17, 36 Preoperative errors 57 Print cartridge ID 61 Print data format (PRD) 113 Print format 113 *PRlNT SYMBOL TABLE 38 Printer core dump 85 Processing defined files (core load builder) 46 Processing the contents of the SCRA 45 Program header record 109 Program loading 8 Program phase sector break cards 77, 112 PROGRAM STOP key 9, 18 PROGRAM STOP key trap 18 Program subtypes 109 Program types 110 Programming tips and techniques 49 PTUTL 67, 89 PTUTI. console entry switch options 69 PTUTL operating procedures 67 PUNCH indicator (1442) 59 PUNCH STA indicator (1442) 58 *PUNCH SYMBOL TABLE 38 Punch symbol table option 35 Quintuple (DCOM table) 13, 19 RDREC 71 READ CHECK indicator (2501) 60 Read *ID record 71 READ REG indicator (1442) 59 READ STA indicator (1442) 59 Reading the console entry switches under user program control Reading a core map 53 Reading a file map 53 Readying the 1130 3 Readying the 1130 system I/O console printer 3 single disk storage 3 1442-6, -7 3 1442-5 4 2501 4 1134 4 1055 4 1132 5 1231 7 1403 6 1627 7 2310 6 Reconfiguring a system cartridge 77, 81 Re-entry (keyboard) 9, 60 Reload table 12, 64 Relocatable program origin 36 Removing subroutines 57 Reproducing program, paper tape 89 8 Index 161 REQ 74 Resident image 12, 128 Resident image listing 128 Resident monitor 17 Resident monitor listing 127, 128 Restrictions on DUP operations in temporary mode 13 Restrictions on keyboardlpaper tape assembler input 36 Restrictions on subroutines in SOCALs 49 Rules for LOCAL and NOCAL usage 23 Sample programs 145 Satellite cartridge 11, 15 Satellite disk initialization program 61 *SAVE SYMBOL TABLE 39 SCON card 75, 80 SCRA 14, 18, 20, 44 Sector break cards 77, 112 Sector @l IDAD (0) of any cartridge 11 Single disk storage ready procedure 3 Skeleton supervisor 17 SLET 12, 143 SLET listing 143 SOCAL options 47 SOCALs 46, 47., 49, 53 Stand-alone paper tape utility program (PTUTL) 89 Stand-alone utility programs 8S *STORE 30,5S *STORECI 31 *STOREDATA 30 *STOREDATACI 31 *STOREMOD 32 *SUB 65 Subprogram header card 111 Summary of DUP data transfer operations 27 Supervsior 17, 4S Supervisor control record area 14, 18, 20 Supervisor control records 22 Supervisor core dump program 24 Supervisor messages and error codes 99 Symbol table overflow 35, 39 Symbol table size 35 System area 12 System cartridge 11, 12 System configuration cards. 74 System configuration tape, user-punched 79 System control record program errors 100 System device subroutine area 13 Syst~m familiarization 3 System generation 73 System ISS names 57 System library 57 System library listing 119 System library mainline programs 61 System library maintenance 65 System library maintenance control record (MODIF) 65 System library subroutines 57 System library utility subroutines 70 System loader control cards User-supplied 74 IBM-supplied 75 System loader control records 79 System loader errors 98 162 System loader messages 97 System location equivalence table 12 System location equivalence table listing System ~aintenance program 64 System overlays (SOCALs) 46', 47 System program maintenance 64 System reload 73 System reload, card system 77 System reload, paper tape system 81 *SYSTEM SYMBOL TABLE 39 System working storage 19 SYSUP 13, 50, 70, 100 SYSUP errors 100 143 Table of equivalences 137 Temporary mode 49 Temporary mode indicator 19 Temporary mode indicator word 13 II TEND 21 TERM card 7S, 80 Terminal dump 24 TRANS indicator (1442) 58 Transfer vector 47 *TRANSFER TRACE 43 *TWO PASS MODE 37 Two-pass mode (assembler) 35, 37 II TYP 8, 21 Type 81 card 75 UA 14 Unformatted disk I/O record size 40 Unformatted I/O disk buffer area 19. 40, 54 Use of defined files 54 Use of SOCALs 49 User area 14 User-punched load mode control tape 79 User-punched system configuration tape 79 User-punched system loader control cards 74 Using the disk I/O subroutines 49 Using the 1130 with the monitor system 8 Utility programs, stand-alone 85 Utility subroutines, system library 70 Working storage area 15, 19, 46 Working storage indicator word 13 Write sector addresses in working storage Writing addresses in working storage 34 Writing ISS 51 Writing ILS 51 WS 15, 19,46 63 II XEQ 20 ZlPCO 51 1055 Paper tape punch ready procedure 4 1130 system familiarization 3 1132 printer core dump 85 1132 printer ready procedure 5 1134 paper tape ready procedure 4 1231 optical mark page reader ready procedure 1403 conversion subroutines 51 7 1403 printer core dump 85 1403 printer ready procedure 6 1442 card punch ready procedure 4 1442 card reader ready procedure 3 1442 card subroutine errors 58 1442 errors and operator procedures 58 1627 plotter ready procedures 7 2310 disk storage ready procedure 6 2501 card reader, achieving maximum speed SO 2501 card reader ready procedure 4 2501 card subroutine errors 59 I/b records read during execution of a FORTRAN program 1/ *( comments) 21 **(Header information) 42 $$$$$ disk area 19, 54 40 Index 163 READER'S COMMENT FORM Form C26-3717-1 IBM 1130 Disk Monitor' System, Version 2, Programming and Operator's Guide • Your comments, accompanied by answers to the following questions, help us produce better publications for your use. If your answer to a question is "No" or requires qualification, please explain in the space provided below. Comments and suggestions become the property of IBM. • Does this publication meet your needs? • Did you find the material: Easy to read and understand? Organized for convenient use? Complete? Well illustrated? Written for your technical level? Yes No D o D D D D D o o o o o • \Vhat is your occupation? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ • How do you use this publication? As an introduction to the subject? For advanced knowledge of the subject? For information about operating procedures? D D D As an instructor in a class? 0 As a student in a class? D As a reference manual? D Other ________________________________________________________________ • Please give specific page and line references with your comments when appropriate. COMMENTS • Thank you for your cooperation. No postage necessary if mailed in the U.S.A. C26-3717-1 YOUR COMMENTS PLEASE ••• This SRL bulletin is one of a series which serves as reference sources for systems analysts, programmers and operators of IBM systems. Your answers to the questions on the back of this form, together with your comments, will help us produce better publications for your use. Each reply will be carefully reviewed by the persons responsible for writing and publishing this material. All comments and suggestions become the property of IBM. Please note: Requests for copies of publications and for assistance in utilizing your IBM system should be directed to your IBM representative or to the IBM sales office serving your locality. Fold Fold ...... --..................................................................................................................: FIRST CLASS PERMIT NO. 1359 WHITE PLAINS" N.Y. BUSINESS REPLY MAIL NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES POSTAGE Will BE PAID BY ... IBM Corporation 112 East Post Road White Plains, N. Y. 10601 .... .... w o Attention: Department 813 • • • . e• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • : Fold Fold n N 0\ I W .... ';I ';I ... I • International Business Machines Corporation Data Processing Division 112 East Past Road, White Plains, N. Y. 10601 (USA.Dnlyj IBM World Trade Corporation 821 United Nations Plaza, New York, New York 10017 (In terna tionall C26-3717-1 .> () N 0\ I W "I ."I J .- International Business Machines Corporation Data Processing Division 112 East Post Road, White Plains, N.Y.l060t [USA Only] IBM World Trade CorpDration 821 United Nations Plaza, New York, New York 10017 [International]
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2012:08:26 10:55:13-08:00 Modify Date : 2012:08:26 10:59:52-07:00 Metadata Date : 2012:08:26 10:59:52-07:00 Producer : Adobe Acrobat 9.52 Paper Capture Plug-in Format : application/pdf Document ID : uuid:934ac111-48ce-4a90-aa63-844af8dd5b77 Instance ID : uuid:8df949cd-ca9c-4e45-9b42-fc2186dbc7b4 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 169EXIF Metadata provided by EXIF.tools