S T A N D A R D S O F T W A R E S Y S T E M S Operating Manual H E W L E T T - P A C K A R D 2 1 1 6 A / 2 1 1 5 A C O M P U T E R ________________________ | ___ | | / / | | HEWLETT /hp/ PACKARD | | /__/ | |________________________| | | |________________________| 395 Page Mill Road, Palo Alto, California 94306 JANUARY 67 PRINTED IN U.S.A. PREFACE This publication is an operating manual for the user of HP2116A/2115A standard software systems. It includes the operating procedures for these systems and diagnostics that might occur during their execution. The reader is assumed to be familiar with the HP Computers and with the Hewlett- Packard software systems. Completion of the Hewlett-Packard programming training courses or equivalent experience is a prerequisite to the use of this manual. Other computer publications provided by Hewlett-Packard include: Assembler Programmer's Reference Manual FORTRAN Programmer's Reference Manual ALGOL Programmer's Reference Manual Symbolic Editor Programmer's Reference Manual Basic Control System Programmer's Reference Manual Specifications and Basic Operation Manual i T A B L E O F C O N T E N T S PREFACE i BASIC BINARY LOADER 1-1 MAGNETIC TAPE BINARY LOADER 2-1 BCS RELOCATING LOADER 3-1 BCS ABSOLUTE OUTPUT TAPE 4-1 FORTRAN 5-1 ALGOL 6-1 ASSEMBLER 7-1 MAGNETIC TAPE SYSTEM 8-1 SYMBOLIC EDITOR 9-1 CROSS REFERENCE TABLE GENERATOR 10-1 SYSTEM INPUT/OUTPUT DUMP ll-1 SYSTEM INPUT/OUTPUT DUMP (Magnetic Tape) 12-1 PREPARE CONTROL SYSTEM 13-1 PUNCH/VERIFY ROUTINE 14-1 DEBUGGING ROUTINE 15-1 APPENDIX A FORTRAN COMPILATION DIAGNOSTICS A-1 APPENDIX B ALGOL COMPILATION DIAGNOSTICS B-1 APPENDIX C ASSEMBLER DIAGNOSTICS C-1 APPENDIX D FORTRAN/ALGOL INPUT/OUTPUT DIAGNOSTICS D-1 APPENDIX E PROGRAM LIBRARY DIAGNOSTICS E-1 APPENDIX F .IOC. OBJECT PROGRAM DIAGNOSTICS F-1 APPENDIX G UNIT-REFERENCE NUMBER ASSIGNMENT G-1 APPENDIX H 2752A TELEPRINTER OPERATING INSTRUCTIONS H-1 APPENDIX I 2737A PUNCHED TAPE READER OPERATING INSTRUCTIONS I-1 APPENDIX J 2753A TAPE PUNCH OPERATING INSTRUCTIONS J-1 APPENDIX K HP CHARACTER SET K-1 APPENDIX L CONSOLIDATED CODING SHEET L-1 iii BASIC BINARY LOADER DESCRIPTION The Basic Binary Loader loads absolute binary programs produced by the Assembler or the Basic Control System absolute output option. It is also used to load standard software systems that are in absolute form (e.g., FORTRAN, ALGOL, Assembler, Basic Control System, and Symbolic Editor. Familiarity with the Basic Binary Loader operating procedure is assumed in the operating procedures for all other software systems. The Basic Binary Loader is stored in the highest 64 locations in memory. Separate versions of the Basic Binary Loader are available for the 2752A Teleprinter and the 2137A Punched Tape Reader and for 4K memory and 8K memory. LOADING OPTIONS If the Punched Tape Reader version is being used, options are available to perform operations other than loading. The options and the required Switch Register settings are as follows: Option Setting Setting Load tape 0 0 Verify checksum 0 1 without loading Compare the contents 1 of the tape with the contents of memory (without loading) OPERATING PROCEDURES A. If Teleprinter is input unit, set to LINE. B. Place the absolute binary tape to be loaded in the device serving as the input unit. C. Set Switch Register to starting address of Basic Binary Loader (e.g., 007700 for 4K memory, 017700 for 8K memory). D. Press LOAD ADDRESS. E. If Punched Tape Reader is input unit, set Switches 15 and 0 according to load- ing option F. Set LOADER switch to ENABLED. G. Press PRESET. H. Press RUN. 1-1 Halts During the operation of the Basic Binary Loader, the following halts may occur: T-Register Contents Explanation Action 102077 An end-of-tape condi- a) If loading is com- tion has been detected plete, set LOADER (Note: ten consecutive switch to PRO feed frames are inter- TECTED. preted as end-of-tape). b) If there is another tape to be loaded, place tape in input device and press RUN. 102011 Checksum error: The To restart, replace tape A-Register contains the in input device and press checksum from the tape; RUN. the B-Register contains the computed checksum. 102055 Address error: An at- To restart, replace tape tempt has been made to in input device and press destroy the loader or RUN. load outside the com- puter limits. 102000 The Punched Tape Read- To find the location of er compare option has the corresponding word been specified. The tape in memory, press SIN- being read does not com- GLE CYCLE TWICE. The pare with memory. The contents of the T Regis- A-Register contains the ter minus one is the ad- word from tape which dress of the desired did not agree. word. To restart after displaying the contents of the address, set Switch Register to starting ad- dress of loader, press LOAD ADDRESS, re- place tape in input de- vice, and press RUN. LOADER LISTING Listed below are the absolute instructions for the Basic Binary Loader: Input Device: 2752A Teleprinter 0 1 2 3 4 5 6 7 0m7700: 107700 006401 067771 006006 027710 106700 102077 027700 0m7710. 017752 002003 027703 003004 073772 017752 017743 070001 0m7720: 073773 063773 000040 043774 002040 027741 017743 044000 0m7730: 173773 037773 037772 027721 01?743 054000 027702 102011 0m7740: 027700 102055 027700 000000 017752 001727 073775 017752 0m7750: 033775 127743 000000 063771 073776 002400 1027cc 001300 0m7760: 1031cc 1023cc 027761 1024cc 037776 027757 001222 013777 0m7770: 127752 177765 000000 000000 ln0100 000000 000000 000377 cc = channel (higher) of Teleprinter m = 1 for 8K memory = 0 for 4K memory n = 6 for 8K memory = 7 for 4K memory 1-2 Input Device: 2737A Punched Tape Reader 0 1 2 3 4 5 6 7 0m7700: 107700 063770 106501 004010 002400 006020 063771 073736 0m7710: 006401 067773 006006 027717 107700 102077 027700 017762 0m7720: 002003 027712 003104 073774 017762 017753 070001 073775 0m7730: 063775 043772 002040 027751 017753 044000 000000 002101 0m7740: 102000 037775 037774 027730 017753 054000 027711 102011 0m7750: 027700 102055 027700 000000 017762 001727 073776 017762 0m7760: 033776 127753 000000 1037cc 1023cc 027764 1025cc 127762 0m7770: 173775 153775 1n0100 177765 000000 000000 000000 000000 cc = channel number of Punched Tape Reader m = 1 for 8K memory = 0 for 4K memory n = 1 for 8K memory = 0 for 4K memory To verify the Basic Binary Loader instructions in memory: 1. Set Switch Register to address of desired instruction. 2. Press LOAD ADDRESS. 3. Set LOADER switch to ENABLED. 4. Press DISPLAY MEMORY; the contents of the location specified is displayed in the T-Register. Each time the DISPLAY MEMORY button is pressed, the next consecutive memory location is displayed. 5. Set LOADER switch to PROTECTED when all desired locations have been displayed. To enter an instruction for the Basic Binary Loader: 1. Set Switch Register to address of instruction to be entered. 2. Press LOAD ADDRESS. 3. Set Switch Register to value of instruction. 4. Press LOAD MEMORY. 5. Set LOADER switch to PROTECTED. 1-3 MAGNETIC TAPE BINARY LOADER DESCRIPTION The Magnetic Tape Binary Loader loads absolute binary programs from magnetic tape. The programs may be the standard software systems (e.g. FORTRAN, ALGOL, Assembler, and Symbolic Editor) or user programs in absolute form which have been previously stored on tape using the Prepare Tape System routine. t The Magnetic Tape Binary Loader is stored in the highest 64 locations in memory. It may be entered in these locations using the Exchange Paper Tape for Magnetic Tape Loader program or through use of the Switch Register. t A configuration including 8K memory is required. OPERATING PROCEDURES A. Set Switch Register to starting address of Magnetic Tape Loader, 017700. B. Press LOAD ADDRESS. C. Set identification number of absolute program in the switch register. (make sure tape unit is in "AUTO" mode and the proper density has been selected.) D. Press PRESET. E. Set Loader switch to ENABLED. F. Press RUN. G. The computer halts at location 1 with 102077 in the T-Register; the program has been located and loaded. H. Set Loader switch to PROTECTED. I. Press RUN to initiate execution of the absolute program. Halts During execution of the Magnetic Tape Binary Loader, the following halt may occur: T-Register Contents Explanation Action 102011 A locating or loading If A Register contains error. 000200, the program can not be located. Set in correct ID number and repeat procedure. If A-Register contains other than 000200, a tape read error (timing  or parity) has occurred, restart at A. ------------------------- t See Chapter 8, Magnetic Tape System. 2-1 LOADER LISTING Listed below are the absolute instructions for Magnetic Tape Binary Loader: 017700. 107700 102501 073776 063772 1036cc 1023cc 027705 017734 017710: 057776 002001 027705 017745 177777 037777 037775 027713 017720. 1023cc 027720 017762 017734 006003 027713 1023cc 027726 017730: 063772 1036cc 067774 024001 000000 063771 1036cc 017745 017740: 077775 017745 077777 017745 127734 000000 006400 017753 017750: 017753 017753 127745 000000 005722 017762 1023dc 027755 017760: 1074dc 127753 000000 1025cc 013773 002003 127762 102011 017770: 027700 000063 000201 000672 102077 xxxxxx xxxxxx xxxxxx cc = command channel number for Magnetic Tape Unit. dc = data channel number for Magnetic Tape Unit. xxxxxx = variable - locations used by loader. To verify the Magnetic Tape Binary Loader instructions in memory: 1. Set Switch Register to address of desired instruction. 2. Press LOAD ADDRESS. 3. Set LOADER switch to ENABLED. 4. Press DISPLAY MEMORY; the contents of the location specified is displayed in the T-Register. Each time the DISPLAY MEMORY button is pressed, the next consecutive memory location is displayed. To enter an instruction for the Magnetic Tape Binary Loader: 1. Set Switch Register to address of instruction to be entered. 2. Press LOAD ADDRESS. 3. Set Switch Register to value of instruction. 4. Press LOAD MEMORY. 5. Set LOADER switch to PROTECTED. 2-2 BCS RELOCATING LOADER DESCRIPTION The Loader is the module of the Basic Control System that provides the capability of loading, linking, and initiating execution of relocatable object programs produced by the Assembler, FORTRAN, and ALGOL. The Loader is stored in an absolute record format on an external medium with the Input/Output Control subroutine, .IOC., and the equipment driver subroutines. It is loaded by the Basic Binary Loader from the device serving as the Standard Input unit. t The Basic Control System may also be loaded from magnetic tape. f The Relocating Loader loads object programs from the Standard Input unit and library routines from the device assigned as the Program Library unit. Comments to the user (e.g., Loader diagnostics) are written on the Teleprinter Output unit. LOADING OPTIONS The Basic Control System Loader is designed to load one or more tapes containing relocatable programs. The message "LOAD" is typed when an end-of-tape condi- tion is encountered. The user then loads the next tape, indicates loading from the program library, specified that loading is complete, etc. When all programs are loaded and no undefined external references remain, the Loader types the message "RUN". The user then initiates program execution. Memory Allocation List A Memory Allocation List may be obtained for the programs being loaded. The list may include the name, main program bounds, and Base Page bounds for each of the programs. This portion of the list may be followed (at the completion of the loading operation) by a list of all entry points and their absolute addresses, the bounds of the common block and the bounds of the linkage area. The setting of Switch 15 determines the contents of the list. To obtain the bounds for each program on a tape, Switch 15 must be set to 0 before the tape is loaded (in response to the "LOAD" message). To bypass the program bounds listing, set Switch 15 to 1 before loading the tape. The switch setting may be altered whenever the "LOAD" message is typed. To obtain the entry point list, the common bounds, and the linkage area bounds, set Switch 15 to 0 in response to the message "LST" which is printed after all programs are loaded. To bypass this portion of the list, set Switch 15 to 1 when "LST" is printed. Absolute Binary Output The user may specify that an absolute binary tape be punched. The process involves a simulated loading operation, however, the absolute program is punched on tape rather than being loaded. The absolute records produced consist of the relocated programs (including all pro- grams loaded from the Program Library), the Linkage area, all referenced seg- ments of the Basic Control System. These might include: --------------- t See Appendix G for description of Standard units. f See Chapters 2 and 8. 3-1 Input/Output control subroutine (.IOC.) All input/output equipment drivers Other BCS system subroutines Memory Table (.MEM.) System Linkage Area Interrupt Processing area Absolute locations 2 and 3 In addition, the Loader Symbol Table, the common and linkage area bounds are punched in ASCII format on the end of the binary tape. Ten inches of feed frames separate the binary instructions and the ASCII data. This feature provides a record of the memory allocation for the absolute program. At the completion of the "loading" process the Loader types the message "END". To execute this absolute program, it must be loaded using the Basic Binary Loader. To initiate execution, set 000002 into the P-Register and press RUN. OPERATING PROCEDURES The following procedures indicate the sequence of steps for loading and execution of the Basic Control System Loader: t A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Basic Control System tape using the Basic Binary Loader. C. Set Switch Register to 000002, press LOAD ADDRESS, and set Switch Register to 000000. D. Establish Loader parameters: 1. Set Switch 15 to 1 if no Memory Allocation Listing is desired during firload operation. 2. Set Switch 14 to 1 if an absolute binary tape of the program is to be punched.(Turn on punch device if this option is selected.) E. Place relocatable object tape in device serving as Standard Input unit. F. Press RUN. During the operation of the Basic Control System Loader, the following halts may occur: Teleprinter Message Explanation Action LOAD End-of-tape condition on 1. To load next tape, set (T-Register Standard Input device. Switches 2-0 to 0. If contains no Memory Allocation 102001.) Listing of next tape is desired, set Switch 15 to 1. Press RUN to continue loading. -------------------- t See Chaper 8 for Magnetic Tape System usage 3-2 Teleprinter Message Explanation Action 2. To indicate that all programs are loaded and to proceed to the end-of-loading phase, set Switches 2-0 to 001. Press RUN. t 3. To terminate loading operation set Switches 2-0 to 010. Press RUN. (This forces execution even though undefined ex- ternal references have not been matched.) 4. To load from Pro- gram Library, set Switches 2-0 to 100. If no Memory Alloca- tion Listing of library routines is desired, Set Switch 15 to 1. Press RUN to con- tinue loading. When all library routines are loaded the Load- er proceeds directly to the end-of-loading phase. *LST The Loader is ready to If a list of these items is print the LST, common not desired, set Switch bounds,and linkage area 15 to 1. Press RUN. bounds. *RUN All programs are loaded Check that all I/O de- and ready for execution. vices are ready for op- eration. Press RUN. *END The absolute binary out- To execute the program: put has been selected and the punched tape is 1. Load binary tape using complete. Basic Binary Loader. 2. Set Switch Register to 000002. Press LOAD ADDRESS. 3. Press RUN. -------------------- t A list of any undefined external symbols is typed following a Switch Register reply of 1 or 4 to the "LOAD" message. The message "LOAD" is then repeated. The programs containing the matching entry points should be loaded. Loading of user-programs from Standard Input must be completed before loading of routines from Program Library. 3-3 Teleprinter Message Explanation Action *L01 Checksum error: The To re-read record, re- checksum read on the position tape to begin last record does not ning of record and press agree with the checksum RUN. calculated by the Loader. *L02 Illegal record: The last To re-read record, re- record read was not rec- position tape to begin- ognized as one of the five ning of record and press types accepted by the RUN. Loader. *L03 Memory overflow: The Irrecoverable error, length of the main or program must be re- Base Page portion of the vised. program or the common block exceeds the bounds of available memory. *L04 Linkage area overflow: If program consists of Linkage words supplied several subprograms, by the Loader for ref- altering the sequence in erences between pages which the subprograms exceed the size of avail- are loaded may reduce able base page memory. the number of linkage words. Otherwise, ir- recoverable error, pro- gram must be revised. *L05 Loader symbol table Irrecoverable error, overflow: The number program must be re- of EXT/ENT symbols vised. exceed available mem- ory. *L06 Common block error: Revise sequence in The length of the com- which subprograms are mon block in the current loaded and reload pro- program is greater than gram. Otherwise, re- the length of the first vise program. common block allocated. *L07 Duplicate entry points: A tape has been loaded An entry point in the twice: restart. Other current program wise, irrecoverable er- matches a previously ror, program must be declared entry point. revised. *L08 No transfer address: To enter the starting ad- The initial starting lo- dress, set the absolute cation (e.g., END state- value in the Switch Reg- ment operand) was not ister , press LOAD A, present in any of the and press RUN. programs which were loaded. 3-4 Teleprinter Message Explanation Action *L09 Record out of sequence: Irrecoverable error, A NAM record was en- program must be re- countered before the vised. previous program was terminated with an END record. If the absolute binary output option is selected, the following halts may occur: T-Register Contents Explanation Action 102066 Tape supply low on Place new reel of tape 2753A Tape Punch which in unit. Press RUN. is producing absolute Leader is produced. binary output. Trailer follows last valid out- put. 102055 A line is about to be Turn punch unit off. printed on Teleprinter Press RUN. Output device. (See Basic Control System manual.) 102056 A line has been printed Turn punch unit on. while Teleprinter punch Press RUN. unit off. (See Basic Control System Manual.) 3-5 BCS ABSOLUTE OUTPUT TAPE DESCRIPTION An option of the BCS Relocating Loader allows punching of an absolute tape. The absolute records produced consist of the relocated programs (including all programs loaded from the Program Library), the Linkage area, all referenced segments of the Basic Control System. These might include Input/Output Control subroutine (.IOC. ) All input/output equipment drivers Other BCS system subroutines Memory Table (.MEM.) System Linkage area Interrupt Processing area Absolute locations 2 and 3 In addition, the Loader Symbol Table, and the common linkage area bounds are punched in ASCII format on the end of the binary tape. Ten inches of feed frames separate the binary instructions and the ASCII data. OPERATING INSTRUCTIONS The following procedures indicate the sequence of steps for the execution of a program punched in absolute form by the BCS Relocating Loader: A. Set Teleprinter to LINE and check that all equipment to be used is operable . B. Load the program tape using the Basic Binary Loader. C. Set Switch Register to starting address of program: 000002 D. Press LOAD ADDRESS. E. Press RUN to initiate execution of the program. 4-1 FORTRAN DESCRIPTION The FORTRAN compiler system translates a symbolic source program written according to American Standard Basic FORTRAN specifications into a relocatable object program which can be loaded and executed under control of the Basic Control System. The FORTRAN Compiler accepts as input paper tape containing a control statement and a source language program. The output produced by the Compiler may include a punched paper tape containing the object program; a listing of the source language program with diagnostic messages, if any; and a listing of the object in program assembly level language. CONTROL STATEMENT The control statement specifies the output to be produced; it must be the first statement of the source program. FTN, p1, p2, p3 FTN is a free field control statement. Following the comma are one to three parameters, in any order, which define the output to be produced. The control statement must be terminated by an end-of-statement mark, (CR)(LF). Spaces embedded in the statement are ignored. The parameters may be a combination of the following: I B Binary output: A program is to be punched in relocatable binary format suitable for loading by the Basic Control System loader. L List output: A listing of the source language program is to be produced during Pass One. A Assembly listing: A listing of the object program in assembly level language is to be produced in the last pass. SOURCE PROGRAM The source program follows the control statement. Each statement is followed by the end-of-statement mark, (CR)(LF). Specifications statements must precede executable statements. The last statement in each program submitted for compila- tion must be an END statement. Up to five source programs may be compiled at one time. The last program must be followed by an END$ statement, if less than six programs are to be compiled. (For complete details see FORTRAN Program- mer's Reference manual.) The control statement, each of the five programs, and the END$ terminator may be submitted on a single tape or on separate tapes. If more than five programs are contained on a tape, the compiler processes the first five and halts with the T- Register containing 102077. The remaining programs must be compiled separately. BINARY OUTPUT The punch output produced by the compiler is a relocatable binary program. It does not include system subroutines introduced by the compiler, or library subroutines referred to in the program. 5-1 OPERATING INSTRUCTIONS The exact operating procedures for a compilation depend on the available hardware configuration. One possible allocation of equipment might be as follows: Compiler Standard Unit Physical Unit Input/Output Designation Assignment Binary output Punch Output 2753A Tape Punch List output Teleprinter Output 2752A Teleprinter Assembly listing Teleprinter Output 2752A Teleprinter Source Tape(s) Input 2737A Punched Tape Reader If there are two output devices as shown above, there are two passes (8K memory) or four passes (4K memory). The list output and an intermediate binary tape are both produced during the first pass; the assembly listing and the binary output are both produced during the last pass. If one output device is available list output and intermediate binary output are written on the same tape during the first pass (the Compiler ignores the list output when reading the binary data during the second pass). The Binary output is then produced in the next to the last pass; and the assembly listing, in the last pass. PAPER TAPE SYSTEM The following procedures indicate the sequence of steps for compilation of a source program: A. Set Teleprinter to LINE and check that all equipment to be used is operable. If the Teleprinter is the only output device, turn ON punch unit. B. Load FORTRAN Pass 1 using the Basic Binary Loader. C. If the System Input/Output (SIO) subroutines are on a tape which is separate from FORTRAN Pass 1, load the tape using the Basic Binary Loader. D. Set Switch Register to starting address of FORTRAN Pass 1: 000100 E. Press LOAD ADDRESS. F. Place source language tape in device serving as the Standard Input unit (e.g., Punched Tape Reader). G. Press RUN. H. If more than one source tape, repeat Steps F and G for each tape. I. Perform either of the following depending on memory size: 4K Memory 1. At end of Pass 1 (T-Register contains 102077) load Pass 2 using the Basic Binary Loader. 2. Remove binary output from Standard Punch device and place in device serv- ing as the Standard Input unit. (If only one output device, both binary and list output are on the same tape.) 5-2 3. Set Switch Register to: 000100 4. Press LOAD ADDRESS. 5. Press RUN. 6. At end of Pass 2 (T-Register contains 102077), load Pass 3 using the Basic Binary Loader. 7. Remove binary output from Standard Punch device and place in device serv- ing as Standard Input unit. 8. Set Switch Register to: 000100 9. Press LOAD ADDRESS. 10. Press RUN. 11. At end of Pass 3 (T-Register contains 102077), load Pass 4 using the Basic Binary Loader. 12. Remove binary output from Standard Punch device and place in device serv- ing as Standard Input unit. 13. Set Switch Register to: 000100  14. Press LOAD ADDRESS. 15. Press RUN. 16. At end of Pass 4, the relocatable binary object tape is on the Standard Punch unit. Either of the following conditions may exist: a. If the T-Register contains 102077, the compilation is complete. If an assembly listing was requested, it is on the List Output device. b. If the T-Register contains 102001, an assembly listing pass is to be performed: (1) Place binary output from Pass 3 in deyice serving as Standard In- put unit. (Turn off Teleprinter punch unit.) (2) Press RUN. (3) At end of listing pass, T-Register contains 102077. 8K Memory 1. At end of Pass 1(T-Register contains 102077), load Pass 2 using the Basic Binary Loader. 2. Remove binary output from Standard Punch device and place in device serv- ing as the Standard Input unit. (If only one output device, both binary and list output are on the same tape.) 3. Set Switch Register to: 000100 4. Press LOAD ADDRESS 5-3 5. Press RUN. 6. At end of Pass 2, the relocatable binary object tape is on the Standard Punch unit. Either of the following conditions may exist: a. If the T-Register contains 102077, the compilation is complete. If an assembly listing was requested, it is on the List Output device. b. If the T-Register contains 102001, an assembly listing pass is to be performed: (1) Place binary output from Pass 1 in device serving as Standard In- put unit. (Turn off Teleprinter punch unit.) (2) Press RUN. (3) At end of listing pass, T-Register contains 102077. MAGNETIC TAPE SYSTEM Following are the steps for a compilation when using a magnetic tape system: A. Set Teleprinter to LINE and check that all equipment to be used is operable. If the Teleprinter is the only output device, turn ON punch unit. B. Load FORTRAN Pass 1 using the Magnetic Tape Binary Loader. C. Place source language tape in device serving as the Standard Input unit. D. Press RUN. E. At the end of compilation, the relocatable binary object tape is on the Standard Punch unit. Either of the following conditions may exist: 1. If the T-Register contains 102077, the assembly listing was requested and is on the List Output device. 2. If the T-Register contains 102001, an assembly listing pass is to be per- formed. Turn off Teleprinter punch unit. Press RUN. 5-4 BASIC CONTROL SYSTEM LOADER OPERATING PROCEDURES SUMMARY The Basic Control System Loader is used to load the object programs generated by FORTRAN and any referenced library routines. Listed below is a summary of procedures for normal loading of relocatable object programs and library routines (and for the printing of a Memory Allocation Listing):t 1. Load the Basic Control System tape using the Basic or Magnetic Tape Binary Loader. 2. Set Switch Register to 000002, press LOAD ADDRESS, and set Switch Reg- ister to 000000. 3. Place FORTRAN generated relocatable object tape in Standard Input unit. 4. Press RUN. The loader types "LOAD" it expects another relocatable or li- brary program. 5. If more than one relocatable object tape is to be loaded, repeat Steps 3 and 4 for each. Otherwise set Switch Register to 000004 to load library rou- tines. 6. Place Program Library tape in device serving as Program Library unit. 7. Press RUN. When the loading operation is complete, the loader types "*LST". Press RUN. The Loader types "*RUN" indicating the program is ready for execution. HALTS During the operation of the Compiler, the following halts may occur: T-Register Explanation Action 102000 Memory overflow: the pro- Irrecoverable error, pro- gram is too long. gram must be revised. 102001 End of binary object tape If only one output device, output, start of assembly place intermediate binary listing. in Standard Input unit and press RUN. 102007 For all passes except first, If punch error, restart with unrecognizable record on Pass 1. intermediate binary tape: If wrong tape, restart cur- rent pass. 1) Punch error on previous a) Load FORTRAN pass. pass. b) Set Switch Register to 2) Wrong tape supplied as 000100. input for pass. c) Press LOAD ADDRESS. d) Place previous binary tape in input device. t See Chapter 3 for details and options. 5-5 T-Register Explanation Action 102010 External Symbol Table Irrecoverable error; pro- overflow; the number of gram must be revised. external symbols exceeds 255. 102011 Checksum error. Attempt to re-read record (binary records are sepa- rated by 4 feed frames). Pass 1. 102017 A tape write error has oc- Restart with beginning of curred during Pass 1. Pass 1. 102027 A tape read error has oc- Restart with beginning of curred during Pass 2. Pass 1. 102066 Tape supply low on 2753A Load new tape and press Tape Punch. RUN. 102077 Normal end of pass or Proceed as indicated in compilation above steps. Diagnostic messages or halts might also occur for the following: Operation System Reference Loading FORTRAN Basic Binary Loader Chapter 1 compiler or SIO Magnetic Tape Binary Chapter 2 tapes Loader FORTRAN FORTRAN Appendix A compilation Loading object BCS Relocating Chapter 3 programs and Loader library routines Executing I/O I/O system (FRMTR) Appendix D operations during running of object program Executing Basic Program Library Appendix E External Functions during running of object program 5-6 ALGOL DESCRIPTION The ALGOL Compiler accepts as input, paper tape containing a control statement and a source language program. The output produced by the Compiler may include a punched paper tape containing the object program; a listing of the source language program with diagnostic codes defining the errors, if any; and a listing of the object program. ALGOL requires a configuration including an 8K memory. CONTROL STATEMENT The first record that is input to the ALGOL compiler is a control statement. This contains the word HPAL followed by any, or all, of the following symbols, separat- ed by commas: L: produce source program listing A: produce object code listing B: produce object tape P: a procedure only is to be compiled S: sense switch control Furthermore, the program name (that is, the NAM record name) may appear in quotation marks. It must be a legitimate identifier with no blanks. Example: HPAL,B,P,"INVRT" Sense Switch Control If the character "S" is included in the control statement, the B,L, and A options are read by the Compiler from the Switch Register. The switches corresponding to the options: Switch Control Statement (Up) Equivalent 15 B - produce object tape 14 L - produce source listing 13 A - produce object listing The switches are read at the beginning of each line so that the list option, for ex- ample, may be "turned off" partway through compilation. Note that the P option, if used, must still be placed in the control statement. COMPILER OUTPUT The output from the ALGOL Compiler consists of: A relocatable binary tape (B) which must be loaded with the BCS Loader. A listing of the source program, (L) with each line preceded by its sequence number and the value of the program counter (with 2000(8) added) at the time the line is read. A listing (A) of the binary instructions produced by the Compiler. Compilation With One Output Device If only one output device is available, such as a 2752A Teleprinter, ALGOL may still be used, but will require two passes. One pass will be for a binary tape, and the other for a listing. This is accomplished most easily if the S option is used (see above). 6-1 OPERATING INSTRUCTIONS The following procedures indicate the sequence of steps for compilation of a source program: A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load ALGOL compiler using the Basic Binary Loader. C. Turn on punch and list units. D. Set Switch Register to starting address of ALGOL; 000100 E. Press LOAD ADDRESS. F. Place source language tape in device serving as the Standard Input unit (e.g., Punch Tape Reader). G. Press RUN. The source listing will be produced on the list unit, and relocatable binary tape on the punch unit. This tape may now be loaded using the BCS Relocating Loader (See below). H. If another program is to be compiled, return to Step F. L. If the computer prints "HPAL??", the control statement is incorrect. To re- start compilation, place corrected control statement in input unit and press RUN. 6-2 BASIC CONTROL SYSTEM LOADER OPERATING PROCEDURES SUMMARY The Basic Control System Loader is used to load the object programs generated by ALGOL and any referenced library routines. Listed below is a summary of pro- cedures for normal loading of relocatable object programs and library routines (and for the printing of a Memory Allocation Listing):t 1. Load the Basic Control System tape using the Basic Binary Loader. 2. Set Switch Register to 000002, press LOAD ADDRESS, and set Switch Register to 000000. 3. Place ALGOL generated relocatable object tape in Standard Input unit. 4. Press RUN. The loader types "LOAD" it expects another relocatable or library program. 5. If more than one relocatable object tape is to be loaded, repeat Steps 3 and 4 for each. Otherwise, set Switch Register to 000004 to load library routines. 6. Place Program library tape in dedice serving as Program Library unit. 7. Press RUN. When the loading operation is complete, the loader types "*LST". Press RUN. The Loader types "*RUN" indicating the program is ready for execution. Diagnostic messages or halts might occur for the following: Operation System Reference Loading ALGOL Basic Binary Loader Chapter 1 compiler or SIO Magnetic Tape Binary Chapter 2 tapes Loader ALGOL ALGOL Appendix B compilation Loading object BCS Relocating Chapter 3 programs and Loader library routines Executing I/O I/O system Appendix D Operations (FRMTR) during running of object program Executing Basic Program Library Appendix E External Functions during running of object program ------------------- t See Chapter 3 for details and options. 6-3 ASSEMBLER DESCRIPTION The Assembler translates symbolic source language instructions into an object program. The object program may be either relocatable or absolute. The Loader of the Basic Control System loads and links relocatable programs. The Basic Bi- nary Loader loads programs in absolute form. The Assembler accepts as input a paper tape containing a control statement and a source language program. The output produced by the Assembler may include a punched paper tape containing the object program and/or an object program listing. The control statement specifies the output to be produced: ASMB Pl,P2,...,Pn "ASMB," is entered in positions 1-5. Following the comma are two or more pa- rameters, in any order, which define the output to be produced. The control state- ment must be terminated by an end-of-statement mark, (CR)(LF). The parameters may be any valid combination of the following starting in position 6: A Absolute: The addresses generated by the Assembler are to be interpreted as absolute locations in memory. The binary output format is that specified for the Basic Binary Loader. R Relocatable: The program may be located anywhere in memory. The binary output format is that specified for the BCS Relocating Loader. B Binary output: A program is to be punched according to one of the above pa- rameters. L List output: A program listing is to be produced according to one of the above parameters. T Table print: List the symbol table at the end of the first pass. N Include sets of instructions following the IFN pseudo instruction. Z Include sets of instructions following the IFZ pseudo instruction. Either A or R must be specified with any combination of B, L, or T. The control statement may be on the same tape as the source program, or on a separate tape; or it may be entered via the Teleprinter keyboard. Source Program The first statement of the program (other than remarks or a HED statement) must be a NAM statement for a relocatable program or an ORG statement for indicating the origin of an absolute program. The last statement must be an END statement and may contain a transfer address for the start of a relocatable program. Each statement is followed by an end-of-statement mark. (For complete details, see Assembly Programmer's Reference manual.) Binary Output The punch output includes the instructions translated from the source program. It does not include system or library subroutines referenced within the source program (arithmetic subroutines, .IOC. , .DIO., .ENTR, etc.). t ------------------------ t If system or library subroutines are referenced, they must be loaded from the FORTRAN library tape when the object program is to be executed. 7-1 ASSEMBLY OPTIONS The exact operating procedures for an assembly depend on the available hardware configuration. One possible allocation of equipment might be as follows: Assembler Standard Unit Physical Unit Input/Output Designation Assignment ------------ -------------- ------------- Binary output Teleprinter Output 2752A Teleprinter \ ??? Table print List Output 2753A Tape Punch / List output Source program Input 2737A Punched Tape Reader If there are two output devices as shown above, there are only two passes; the bi- nary and list output are both produced in the second pass. If only one output device is available, the binary output is produced by the second pass and the list output by the third pass. The Assembler automatically provides a leader and trailer for binary output tapes. To suppress this leader and trailer, set Switch 0 to 1 (up) before the start of Pass 2. In a three-pass assembly, the diagnostic messages and binary output are written on the same unit. To prevent these messages from being punched on the binary tape (they still appear on the printed output), perform the following steps: 1. Set Switch 15 to 1 (up) before start of Pass 2. 2. When the computer halts with the T-Register containing "102055", turn the punch unit OFF, and press RUN. 3. When the computer again halts with the T-Register containing "102055", turn the punch unit ON, and press RUN. 4. At the end of Pass 2, set Switch 15 to 0 (down). Steps 2 and 3 are repeated each time a diagnostic message is produced. OPERATING PROCEDURES The following procedures indicate the sequence of steps for assembly of a source program when using a paper tape system: $ A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Assembler using the Basic Binary Loader. t C. Set Switch Register to starting address of Assembler: 1. If control statement is on tape: 000100 000120 2. If control statement is to be entered via Teleprinter: --000110-- D. Press LOAD ADDRESS. E. Place source language tape in device serving as the Standard Input unit (e.g., Punched Tape Reader). ------------------ t The appropriate System Input/Output Subroutines (drivers) are assumed to be included with the Assembler. $ See next page for Magnetic Tape System usage. 7-2 F. Press RUN. G. If control statement is not on tape, enter it via the Teleprinter, following it by (CR)(LF). H. At end of Pass l (T-Register contains 102011), the Symbol Table, if requested, is on the Standard List Output unit. To execute Pass 2, replace the source language tape in the Standard Input unit, turn Teleprinter punch unit ON, and press RUN. t I. At end of Pass 2, the binary object tape (absolute or relocatable) is on the standard Teleprinter Output unit. Either of the following conditions may exist: 1. If the T-Register contains 102077, the assembly is complete. To assem- ble another program, return to Step C. 2. If the T-Register contains 102023, a listing pass is to be performed. Re- place the source language tape in the Standard Input unit (turn Teleprinter punch unit OFF), and press RUN. Magnetic Tape System Following are the steps for an assembly using a magnetic tape system: A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Assembler using the Magnetic Tape Binary Loader. C. Place source language tape in device servingas the Standard Input unit. (If 100 was specified as starting address of Assembler during Prepare Tape System processing, the control statement must be on tape.) If control statement is to be entered from the Teleprinter, set 110 into the P-Register. If only one out- put device, set Switch 15 up. D. Press RUN. t E. If 110 was specified as the starting address of Assembler, type in control statement. F. At end of assembly, T-Register contains 102077. To assemble another pro- gram, return to Step C. --------------- t To halt Pass 2 at any time, set Switch 1 up. 7-3 Halts During the operation of the Assembler, the following halts may occur: T-Register Contents Explanation Action ---------- ----------- ------ 102011 End of first pass Go to Step H. 102023 End of second of three a) To perform Pass 3, passes go to Step I. b) To omit Pass 3 and assemble another program, remove output and return to Step C. 102055 Switch 15 option selected See steps previously to prevent punching of specified under Assem- diagnostics on binary bly Options. output tape. 102057 End of source tape sec- Place next section in de- tion vice serving as Stand- ard Input unit and press RUN. 102066 Control statement error a) If control statement on tape, correct and return to Step E. b) If originally entered from Teleprinter, press RUN, and enter correct statement. 102077 End of assembly Remove output. To as- semble another pro- gram, return to Step C. t 102054 Sense switch halt on Press RUN to continue. Switch 1 OBJECT PROGRAM LOADING If absolute binary output was specified, the Basic Binary Loader (Chapter 1) sed is used to load the object program tape. If relocatable binary output was specified, the BCS Relocating Loader (Chapter 2) is used to load the object program tape. If the program refers to other Assembler or FORTRAN generated object programs, these tapes are loaded by the Relocating Loader at the same time. If the program refers to .DIO. (the FORTRAN Formatter routine), or if it makes use of Arithmetic pseudo instructions, the Program Li- brary tape must be submitted for loading also. -------------- t Several programs may be assembled consecutively without reloading the Assem- bler. If some of the object programs are to be relocatable and others are to be absolute, the programs that are to be assembled in relocatable form must be processed first. If relocatable program assemblies follow absolute assemblies, an R? diagnosticis output. 7-4 Listed below are summaries of procedures for normal loading of object programs: BASIC BINARY LOADER OPERATING PROCEDURES SUMMARY A. Place binary object tape in Standard Input unit. B. Set Switch Register to starting address of Basic Binary Loader (e. g.,007700 for 4K memory, 017700 for 8K memory). C. Press LOAD ADDRESS. D. Set LOADER switch to ENABLED. E. Press PRESET. F. Press RUN. G. When the computer halts with T-Register containing 102077, set LOADER switch to PROTECTED. H. Set switch Register to starting address of object program. I. Press LOAD ADDRESS. J. Check that all I/O devices are ready and loaded for operation of the program. K. Press RUN. BASIC CONTROL SYSTEM LOADER OPERATING PROCEDURES SUMMARY A. Load the Basic Control System tape using the Basic Binary Loader. B. Set Switch Register to 000002, press LOAD ADDRESS, and set Switch Regis- ter to 000000. C. Place Assembler generated relocatable object tape in Standard Input unit. D. Place program Library tape in device serving as Program Library unit. E. If more than one relocatable object tape is to be loaded, repeat Steps C and D for each. Otherwise, set Switch Register to 000004 to load library routines. F. Place Program Library tape in device serving as Program Library unit, G. Press RUN. When the loading operation is complete, the Loader types "*LST". Press RUN. The Loader types "*RUN" indicating the program is ready for execution. H. Press RUN to initiate execution. 7-5 MAGNETIC TAPE SYSTEM The Magnetic Tape System provides the capability to store the standard software systems and user programs on an HP 2020A/B Magnetic Tape unit and to access them through a simple loading procedure. The same magnetic tape is also utilized by the software systems for temporary storage of intermediate or scratch files. Auxiliary routines are provided to perform the following functions: 1. Configure SIO drivers and magnetic tape Inter-Pass Loader. 2. Create the absolute and relocatable (Program Library) files on magnetic tape. 3. Exchange the magnetic tape loader for the paper tape loader (Basic Bi- nary Loader). 4. Exchange the paper tape loader for the magnetic tape loader. The minimum configuration for Magnetic Tape System operation is: HP 2116A or 2115A Computer with 8K memory HP 2752A Teleprinter HP 2737A Punched Tape Reader HP 2020A/B Magnetic Tape Unit ALLOCATION OF FILES The tape consists of two files with the remaining portion used as a scratch file or area. -------------------------------------------------------------------- | File 1 (Absolute) | File 2 (Program Library) | Scratch ... -------------------------------------------------------------------- File 1 is the Absolute File; it may contain any program in absolute binary fcrmat: The four standard software systems may be configured for magnetic tape input/ output: FORTRAN, Assembler, Basic Control System and Cross Reference Gen- erator. Standard Software systems configured for paper tape input/output: FORTRAN, As- sembler Basic Control System, Symbolic Editor, etc. Any user programs in absolute form. Exchange Magnetic for Paper Tape Loader program (reguired to re-load Basic Bi- nary Loader when absolute programs are to be loaded from paper tape). 8-1 The format of a File 1 record is as follows: Tape Computer Word Format Equivalent Content ------ ------------- ------- 1 Record length in com- puter words (excluding words 1-3) 2 Absolute starting ad- dress of program [IMAGE] 3 Program identification number (0 for continu- ation record) 4-n Absolute binary pro- gram (n-3 = record length) When constructing File 1, the user supplies an identification number in the range 1 to 177776 for each program. If the program consists of more than one paper tape (e.g., SIO routines or the Inter-Pass Loader reguired), a 0 is supplied as the iden- tification number for each continuation tape. File 2 is named the Library File. It contains relocatable programs. IncIuded are the standard Program Library routine,and any relocatable programs added by the user. The Record formats are identical to the paper tape library program. The scratch area is used by the Assembler and by FORTRAN for intermediate stor- age of the user's program during assembly or compilation. The scratch area could also be used by the user's object program during execution. CONFIGURING THE SOFTWARE Prior to the preparation of File 1, FORTRAN, the Assembler, the Cross-Reference Generator, and the Basic Control System must be configured for use with magnetic tape. BCS is configured through standard Prepare Control System processing; the HP 2020 BCS driver is included and the tape unit is designated as the Program Library unit. (Note that the 2020 driver requires that two interrupt entry points be specified: I.21 for the data channel, and C.21 for the command channel.) The other programs are configured through use of the magnetic tape version of the System Input/Output (SIO) Dump routine. t Any of three methods may be used: 1. A complete configured tape may be prepared for each system. The identification number assigned during prepare Tape System processing is then entered to locate and load the entire system (see MAGNETIC TAPE SYSTEM PREPARATION). Use of this method results in the most effi- cient loading operation. For the magnetic tape version of FORTRAN, the output paper tape would contain Pass 1 of FORTRAN; the Teleprinter, Tape Punch (if required by the installation), Punched Tape Reader, and Magnetic Tape Unit ------------------- t Systems which are to be configured for paper tape usage should also be processed by the magnetic tape version of the SIO Dump routine; more efficient loading from magnetic tape results. 8-2 drivers; and the Inter-Pass Loader. For magnetic tape versions of the Assembler and the Cross-Reference Generator, only the required drivers would be added. (Note: The Assembler must be loaded before the Magnetic Tape Unit driver.) 2. A separate tape may be prepared for each required combination of SIO subroutines. The subroutine tape would then be attached as a continuation record of the system. This method reduces the amount of SIO Dump routine processing while still allowing each system to be called by one identification number only. Loading efficiency, however, is somewhat reduced. 3. A separate tape may be prepared for each required combination of SIO subroutines as in the above method. Each subroutine tape, however, would then be stored on magnetic tape as a complete program with its own identification number. This method allows increased flexibility and also uses the least amount of tape. Since two identification numbers must be entered and two programs loaded, it does reduce overall loading efficiency. MAGNETIC TAPE SYSTEM PREPARATION The tape is created through use of the Prepare Tape System routine. For each program in File 1, the user supplies an identification number in the range 1 to 17776. (The number 177777 is reserved for Pass 2 of FORTRAN.) This number should be noted since it must be entered into the Switch Register in order to locate the program on the tape. If the program to be transferred to magnetic tape is a continuation record of another program, a zero is specified as the identification number. The user must also specify the absolute starting address of each program. This number is usually 2 or 100. The Basic Control System and absolute programs generated by the Basic Control System have starting addresses of 2. All other standard software systems have starting addresses of 100. If a tape containing con- figured SIO drivers is stored as a separate program, a starting address of 100 is used. The Prepare Tape System reads each absolute binary program from the paper tape input device, stores it on the magnetic tape, and requests the next identification number. When all File 1 programs are processed, the Prepare Tape System is ready to process relocatable programs for File 2. The Program Library is copied from the paper tape input device to the magnetic tape. The user may add other relocatable programs to File 2; if user programs are referenced more frequently or if they contain a number of references to library routines, they should precede the Program Library on tape. To terminate the loading of relocatable programs. Switch 15 of the Switch Register is set up following the message "LOAD." USING THE TAPE SYSTEM In order to user the Magnetic Tape System, the Magnetic Tape Binary Loader must be stored in the protected area of memory. This is accomplished by the Exchange Paper for Magnetic Tape Loader program (see page 8-7). With the Magnetic Tape Binary Loader in memory, the user sets the identification number of the absolute program into the Switch Register. The Loader searches for the routine and loads it. To initiate execution, the user presses the RUN switch. Assembler Processing When using the Extended Assembler with magnetic tape, the user submits the source language program one time only. The Assembler copies the program onto the scratch area of the tape during the first pass. At the end of the first pass, the Symbol Table is printed on the Teleprinter (if that option was selected). To initiate the second pass, the tape is backspaced to the beginning of the scratch area making the source program again available for processing. The second pass is performed and the output produced on the punch and list device requested. 8-3 FORTRAN Processing The FORTRAN Compiler operating with magnetic tape uses the scratch area for storage of intermediate binary code. Pass 1 of FORTRAN writes the intermediate program. At the end of Pass 1, FORTRAN calls the Inter-Pass Loader; it searches for and loads Pass 2 of FORTRAN. (Pass 2 is identified by the number 177777 which is reserved for this purpose. ) Pass 2 spaces forward to the scratch area, processes the intermediate code and produces output on the punch and list devices as requested. Inter-Pass Loader The Inter-Pass Loader is used to locate and load the second pass of FORTRAN. It must be configured with the other SIO routines through use of the SIO Dump routine. During this processing, it requires specification of the channel number (lower) af the Magnetic Tape Unit. The Inter-Pass Loader may also be used by any absolute program to locate program segments on magnetic tape and load them in memory overlaying program segments that have already been executed. The request to read in a new segment is initiated by performing a JMP instruction with the A-Register containing the identification number of the program segment to be loaded. (The number is assigned to the program segment during Prepare Tape System processing. ) When the new program has been located and loaded, the Inter- Pass Loader passes control to it via a JMP 3,I. The calling sequence of the program segment initially in memory is: LDA Where The Inter-Pass Loader resides in the area 6, X6322 - X6420 (X depends on the size of memory and is always in the last page of memory) and must not be overlaid by new program segments. Basic Control System Processing The Basic Control System may be configured to process the Program Library from magnetic tape. When Switch 2 is set up (after the user's relocatable program has been loaded from a paper tape device), it will search File 2 for library routines referenced in the user's program. If, at the end of searching forward through this file, there exist unmatched references (external references for which no entry points could be located), a list of these references is printed on the Teleprinter. If these routines are on magnetic tape (e.g., a user program near the end of the file referring to a library routine near the beginning of the file), Switch 2 is left in up position and the RUN switch is pressed; BCS repeats the search of the Library file. If the routines are on paper tape, Switch 2 is set down, the tape placed in the paper tape device, and the RUN switch is pressed. Any number of user programs may be entered via a paper tape device after the library routines have been loaded. PAPER TAPE OPERATION The paper tape loader (Basic Binary Loader) can be restored in the protected area of memory through use of the Exchange Magnetic for Paper Tape Loader program. The Exchange Magnetic for Paper Tape Loader program must be stored as part of the Absolute file on magnetic tape. 8-4 PREPARE TAPE SYSTEM OPERATING PROCEDURES Before initiating the preparation of the files on magnetic tape, the Prepare Tape System must be configured; the user supplies the I/O channel numbers for the available devices. Configuring The Software Systems The SIO routines, the Inter-Pass Loader and the Basic Control System must be configured prior to being stored as part of File 1. For procedures to configure the SIO routines and the Inter-Pass Loader, see the SIO Dump routine. For procedures to configure BCS, see the Prepare Control System Routine. Configuring The Prepare Tape System Routine 1. Load the PTS routine using the Basic Binary Loader. 2. Set Switch Register to: 000100 3. Press LOAD ADDRESS 4. Set Switches 5-0 of the Switch Register to the channel number for the printer/ punch unit (the lower numbered of the two assigned channels) of the Teleprinter. 5. Press RUN. 6. The computer prints: HSINPUT 7. Type channel number of Punch Tape Reader. The reply is terminated by a (CR)(LF). 8. The computer prints: MAG TAPE 9. Type the channel number of the data channel (the lower numbered of the two assigned channels) of the Magnetic Tape Unit. The reply is terminated by a (CR)(LF). 10. The computer prints: LWA MEM? 11. Type in the upper limit of available memory; for an 8K configuration, type: 17677 Preparing The Magnetic Tape Files 1. Following the type-in of the last word address of available memory, the com- puter prints: I.D. 2. Type in the program identification number (1-17777) starting in position l. f If the tape to be loaded is a continuation tape of the tape that was loaded pre- ------------------ t An absolute program may be added to the end of a previously prepared File 1: Type /A in response to "I.D." The tape is positioned at the end of the file and a new ID number requested. (The previously prepared File 2 will be destroyed and must therefore be recreated.) 8-5 viously, (e.g., SIO drivers and Inter-Pass Loader) type an identification num- ber of "0". Comments may be appended to the ID number (to the end of the line) providing a space separates the comments from the number. The reply is terminated by a (CR(LF). 3. The computer prints: S.A. 4. Type in the absolute starting address of the program (usually 2 or 100). Com- ments may be appended providing a space separates the comments from the address. The reply is terminated by a (CR)(LF). 5. The computer prints: LOAD 6. Place the paper tape in the input device and press RUN. 7. Repeat steps 1 through 6 for each absolute tape (steps 3 and 4 are bypassed for continuation tape.) 8. To terminate input for File 1, type: /E (CR)(LF) in response to "I.D." 9. The computer prints: LIBRARY FILE LOAD 10. Place the Program Library tape in the input device and press RUN. (Switch 15 should be down). 11. When the Program Library is stored on the tape in File 2, the computer prints: LOAD 12. The user may then load any relocatable programs that are to be added in File 2. $ After each program is loaded, the computer prints: LOAD 13. To terminate input for File 2, set Switch 15 up. The computer prints: *END and rewinds the magnetic tape. ---------------- $ If user program refers to library routines, or if they are accessed more fre- quently, they should be loaded first. 8-6 During operation of Prepare Tape System, the following diagnostics may be printed on the Teleprinter: Message Explanation Action *EOT End-of-Tape Use larger tape or fewer pro- grams. Start over. *ADDRESS ERROR The program being writ- Reposition tape, then press RUN ten on tape would de- to reread record,otherwise re- story the loader if load- start. ing attempted. INPUT ERROR, Identification is illegal. Retype identification number. TRY AGAIN WRITE NOT Write Enable Ring not in- Insert ring and start over. ENABLED serted in reel. TAPE UNIT IN Press AUTO button. Then press LOCAL RUN to continue. CHECKSUM ERROR Checksum error occur- Reposition paper tape at begin red while reading paper ning of record (indicated by tape four feed frames) and press RUN. Otherwise, restart. Loading Magnetic Tape Binary Loader Prior to loading absolute programs from magnetic tape, the paper tape loader (Basic Binary Loader) must be exchanged forthe Magnetic Tape Binary Loader. The steps are as follows: 1. Load Exchange Paper for Magnetic Tape Loader program using the Basic Binary Loader. 2. Set Switch Register to starting address of the routine: 000002 3. Press LOAD ADDRESS. 4. Set Switches 5-0 of the Switch Register to the channel number of the data chan- nel (the lower numbered of the two assigned channels) of the magnetic tape unit. 5. Set Loader switch to ENABLED. 6. Press RUN. 7. When the computer halts with 102077 in the T-Register, the Basic Binary Loader has been replaced with the Magnetic Tape Binary Loader. 8. Set Loader switch to PROTECTED. 8-7 Loading Absolute Programs From Magnetic Tape 1. Set Switch Register to starting address of Magnetic Tape Loader. For 8K configuration, use 017700. 2. Press LOAD ADDRESS 3. Set absolute program identification number in the Switch Register. (Make sure tape unit is in "AUTO" mode and the proper density has been selected.) 4. Press PRESET. 5. Set Loader switch to ENABLED 6. Press RUN. 7. The computer halts at location 1 with 102077 in the T-Register. The program has been located and loaded. 8. Set Loader switch to PROTECTED. 9. Press RUN to initiate execution of the absolute program. If the computer halts with 10211 in the T-Register, a locating or loading error has occurred. If the A-Register contains 000200, the requested program can not be located; set correct number in Switch Register and repeat procedure. If the A- Register does not contain 000200, a tape read error (timing or parity) has occurred; restart at step 1. Restoring The Basic Binary Loader To load absolute binary programs from paper tape, the Magnetic Tape Binary Loader must be exchanged for the Basic Binary Loader. The steps are as follows: 1. Set Switch Register to starting address of Magnetic Tape Loader. For 8K configuration, use 017700. 2. Press LOAD ADDRESS. 3. Set File 1 identification number of the Exchange Magnetic for Paper Tape Loader program in the Switch Register. 4. Press PRESET. 5. Set Loader switch to ENABLED. 6. Press RUN. 7. The computer halts with 102077 in the T-Register. Set switches 5-0 of the Switch Register to the channel number of the paper tape input device. 8. Let Loader switch remain in ENABLED position. 9. Press RUN. 8-8 10. The computer halts with 102077 in the T-Register indicating that the Basic Loader has replaced the Magnetic Tape Binary Loader. Set Loader switch to PROTECTED. 11. To recopy the Basic Binary Loader in the protected area (e.g., an incorrect channel number was entered), leave Loader switch in ENABLED position and RUN. The program returns to Step 7. 8-9 SYMBOLIC EDITOR DESCRIPTION The Symbolic Editor provides facilities for editing and updating symbolic source language programs or files. The input to the Symbolic Editor is a file to be edited, the Symbolic File, and a file of editing information, the Edit File. The output is an altered symbolic file, the Updated File. The Symbolic File and the Updated File contain a series of records, each of which is a statement of 1 to 72 ASCII charac- ters terminated by an end-of-statement mark. The Edit File contains the editing control statements and any source language statements that are to be applied to the Symbolic File. The Edit File may be entered from either the Standard Keyboard Input unit (e.g., 2752A Teleprinter) or the Standard Input unit (e.g., 2737A Punched Tape Reader) depending on the setting of Switch 15. The following editing functions are available: /I,r Insert one or more records following record r. The records to be inserted follow the control statement. /D,r1[,r2] Delete record r1, or records rl through r2. /R,r1[,r2] Replace record r1, or records r1 through t2 with the records following the control statement. /CI,r,c Insert characters following character c of record r. The char- acters to be inserted follow the control statement. /CD,r,c1[,c2] Delete character cl, or characters cl through c2 of record r with the characters following the control statement. /CR,r,c1[,c2] Replace character c1, or characters c1 through c2 off record r with the characters following the control-statement. /L Produce numbered listing of Symbolic File. /E Terminates the Edit File. If E is only control statement in Edit File, a copy is made of the Symbolic File. All sequence numbers must be in ascending order, greater than zero, and unique. A particular sequence number may be used in one statement only in the Edit File. OPERATING PROCEDURES The following procedures indicate the sequence of steps for execution of the Sym- bolic Editor: A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Symbolic Editor using the Basic Binary Loader. t C. Set Switch Register to starting address of Symbolic Editor: 000100 -------------------- t The appropriate System Input/Output subroutines (drivers) are assumed to be in- cluded on the Symbolic Editor tape. 9-1 D. Press LOAD ADDRESS. E. Specify unit containing the Edit File: 1. If Edit File is to be read from the 2752A Teleprinter keyboard or reader, set Switch 15 to 1 (up) position. The Edit File is printed as it is read. 2. If Edit File is to be read from the Standard Input unit, set Switch 15 to 0 (down) position. Either type in editing information or place Edit File tape in read unit. F. Press RUN. During the reading of the Edit File, the following halts may occur: Teleprinter T-Register Message Contents Explanation Action none 102002 Loading of the Edit File Place Symbolic tape in is complete. the input unit. END OF TAPE 102001 Physical end of tape has Place next Edit File tape been detected, but /E in reader or, set Switch control statement not 15 to up position, to type encountered. control statements on Teleprinter keyboard. EDIT 102000 Number of records in Prepare smaller Edit OVERFLOW Edit File exceeds avail- File and restart the run. able core; the run is ter- minated. CS ERR 102004 a) Illegal control state- a) To delete control control statement ment code. statement and con- tinue, press RUN. b) Missing parameter. b) To correct control c) Second sequence pa- statement: rameter less than first. (1) Set Switch 15 to up position. (2) Press RUN. (3) Type correct statement up to but not including (LF). (4) If Edit File is be- ing read from Standard Input unit, set Switch 15 to down position. (5) Type (LF). ILLEGAL 102004 An r or c parameter is See Action for CS ERR. VALUE not numeric or is great- er than 4 digits (r) or 2 digits (c). 9-2 Teleprinter T-Register Message Contents Explanation Action SEQUENCE 102004 The sequence numbers See Action for CS ERR. ERROR in the control statement (control statement) are less than previous sequence numbers. G. When the Edit File has been read successfully, place Symbolic File tape in in- put unit and turn on punch unit. H. Press RUN. During processing of the Symbolic File, the following halts may occur: Teleprinter T-Register Message Contents Explanation Action END OF TAPE 102003 Physical end of tape has a) If all tapes of the Sym- been detected for Sym- bolic File have been bolic File. read, set all switches to down (0) position. The remaining part of the editing run is to be completed. b) If another tape is to be processed, set any switch of Switch Reg- ister to up and place tape in reader. SEQUENCE 102004 The sequence numbers To delete control state- ERROR in the control statement ment and bypass any re- (control statement) exceed the range of the lated Edit File source Symbolic File. records and continue, press RUN. INSERT ERROR 102004 No symbolic statements See Action for SE- REPLACE ERROR follow an Insert or Re- QUENCE ERROR. (control statement) place (record or char- acter) control state- ment. CS ERROR 102004 A value of a character To ignore control state- (control statement) position parameter in a ment and transfer orig- CI or CR control state- inal record from Sym- ment is greater than the bolic File to Updated number of characters in File, press RUN. the record being edited. CHAR OV 102004 The new record result- See Action for CS ERR- (control statement) ing from character edit- OR. ing exceeds the maxi- mum length of 72 char- acters. I. To continue the editing process, press RUN. 9-3 J. On completion of edit run the Symbolic Editor halts with the T-Register con- taining 102077. K. To perform another edit run, start at Step C. 9-4 CROSS REFERENCE TABLE GENERATOR DESCRIPTION The Cross Reference Table Generator routine processes an Assembler source pro- gram and prints a cross reference list of all symbols appearing in the program. The List contains the symbols in alphabetic order.t Each is followed by the 4-digit sequence number of the statement in which the symbol was defined and the sequence numbers of all statements referring to the symbol. If the source program is con- tained on more than one tape, the tape number follows the statement sequence num- ber. The tape number is determined t;y the order in which the tapes are submitted to the generator routine; it is not printed for the first tape. OPERATING PROCEDURES The following procedures indicate the sequence of steps for execution of the Cross Reference Table Generator: A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load Cross Reference Table Generator using the Basic Binary Loader. $ C. Set Switch Register to starting address of Cross Reference Table Generator: 000100 D. Press LOAD ADDRESS. E. Place source language tape in unit serving as the Standard Input unit (e.g., Punched Tape Reader). F. Press RUN. G. At the end of each tape other than the last, the message "END OF TAPE" is printed and the computer halts. Repeat E and F. H. At the end of the last tape (the tape containing the END statement), the table is printed on the Standard List Output device (e.g., Teleprinter). When the table is printed, the computer halts. During the operation of the routine, the following may be printed: Teleprinter Message Explanation Action DD (symbol) A doubly defined symbol Correct source program has been encountered. after completion of rou- The computer does not tine. halt. ------------------- t If the magnetic tape version of the Cross Reference Table Generator is used, it must be executed immediately after the completion of an assembly. It processes the information written on the scratch area of the tape by the Assembler. $ The appropriate System Input/Output subroutines (drivers) are assumed to be in- cluded on the Cross Reference Table Generator tape. 10-1 Teleprinter Message Explanation Action TABLE The combined number of Irrecoverable error. If OVERFLOW symbols and references the Table is necessary, to them exceeds the ca- the source program pacity of the routine. must be revised. 10-2 SYSTEM INPUT/OUTPUT DUMP DESCRIPTION The System Input/Output (SIO) Dump routine prepares a single binary tape contain- ing the System Input/Output drivers, the significant locations in the System Linkage area, and, optionally, a standard software system. The SIO Dump is an absolute program which is loaded by the Basic Binary Loader after the appropriate SIO drivers are loaded and with related channels assigned. a software system, for example, the Symbolic Editor, the Assembler, or Pass 1 of FORTRAN, is to be included on the tape, it is loaded before executing the SIO Dump routine. The binary tape always includes the following: The System Input/Output drivers The contents of locations 101-104 and 106 The contents of location 5 If the standard software system is also included, the tape contains the following additional data: The software system (the contents of 107 up to location defined in 105) The contents of locations 100 and 105 The binary tape is produced on the device assigned as the Standard Punch Output unit. Multiple copies of the tapes may be obtained if needed. OPERATING PROCEDURES A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Teleprinter driver tape using the Basic Binary Loader. C. Set Switch Register to 000002. Press LOAD ADDRESS. D. Set Switches 5-0 of Switch Register to he channel number of the device asso- ciated with the driver (the lower numbered channel for the Teleprinter). E. Press RUN. F. Repeat Steps B through E for the Punched Tape Reader driver. G. Repeat Steps B through E for the Tape Punch driver. H. Load standard software system, if pertinent, using Basic Binary Loader. I. Load SIO Dump tape using Basic Binary Loader. J. Set Switch Register to 000002. Press LOAD ADDRESS. K. Set Switch 15 to 0 if binary tape is to contain SIO drivers and System Linkage only, or set Switch 15 to 1 if software system is also included. L. Press RUN. 11-1 M. To obtain multiple copies of tape, repeat from Step J. While the binary tape is being punched the following halt may occur: T-Register Contents Explanation Action 102066 Tape supply low in the Place a new reel of tape 2753A Tape Punch. in Tape Punch and press RUN to continue. 11-2 SYSTEM INPUT/OUTPUT DUMP (Magnetic Tape) DESCRIPTION This System Input/Output (SIO) Dump routine prepares a single binary paper tape for use in setting up the Magnetic Tape System. It contains the System Input/Output drivers, the significant locations in the System Linkiage area, and optionally, a standard software system. This Dump routine is also used to configure the magnetic tape Inter-Pass Loader. The SIO Dump is an absolute program which is loaded by the Basic Binary Loader after the appropriate SIO drivers are loaded and with related channels assigned. If a software system, for example, the Symbolic Editor, the Assembler, Pass 1 of FORTRAN or Inter-Pass Loader, is to be included on the tape, it is loaded before executing the SIO Dump routine. t The binary tape always includes the following: The System Input/Output drivers The contents of locations 101-104, 106, and 107 The contents of location 5 and 6 If the standard software system is also included, the tape contains the following data: The software system (the contents of 4 up to location defined in 105) The System Input/Output drivers Three software systems are designed for use with the magnetic tape SIO driver; these are the magnetic tape versions of the Assembler, FORTRAN, and the Cross Reference Generator. These are the only systems which require a tape produced by this Dump routine. Increased loading efficiency from tape may be obtained, however, if this routine is used to prepare configured versions of the other standard software systems. The binary tape is produced on the device assigned, as the Standard Punch Output unit. Multiple copies of the tapes may be obtained if needed. OPERATING PROCEDURES To prepare a configured set of SIO drivers (and software system, if desired): A. Check that all equipment to be used is operable. B. Load the Teleprinter driver tape using the Basic Binary Loader. C. Set Switch Register to 000002. Press LOAD ADDRESS. D. Set Switches 5-0 of Switch Register to the channel number of the device asso- ciated with the driver (the lower numbered channel for two address devices. E. Press RUN. -------------------- t If the drivers and the Assembler are to be included on the same paper tape, the Assembler must be loaded before the Magnetic Tape Unit driver. Otherwise, the software system may be loaded after all drivers. 12-1 F. Repeat Steps B through E for the Punched Tape Reader driver. G. Repeat Steps R through E for the Tape Punch driver. H. If tape is being prepared for use with FORTRAN Pass 1, the Assembler, or the Cross Reference Generator, repeat steps B through E for the Magnetic Tape Unit driver. I. If tape is being prepared for use with FORTRAN Pass 1, repeat steps B through E for the Inter-Pass Loader. J. Load standard software system, if pertinent, using Basic Binary Loader.t K. Load SIO Dump tape using Basic Binary Loader. L. Set Switch Register to 000002. Press LOAD ADDRESS. M. Press RUN. O. To obtain multiple copies of tape, repeat from Step L. While the binary tape is being punched the following halt may occur: T-Register Contents Explanation Action 102066 Tape supply low in the Place a new reel of tape in 2753A Tape Punch. Tape Punch and press RUN to continue. ------------------- t Assembler must be loaded before Magnetic Tape Unit driver if both are on the same paper tape. 12-2 PREPARE CONTROL SYSTEM DESCRIPTION The Prepare Control System (PCS) program processes relocatable modules of the Basic Control System and produces an absolute version designed to work on a spe- cific hardware configuration. It creates operating units from the relocatable object tapes of the Input/Output Control subroutine, .IOC., the equipment driver sub- routines, and the Relocating Loader. It also establishes the contents of certain locations used in interrupt handling. The Prepare Control System is an absolute program which is loaded by the Basic Binary Loader. It operates on a minimum configuration of 4K memory and a 2752A Teleprinter. However, if a 2737A Punched Tape Reader and a 2753A Tape Punch are available, the Prepare Control System will utilize these devices; PCS requests their assignment during the Initialization phase. After the Initialization phase is completed, each module of BCS is loaded and proc- essed by PCS. The order in which the modules are processed is not significant ex- cept that the BCS Loader must be the last module loaded. Two modules, the Input/ Output Control subroutine and the Loader, require that parameters be entered via the Keyboard Input unit after being loaded. Options are available to define the equipment driver modules and other BCS system subroutines as relocatable programs to be loaded with the user's object program. OPERATING PROCEDURES The following procedures indicate the sequence of steps for loading and execution of the Prepare Control System: A. Set Teleprinter to LINE and check that all equipment to be used is operable. B. Load the Prepare Control System tape using the Basic Binary Loader. C. Set Switch Register to 002000, press LOAD ADDRESS. D. Set Switches 5-0 to the value of the channel number for the printer/punch unit (the lower numbered of the two assigned channels) of the Teleprinter. E. Press RUN. The Initialization Phase is executed. During this phase, the following messages may occur: Teleprinter Message Explanation Action HS INP? Request for Punched Type channel number. Tape Reader channel If Punched Tape Reader assignment not available, type 0.t HS PUN? Request for Tape Punch Type channel number. channel assignment. If Tape Punch not avail- able, type 0. -------------------- t All replies from the keyboard must be terminated by an end-of-statement mark which consists of a carriage return, (CR) , and a line feed, (LF). If an error is made in typing a reply, type (RUBOUT) (CR) (LF) and repeat the reply. 13-1 Teleprinter Message Explanation Action FWA MEM? Request for first word Type address of word in of available memory. Base Page following the locations required for interrupt processing. LWA MEM? Request for last word Type address of word of available memory. preceding protected area. *ERROR A non-numeric or illegal Type the correct value. character has been en- tered as a reply. Following the completion of the Initialization Phase the relocatable object tapes of the Basic Control System are to be loaded. Only those modules which are to be in- cluded in the absolute tape are loaded; modules which are to be loaded with the user's object program are not submitted. The modules may be loaded in any order provided that the Relocating Loader is last. During this phase, the following halts may occur: Teleprinter Message Explanation Action *LOAD PCS is requesting the Place BCS tape in first or the next BCS Punched Tape Reader if module. available, or Tele- printer reader. Press RUN. *L01 Checksum error. To re-read record, re- position tape to begin- ning of record and press RUN. *L02 Illegal record: the last To re-read record, re- record read was not rec- position tape to begin- ognized as a valid re- ning of record and press locatable record type. RUN. *L03 Memory overflow: the Irrecoverable error. length of BCS exceeds available memory. *L04 System linkage area Irrecoverable error. overflow in Base Page. *L05 Symbol table for BCS Irrecoverable error. symbols exceeds avail- able memory. *L06 PCS interprets the pro- Irrecoverable error. gram length of BCS to be zero. *L07 Duplicate entry points A tape loaded twice or within BCS. irrecoverable error. 13-2 Teleprinter Message Explanation Action *EOT End-of-tape. Place next tape in read unit and press RUN to continue loading. When the .IOC. module is loaded, PCS requests the EQT and SQT parameters. PCS halts after typing the messages "*TABLE ENTRY? EQT?" If the Teleprinter serves both as the reader and keyboard unit, turn reader off, press RUN. Begin typing response to message. (Turn reader on after all replies have been typed.) Teleprinter Message Explanation Action *TABLE ENTRY? EQT? t Request for EQT entry For each I/O device, information. type: nn, D.ee, [,D] [,Uu] nn - channel number D.ee - driver name: ee = 00 Teleprinter (Use lower channel) = 01 Punched Tape Reader = 02 Tape Punch = 20 Kennedy Incre- mental Tape Transport = 21 HP2020 Magnetic Tape Unit (Use lower channel) = 40 Data Source Interface = 41 Integrating Dig- ital Voltmeter = 42 Guarded Cross- bar Scanner = 43 Time Base Generator = 77 HP 2401C/HP- 2911 Scanning Driver (HP 2018 System) D - device uses DMA channel Uu - physical unit num- ber (0-7) if attached to multi-unit controller. Each entry is terminated with (CR)(LF). The order in which the en- tries are given deter- mines the unit reference number for the device (e.g., first entry be- comes unit-reference number 7; the second 10). To terminate EQT input, type /E (CR)(LF). -------------------- t See Appendix G. 13-3 Teleprinter Message Explanation Action *ERROR A non-numeric value Retype the entire cor- has been typed for nn, rect entry. ee, or u. SQT? t Request for EQT unit- Type number. -KYBD? reference number of unit serving as Keyboard In- put. -TTY? Request for EQT unit- Type number. reference number of unit serving as Teleprinter Output. -LIB? Request for EQT unit- Type number. reference number of unit serving as Program Li- brary. -PUNCH? Request for EQT unit- Type number. reference number of unit serving as Punch Output. -INPUT? Request for EQT unit- Type number. reference number of unit serving as Input. -LIST? Request for EQT unit- Type number. reference number of unit serving as List Output. DMA? Request for DMA chan- If one DMA channel, nel numbers. type 6. If two DMA chan- nels, type 6, 7. If no DMA channels, type 0. *ERROR A non-numeric param- Re-type correct param- eter or a parameter not eter. equal to 6 or 7 has been entered. After the Relocating Loader is loaded, PCS, requests the information needed to set the interrupt linkage for input/output processing. PCS halts after typing the mes- sage "INTERRUPT LINKAGE?" If the Teleprinter is serving both as the reader and the keyboard unit, turn reader off and press RUN. Begin typing response to message. Teleprinter Message Explanation Action INTERRUPT Request for interrupt For each I/O device, LINKAGE? information. type: a1,a2,I.ee a1 - interrupt location address a2 - location containing absolute address of Interrupt Proces- sor entry point. -------------------- t See Appendix G. 13-4 Teleprinter Message Explanation Action I.ee entry point name: ee = 00 Teleprinter = 01 Punched Tape Reader = 02 Tape Punch = 20 Kennedy Incremental Tape = Transport = 21 HP 2020 Magnetic Tape Unit = data chennel t = 43 Time Base Generator If a constant is to be set into the in- terrupt location, type: a,c a = interrupt location address c = 1 to 6 octal constant to be stored at a. Constants should be entered for the following instrument devices: Data Source Interface(D.40):1067sc (CLC sc,H) Integrating Digital Voltmeter(D.41) 0(NOP) Guarded Crossbar Scanner(D.42) 0(NOP) Each entry is terminated with (CR) (LF). *ERROR A non-numeric value Retype the entire correct entry has been typed for a1, a2, a or c. *UN NAME The name I.ee is not de- a) If the driver name was typed in- fined as an entry point correctly, retype the enter cor- in any I/O driver pre- rect entry. viosly loaded. b) If related driver is to be loaded with user's program at object program load time, type an ex- planation mark (!). $ The name is added to the Loader's LST. c) If the driver should have been loaded, rerun PCS. -------------------- t A second entry point must be defined for the command channel for the HP 2020A driver: C.21. $ The Scanning Driver (D.77) appears in the HP 2018 Library; "!" is the proper reply. 13-5 When the Interrupt Linkage parameters have been supplied, PCS performs the fol- lowing functions: 1. Prints the message "*UNDEFINED SYMBOL" followed by the entry point names of all system subroutines which have been referenced as externals but not loaded. At this point, PCS may be rerun and the missing subroutines loaded or, the symbols may be added to the Relocating Loader's Symbol Table. Undefined sym- bols are assigned a value of 77777 for an absolute address. 2. Completes the construction of the Loader Symbol Table. 3. Sets the Memory Table (symbol location .MEM.) in the Relocating Loader to reflect the final bounds of available memory. Following this, PCS prints a list of all Basic Control System entry points and the bounds of the System Linkage area in the Base Page. As a final step PCS produces the absolute BCS tape which can be loaded by the Basic Binary Loader. During final processing, the following messages may occur: Teleprinter Message Explanation Action *UNDEFINED An entry point in a BCS 1) To enter the symbol SYMBOL module can not be in the Loader Symbol (symbol) located Table, press RUN. 2) If the subroutine should have been loaded, rerun PCS. I/O DRIVER? A driver has been named 1) If the driver is to be D.ee in the EQT parameter loaded with user's entry, but has not been program at object loaded program load time, type an exclamation mark(!). The name is added to the Load- er's LST. 2) If the driver should have been loaded (or if a character other than ! is typed), re- run PCS. *BCS PCS is ready to punch Turn on punch unit and ABSOULUTE absolute output tape. press RUN. OUTPUT *END PCS run is complete. When the binary tape is punch the following halts may occur: T-Register Contents Explanation Action 102077 BCS tape is punched. To produce additional copies, set Switch 15 to 1 and press RUN. 102066 Tape supply low on the Place a new reel of tape 2753A Tape Punch. in Tape Punch and press RUN to continue. 13-6 PUNCH/VERIIFY ROUTINE DESCRIPTION The Punch/Verify routine permits the reproduction of punched paper tape regard- less of format, and the veSification of the copied tape. Any number of tapes may be reproduced and verified. For verification purposes, a tape may contain up to 15,752 characters (frames) for 8K memory or 7560 characters for 4K memory. The routine is designed to operate on a configuration including 8K memory, an HP 2737A Punched Tape Reader, and an HP 2753A Tape Punch. Modification of one word in memory allows operation on a 4K memory configuration. The routine includes equipment driver subroutines for the Punched Tape Reader, and the Tape Punch. The channel assignments for these devices are specified when- ever the routine is loaded. If more than one punch or verify operation is to be per- formed, the channel assignment function of the routine can be bypassed by setting Switch 0 to 1 (up). To reassign channels the routine must be reloaded. OPERATING PROCEDURES The following procedures indicate the sequence of steps for execution of the Punch/ Verify routine: A. Load the Punch/Verify routine using the Punched Tape Reader version of the Basic Binary Loader. Note: After loading, if 4K system is being used: a. Set Switch Register to 000364. Press LOAD ADDRESS. b. Set Switch Register to 007700. Press LOAD MEMORY. B. To perform a tape reproduction operation: 1. Set Switch Register to 000100. Press LOAD ADDRESS. 2. Press RUN. 3. The computer halts with 102001 in the T-Register. Set Switches 5-0 of the Switch Register to the channel number of the Punched Tape Reader. 4. Press RUN. 5. The computer halts with 102002 in the T-Register. Set Switches 5-0 of the Switch Register to the channel number of the Tape Punch. 6. Place master tape (tape to be duplicated) in the Punched Tape Reader unit. t 7. Press RUN. t The tape in the Punched Tape Reader is copied to the Tape Punch. 8. To reproduce another master tape, set Switch 0 to 1 (up) and return to Step 6. -------------------- t A master tape is assumed to have less than 30 consecutive feed frames for a leader and should have at least six inches of feed frames as a trailer. The routine inter- prets 30 consecutive feed frames as end-of-tape. If more than 30 feed frames ap- pear consecutively anywhere on the master tape, the computer halts. To repro- duce the feed frames on the output copy, press RUN each time the computer halts. 14-1 C. To perform a tape verification operation: 1. Set Switch Register to 000200. 2. Press LOAD ADDRESS. a. If a tape reproduction operation was just completed, set Switch 0 to 1 (up) to bypass channel assignment function. b. If this is initial operation of routine, press RUN. The computer halts with 102001 in the T-Register. Set Switches 5-0 of the Switch Register to the channel number of the Punched Tape Reader. 3. Place master tape (tape previously duplicated) in the Punched Tape Reader unit. 4. Press RUN. The master tape is ready into memory. 5. The computer halts with one of the following in the T-Register: a. If the T-Register contains 102001, the entire master tape is in mem- ory. b. If the T-Register contains 102077, the length of the master tape ex- ceeds available memory. Mark the location on master tape at which reading stopped and remove the tape from Punched Tape Reader; the tape requires two or more verification operations. 6. Place tape to be verified in the Punched Tape Reader unit. 7. Set Switch 15 to 1 (up). Press RUN. 8. When the computer halts with 102002 in the T-Register, the verification operation is complete; no differences were detected. a. To verify another tape (using the same master tape), return to Step C6. b. To perform a verification operation with a new master tape (or the next portion of the current master tape), return to Step C1. 9. If the computer halts with 102055 in the T-Register, a difference has been detected between the verification tape and the master tape as stored in memory. a. To determine the nature of the discrepancy: (1) The A-Register contains the word from the tape being verified. (2) To display the corresponding word from the master file in the T- Register, set Switch Register to 000362, press LOAD ADDRESS, and press DISPLAY MEMORY. b. To continue verification of the same tape, press RUN. (If the com- puter continues to halt on 102055 for each word read, a character has probably been lost on the copy being verified.) c. To verify another tape using the same master tape: (1) Set Switch Register to 000200. Press LOAD ADDRESS. (2) Return to Step C6. d. To perform a verification operation with a new master tape, return to Step C1. 10. If the tape being verified is read through the Reader without a halt, the tape did not have sufficient trailer (30 feed frames). 14-2 DEBUGGING ROUTINE The Debugging routine provides facilities to aid in program testing. It supervises the operation of a program in the check-out phase through the use of an interpretive mode of execution with simulated A, B, E, Overflow, and P Registers. The Debugging routine is a relocatable program. It is loaded into memory after the user's relocatable program and before the library subroutines are loaded. OPERATOR COMMUNICATION All communication between the Debugging routine and the operator is performed using the Standard Keyboard Input and Standard Teleprinter Output units which are normally assigned to a Teleprinter. After the program is loaded, the Debugging routine pauses to allow the first type-in. The operator then types one or more control statements to direct the operation of the Debugging routine. The last statement of the set must be a Run statement. When the operation is completed, a pause occurs (except for the Trace operation). The operator may continue by typing a Run statement, or other control statements may be entered first. To regain control at any other time, Switch 15 must be set up. CONTROL STATEMENTS The basic format of the control statement is a single alphabetic character followed by the parameters for the operation separated by commas. The statement is ter- minated by a (CR)(LF). Numeric fields must be in octal; leading zeroes may be omitted. M,a Defines the absolute origin in memory of the user's relocatable program (as speci- fied on BCS Loader listing). This value allows subsequent reference in other con- trol statements to addresses as shown on Assembler or FORTRAN program listings. If not specified, all control statement addresses must be absolute. S,a,v1,v2,...,vn Sets one or more values into locations defined by first address, a. To specify that an existing value remain unchanged, two consecutive commas are used. The con- trol statement can contain any number of values provided its length does not exceed 72 characters. W,r,v Sets the value, v, into register, r. r=A, A-Register =B, B-Register =E, E-Register =O, Overflow D,A,a1,a2 D,B,a1,a2 Dumps area of memory from al through a2. To dump one location, enter al=a2. A specifies ASCII listing; B specifies octal. 15-1 B,I,a B,O,a The first form specifies the address, a, of an instruction breakpoint. Before the instruction and the address is executed, the Debugging routine writes a standard breakpoint message. The second form is an operand breakpoint. When the Debugging routine detects an effect operand address equal to the value of a, it writes a standard breakpoint message. One or both breakpoint halts may be selected. Once selected, it remains in effect until a new address is selected, or until an A statement is entered, or until the selection is terminated with one of the following: B,I,0 B,I,0 T,a1,a2 Traces the execution of every instruction in the area al through a2. A standard breakpoint message is printed before each instruction is executed. Each time the area is reached, printing resumes. The area to be traced must not contain calls to .IOC. The trace area remains in effect until a new area is selected or until the selection is terminated with: T,0 R,[a] Initiates or continues program execution. If the letter R only is entered, execution starts with the next instruction. To resume at another location the address, a is specified. To start the program initially, the relative (if M statement entered) or absolute starting address must be specified. A Aborts all current debugging operations and clears all input/output operations in progress. Messages If a control statement is entered incorrectly, the following message is typed: ENTRY ERROR If the Debugging routine encounters 10 consecutive levels of indirect addressing, the following is typed: INDIRECT LOOP The standard breakpoint message consists of the following: P=v1 I=v2 A=v3 B=v4 E=v5 OV=v6 MA=v7 MC=v8 id = I, Instruction breakpoint = O, Operand Breakpoint = T, Trace = S, Switch 15 set up = H, Halt in program = L, Indirect loop 15-2 P - P-Register I - Instruction (contents) A - A-Register B - B-Register E - E-Register OV - Overflow MA - Effective operand address MC - Contents of effective operand address Dump The Dump output record format consists of the contents up to 8 consecutive words preceded by the address of the first word: addr. word1 word2 . . . word8 Octal: aaaaa oooooo oooooo . . . oooooo ASCII: aaaaa cc cc . . . cc Octal words consist of 6 octal digits; ASCII words are listed as two ASCII char- acters. The contents of eight or more consecutive words are not written or they are the same as the last word of the previous record. Instead, a record containing only an asterisk is produced. OPERATING PROCEDURES The following procedures indicate the sequence of steps for use of the Debugging routine. A. Set the Teleprinter to LINE and check that all equipment to be used is operable. B. Load Basic Control System using the Basic Binary loader. C. Set Switch Register to 000002, press LOAD ADDRESS, and set Switch Register to 000000. D. Establish Relocating Loader parameters, (If relocation base is to be entered during operation of the Debugging routine, the address must be obtained during loading by setting Switch 15 to 0 (down).) E. Load relocatable object programs. F. Load Debugging program (treated as a relocatable program). G. Load Program Library routines. H. Press RUN. I. The program pauses to allow the operator to type in the control statements. J. The program may be restarted at any point by entering the absolute address assigned to the symbolic location DEBRS into the P-Register, and pressing RUN. 15-3 FORTRAN COMPILATION DIAGNOSTICS Errors detected in the source program are indicated by a numeric code inserted before or after the statement in the list output. The format is as follows: E-eeee: ssss + nnnn eeee The error diagnostic code shown below. ssss The statement label of the statement in which the error was detected. In unlabeled, 0000 is typed. nnnn Ordinal number of the erroneous statement following the last labeled statement. (Comment statements are not in- cluded in this count.) Error Code Description 0001 Statement label error: a) The label is in positions other than 1-5. b) A character in the label is not numeric. c) The label is not in the range 1-9999. d) The label is doubly defined. e) The label indicated is used in a GO TO, DO, or IF state- ment or in an I/O operation to name a FORMAT state- ment, but it does not appear in the label field for any statement in the program (printed after END). 0002 Unrecognized statement: a) The statement being processed is not recognized as a valid statement. b) A specifications statement follows an executable state- ment. c) The specification statements are not in the following order: DIMENSION COMMON EQUIVALENCE d) A statement function precedes a specifications statement or follows an executable statement. 0003 Parenthesis error: There are an unequal number of left and right parentheses in a statement. 0004 Illegal character or format: a) A statement contains a character other than A through Z, 0 through 9, or space = + - / ( ) , . $ " . b) A statement does not have the proper format. c) A control statement is missing, misspelled, or does not have the proper format. A-1 Error Code Description 0005 Adjacent operators: An arithmetic expression contains ad- jacent arithmetic operators 0006 Illegalsubscript: A variable name is used both as a simple variable and a subscripted variable. 0007 Doubly defined variable: a) A variable name appears more than once in a COMMON statement. b) A variable name appears more than once in a DIMENSION statement. c) A variable name appears more than once as a dummy argument in a statement function. d) A program, subroutine, or function name appears as a dummy parameter or in a specifications statement. e) A subroutine or program name appears as a variable within the program. 0008 Too many parameters: The dummy parameters for a sub- routine or function exceed 63. 0009 Invalid arithmetic expression: a) Missimg operator. b) Illegal replacement. 0010 Mixed mode expression: Integer constants or variables ap- pear in an arithmetic expression with real constants or var- iables. 0011 Invalid subscript: a) Subscript is not an integer constant, integer variable, or legal subscript expression. b) There are more than two subscripts (i.e., more than two dimensions). c) Two subscripts appear for a variable which has been de- fined with one dimension only. 0012 Invalid constant: a) An integer constant is not in the range of 2**15 to 2**15-1. b) A real constant is not in the approximate range of 10**38 to 10**-38. c) A constant contains an illegal character. 0013 Invalid EQUIVALENCE statement: a) Two or more of the variables appearing in an EQUTVA- LENCE statement are also defined in the COMMON block. b) The variables contained in an EQUIVALENCE cause the origin of COMMON to be altered. c) Contradictory equivalence; or equivalence between two or more arrays conflicts with a previously established equivalence. A-2 Error Code Description 0014 Table overflow: Too many variables and statement labels appear in the program. 0015 Invalid DO loop: a) The terminal statement of a DO loop does not appear in the program or appears prior to the DO statement. b) The terminal statement of a nested DO loop is not within the range of the outer DO loop. c) DO loops are nested more than 10 deep. d) Last statement in a loop is a GO TO, arithmetic IF, RE- TURN, STOP, PAUSE, or DO. e) An indexing parameter is not an unsigned integer constant or simple integer variable or is specified as zero. 0016 Statement function name is doubly defined. 0017 A tape write error has occurred while producing interme- diate code output during Pass 1. A-3 ALGOL COMPILATION DIAGNOSTICS Syntax errors discovered by the ALGOL Compiler are indicated by five (5) asterisks and an error number on the line below the one containing the error. The symbol "^" appears below the symbol which caused the error. Due to the syntactic structure of ALGOL and the Compiler, it is possible for an error to introduce errors. Therefore, error messages after the first in a program may be spurious. Error Code Description 1 More than 2 characters used in an ASCII constant 2 @ not followed by an octal digit 3 Octal constant greater than 177777 4 Two decimal points in one number 5 Non integer following apostrophe 6 Label declared but not defined in program 7 Number required but not present 8 Missing END 10 Undefined identifier 11 Illegal symbol 12 Procedure designator must be followed by left parenthesis 13 Parameter types disagree 14 Name parameter may not be an expression 15 Parameter must be followed by a comma or right parenthesis 16 Too many parameters 17 Too few parameters 18 Array variable not followed by a left bracket 19 Subscript must be followed by a comma or right bracket 20 Missing THEN 21 Missing ELSE 22 Illegal Assignment 23 Missing Right Parenthesis 24 Proper procedure not legal in Arithmetic Expression 25 Primary may not begin with this type quantity 26 Too many subscripts 27 Too few subscripts 40 Too many external symbols 41 Declarative following statement 42 No parameters declared after left parenthesis 43 REAL, INTEGER, or BOOLEAN illegal with this declaration 44 Doubly defined identifier or reserved word found 45 Illegal symbol in declaration 46 Statement started with illegal symbol 47 Label not followed by a colon 48 Label is previously defined 49 Semicolon expected as terminator 50 Left arrow or := expected in SWITCH declaration 51 Label entry expected in SWITCH declaration 52 Real number assigned to integer 53 Constant expected following left arrow or := 54 Left arrow or := expected in EQUATE declaration 55 Left bracket expected in array declaration 56 Integer expected in array dimension 57 Colon expected in array dimension B-1 Error Code Description 58 Upper bound less than lower bound in array 59 Right bracket expected at end of array dimensions 60 Too many values for array initialization 61 Array size excessive (set to 2047) 62 Constant expected in array initialization 63 Too many parameters for procedure 64 Right parenthesis expected at end of procedure parameter list 65 Procedure parameter descriptor missing 66 VALUE parameter for procedure not in list 67 Illegal TYPE found in procedure declaration 68 Illegal description in procedure declaratives 69 Identifier not listed as procedure parameter 70 No type for variable in procedure parameter list 71 Semicolon found in a format declaration 72 Left parenthesis expected after I/O declaration name 73 Right parenthesis expected after I/O name parameters 74 Undefined label reference 75 Switch identifier not followed by a left bracket 76 Missing right bracket in switch designator 77 THEN missing in IF statement 78 DO missing in WHILE statement 79 FOR variable must be of type INTEGER 81 STEP symbol missing in FOR clause 82 UNTIL symbol missing in FOR clause 83 DO symbol missing in FOR clause 84 Parenthesis expected in READ/WRITE statement 85 Comma expected in READ/WRITE statement 86 Free field format (*) illegal with WRITE 87 Unmatched left bracket in I/O statement list 100 Program must with BEGIN, REAL, INTEGER or PROCEDURE 999 Table areas have overflowed, program is discontinued B-2 ASSEMBLER DIAGNOSTICS Errors detected in the source program are indicated by a 1- or 2- letter mnemonic followed by the sequence number and the first 62 characters of the statement in er- ror. Entry point errors.(Code EN) are printed on the page preceding the listing. The messages may occur during the passes indicated: Error Code Pass Description CS 1 Control statement error: a) The control statement contained a parameter other than the legal set. b) Neither A nor R, or both A and R were specified. c) There was no output parameter (B, T or L). DD 1 Doubly defined symbol: A name defined in the symbol table appears more than once as: a) A label of a machine instruction. b) A label of one of the pseudo operations: BSS EQU ASC ABS DEC OCT DEF Arithmetic subroutine call c) A name in the Operand field of a COM or EXT statement. d) A label in an instruction following a REP pseduo opera- tion. An arithmetic subroutine call symbol appears in a program both as a pseudo instruction and as a label. EN 0000 1 An entry point has been defined in the operand field of an EXT (symbol) or COM statement or has been equated to an absolute value. 2 An entry point specified in an ENT statement does not ap- pear in the label field of a machine or BSS instruction. IF 1 An IFZ or an IFN follows either an IFZ or IFN without an intervening XIF. The second pseudo instruction is ignored. IL 1 Illegal instruction: a) Instruction mnemonic cannot be used with type of as- sembly requested in control statement. The following are illegal in an absolute assembly. NAM EXT ENT COM ORB Arithmetic subroutine calls b) The ASMB statement has an R parameter, and NAM has been detected after the first Opcode. c) Illegal character in a literal. C-1 Error Code Pass Description IL 2 or 3 Illegal character: A numeric term used in the Operand field contains an illegal character (e.g., an octal constant con- tains A-Z, 8 or 9). Illegal instruction: ORB in an absolute assembly. M 1,2, or 3 Illegal operand: a) An operand is missing for an Opcode requiring one. b) Operands are optional and omitted but comments are in- cluded for: SOC SOS HLT c) An absolute expression in one of the following instructions from a relocatable program is greater than 77(8): Memory Reference DEF Arithmetic subroutine calls d) A negative operand is used with an Opcode field other than ABS, DEC, and OCT. e) A character other than I follows a comma in one of the following statements: ISZ ADA AND DEF JMP ADB XOR Arithmetic JSB LDA IOR subroutine LDB CPA calls STA CPB STB f) A character other than C follows a comma in one of the following statements: STC MIB CLC OTA LLA OTB LIB HLT MIA g) A relocatable expression in the Operand Field of one of of the following: ABS or REP h) An illegal operator appears in an Operand field (e.g., + or - as the last character). i) An ORG statement appearing in a relocatable program includes an expression that is base page or common re- locatable or absolute. j) A relocatable expression contains an illegal mixture of program, base page, and common relocatable terms. k) An external symbol appears in an operand expression or is followed by a comma and the letter I. C-2 Error Code Pass Description l) The literal or type of literal is illegal for operation code used. m) Operand of EAU shift-rotate instruction = 0 or >16. NO 1 No origin definition: The first statement in the assembly containing a valid Opcode following the ASMB control state- ment and remarks, if any is neither an ORG nor NAM state- ment, If the A parameter was given on the ASMB statement, the program is assembled starting at 2000; if a R parameter was given, the program is assembled starting at zero. OP 1 Illegal Opcode following control statement: A valid Opcode has not yet been encountered and the statement being proc- essed does not contain an asterisk in position one. The statement is assumed to contain an illegal Opcode; it is treated as a remarks statement OP 1, 2, or 3 Illegal Opcode: A mnemonic appears in the Opcode field which is not valid for the hardware configured in an As- sembler being used. A word is generated in the object program. OV 1, 2, or 3 Numeric operand overflow: The numeric value of a term or expression has overflowed its limit: 2**6-1 Input/Output, Overflow, Halt 2**10-1 Memory Reference 2**15-1 DEF and ABS operands; data gener- ated by DEC; expressions concerned with program location counter. 2**16-1 OCT R? Before 1 An attempt is being made to assemble a relocatable pro- gram following the assembly of an absolute program. The Assembler must be reloaded. SO 1 There are more symbols defined in the program than the symbol table can handle. SY 1 Illegal Symbol: A Label field contains an illegal character or is greater than 5 characters. A label with illegal char- acters may result in an erroneous assembly if not corrected. A long label is truncated on the right to 5 characters. SY 2 or 3 a) Illegal Symbol: A symbolic term in the Operand field is greater than five characters; the symbol is truncated on the right to 5 characters. b) Too many control statements: A control statement has been entered on the Teleprinter and the source tape. The second control statement (on the tape) is interpreted as an illegal label (since it begins in position 1). The binary object tape is not affected by this error; the con- trol statement entered via the Teleprinter is the one used by the Assembler. C-3 Error Code Pass Description TP 1, 2, or 3 An error has occurred while reading or writing magnetic tape, if the T-register contains 102040, an irrecoverable error has occurred; restart assembly. Otherwise, correct condition and resume. UN 1, 2, or 3 Undefined symbol: a) A symbolic term in an Operand field is not defined in the Label field of an instruction or is not defined in the Operand field of a COM or EXT statement. b) A symbol appearing in the Operand field of one of the following pseudo operations was not defined previously in the source program: BSS ASC EQU ORG END C-4 FORTRAN/ALGOL INPUT/OUTPUT DIAGNOSTICS During execution of an object program, diagnostics may be printed on the Standard Teleprinter Output unit by the input/output routine (FRMTR) supplied for FORTRAN nd ALGOL programs. t When a halt occurs, the A-Register contains a code which further defines the nature of the error: Teleprinter Message A-Register Explanation Action *EQR Unit Refer- Equipment error: Place next tape in input ence Number End of input tape on device, or for Tape on 2752A Teleprinter or Punch, load new reel of 2737A Punched Tape tape. Press RUN. Reader; tape supply low on 2753A Tape Punch. B-Register contains status word of Equip- ment Table entry. *FMT 000001 FORMAT error: Irrecoverable error; a) Word field does not program must be re- contain proper digits. compiled. b) No decimal point after w field. c) w-d <= 4 for E specifi- cation. *FMT 000002 a) FORMAT specifica- Irrecoverable error; tions are nested more program must be re- than one level deep. compiled. b) A FORMAT statement contains unequal number of right pa- rentheses and left pa- rentheses. *FMT 000003 a) Illegal character in Irrecoverable error; FORMAT statement. program must be re- b) Format repetition compiled. factor of zero. c) FORMAT statement defines more char- acter positions than possible for device *FMT 000004 Illegal character in fixed Verify data. field input item or num- ber not right-justified in field. *FMT 000005 A number has an illegal Verify data. form (e.g., two E's, two decimal points, two signs, etc.). -------------------- t The object program need not be generated by FORTRAN or ALGOL; Assembler language programs can refer to FRMTR through the entry point .DIO. D-1 PROGRAM LIBRARY DIAGNOSTICS During the execution of an object program referring to the PROGRAM Library rou- tines, the following error codes may be printed on the Teleprinter Output unit when error conditions are encountered by the specified subroutine: Error Code Subroutine Condition 02 UN ALOG x <= 0 03 UN SQRT x < 0 04 UN .RTOR x = 0, y <= 0 x < 0, y != 0 05 OR SIN, COS |x| > 2**14 06 UN .RTOI x = 0, i <= 0 07 OF EXP |x| * log2(e) > 124 08 OF .ITOI i**j out of range 08 UN .ITOI i = 0, j <= 0 09 OR TAN |x| > 2**14 E-1 .IOC. OBJECT PROGRAM DIAGNOSTICS During the execution of an object program referring to .IOC. certain error condi- tions may occur. They are termed irrecoverable and cause a halt. t Diagnostic information is displayed in the A- and B-Registers at the time of the halt. The B-Register contains the absolute location of the JSB instruction of the request call containing the illegal condition. The A-Register contains a code defining the illegal condition: A-Register Explanation 000000 Illegal request code. 000001 Illegal unit-reference number on request. 000002 The Standard unit re- quested is not defined as a particular device in the Equipment Table. -------------------- t The halt is at the absolute location assigned to the symbol IOERR during Prepare Control System processing. F-1 UNIT-REFERENCE NUMBER ASSIGNMENT The Basic Control System allows reference to input/output equipment through use of unit-reference numbers. The relationship between a unit-reference number and a particular device is established during Prepare Control System processing. Unit-reference numbers are divided into two categories: Standard units and instal- lation units. The Standard units have "standard" usage among user programs and the standard software systems (Startard unit names are used to describe the oper- ating procedures for the systems). Installation unit numbers are defined for each configuration. An installation unit-reference number and one or more Standard unit-reference numbers may all represent the same physical device; they are linked through tables interfnal to BCS or defined according to parameters supplied to the SIO Dump routine. The table below may be used to record the assignment of input/output equipment for a particular installation. Unit-Reference Standard Unit Typical Equipment Actual Equipment Channel Number Name Type Type Number 1 Keyboard Input 2752 Teleprinter ________________ _______ 2 Teleprinter 2752 Teleprinter ________________ _______ Output 3 Program 2737A Punched ________________ _______ Library Tape Reader t 4 Punch Output 2753A Tape Punch ________________ _______ 5 Input 2737A Punched ________________ _______ 6 List Output 2752A Teleprinter ________________ _______ INSTALLATION UNITS Unit-Reference Actual Equipment Channel Number Type Number 7 ________________ _______ 10 ________________ _______ 11 ________________ _______ 12 ________________ _______ 13 ________________ _______ 14 ________________ _______ 15 ________________ _______ 16 ________________ _______ 17 ________________ _______ 20 ________________ _______ -------------------- t For Magnetic Tape System, the Program Library is assigned to the HP 2020A Magnetic Tape Unit. G-1 2752A TELEPRINTER OPERATING INSTRUCTIONS A. Loading or replacing paper tape: 1. Set Teleprinter to LOCAL. 2. Press ON button on punch unit. 3. If replacing old reel, tear tape between reel and punch unit, press HERE IS to remove remaining tape from punch unit, and lift out old reel. 4. Insert paper tape spindle in new tape reel and place reel into tape slot. Tape should come off top of reel. [PHOTO] 5. Feed tape as far as possible into slot in rear of punch. [PHOTO] 6. Press HERE IS until tape feeds through punch unit. H-1 B. Preparing for tape punching: 1. Set Teleprinter to LOCAL. 2. Press ON button on punch unit. 3. Press HERE IS at least twice to produce sufficient leader for tape to be punched. 4. If an input tape is to be punched, set Teleprinter to LOCAL. If computer output is to be produced, set Teleprinter to LINE. [PHOTO] H-2 C. Reading a punched tape: 1. Set Teleprinter to LOCAL, press OFF button on punch unit, and set Control Lever to STOP. 2. Release tape lid by pressing tape lid latch handle. [PHOTO] 3. Place tape in reader unit with feed holes toward the tape lid hinge and on the feed wheel. The tape should feed into the reader smoothly. 4. Press the tape lid down. t [PHOTO] -------------------- t With tape lid down, to pull tape through read unit, set control lever to FREE. H-3 5. Set Teleprinter to LINE. 6. Set control lever to START. 7. Initiate program execution. D. Printing a previously punched tape: 1. Set Teleprinter to LOCAL, press OFF button on punch unit, and set control lever to STOP. 2. Release tape lid by pressing tape lid latch handle. 3. Place tape in reader unit with feed holes toward the tape lid hingh and on the feed wheel. The tape should feed into the reader smoothly. 4. Press the tape lid down. 5. Set control elver to START. E. Preparing a copy of previously punched tape. Perform same procedures as for printing, but press ON buffer on punch unit. H-4 2737A PUNCHED TAPE READER OPERATING INSTRUCTIONS 1. Set power switch ON. To prepare for loading tape, place in LOAD position, by pressing RUN tab down. 2. Place tape in holder with feed holes toward the panel and positioned so that the tape will unwind counter clockwise when it is being read. [PHOTO] 3. Feed tape through reader from left to right. The first data frames must be to the left of the read element. The tape leader must pass between the rollers on the right. [PHOTO] I-1 4. Place in RUN position by pressing up LOAD tab. [PHOTO] 5. To unload tape after it has been loaded or read, press RUN tab down and re- move tape. I-2 2753A TAPE PUNCH OPERATING INSTRUCTIONS Threading Tape 1. Before running a new roll of tape, always empty the chadbox to avoid clogging the mechanism with chad overflow. Grasp the box near its bottom and pull straight out, then lift the box off its hooks. 2. To insert a new roll of tape in the punch, pull the tape supply slide out of the panel. It is held by a magnetic catch. Pull the supply reel apart, and replace the old roll with the new one. Place it so the tape comes off the top of the reel. Put the side back on the reel. Thread the tape under the tape guide roller and back up to the top of the assem- bly. Hold the end of the tape while sliding the tape supply assembly back into place. The magnetic catch will click as it contacts the assembly. 3. Move the tape tension arm on the take-up reel to the left as far as it will go. Do not force it; it will hold in that position. Note: Many units use the Clock- wise Reeling option. On these units, the tape tension arm should be moved to the right. 4. Press the retainer release tab, allowing the retainer to move away from the capstan. Twist the tape one-half turn clockwise. To facilitate threading, tear the tape end diagonally, with the longer edge toward the panel. Thread the tape through the tape guide assembly and over the tape guide roller. The tape ten sion arm is to the left and out of the way at this time. Fasten the tape to the hub of the take-up reel. Feed enough tape into the reel to insure its staying on. 5. Move the tension arm to the right so that it contacts the tape. Push the retainer back against the capstan; it will lock in place. 6. Set power switch on. 7. Press the Tape Feed switch momentarily before starting to record, to provide several inches of sprocket tape. Check to see that the tape pulls smoothly through the punch, without binding or twisting. The punch is now ready for operation. [PHOTO] J-1 CONSOLIDATED CODING SHEET ----------------------------------------------------------------------------- | 15 | 14 13 12 | 11 10 9 | 8 7 6 | 5 4 3 | 2 1 0 | |-----------------------------------------------------------------------------| | D/I | AND 001 | 0 Z/C |<------------- Memory Address --------------->| | D/I | XOR 010 | 0 Z/C | | | D/I | IOR 011 | 0 Z/C | | | D/I | JSB 001 | 1 Z/C | | | D/I | JMP 010 | 1 Z/C | | | D/I | ISZ 011 | 1 Z/C | | | D/I | AD* 100 | A/B Z/C | | | D/I | CP* 101 | A/B Z/C | | | D/I | LD* 110 | A/B Z/C | | | D/I | ST* 111 | A/B Z/C | | |-----------------------------------------------------------------------------| | 15 | 14 13 12 | 11 10 9 | 8 7 6 | 5 4 3 | 2 1 0 | |-----------------------------------------------------------------------------| | 0 | SRG 000 | A/B 0 D/E | *LS 000 | CLE D/E SL* | *LS 000 | | | | | *RS 001 | | *RS 001 | | | | | R*L 010 | | R*L 010 | | | | | R*R 011 | | R*R 011 | | | | | *LR 100 | | *LR 100 | | | | | ER* 101 | | ER* 101 | | | | | EL* 110 | | EL* 110 | | | | | *LF 111 | | *LF 111 | | | | NOP 000 | 000 | 000 | 000 | |-----------------------------------------------------------------------------| | 15 | 14 13 12 | 11 10 9 | 8 7 6 | 5 4 3 | 2 1 0 | |-----------------------------------------------------------------------------| | 0 | ASG 000 | A/B 1 | CL* 01 | CLE 01 | SEZ SS* SL* | IN* SZ* RSS | | | | | CM* 10 | CME 10 | | | | | | | CC* 11 | CCE 11 | | | |-----------------------------------------------------------------------------| | 15 | 14 13 12 | 11 10 9 | 8 7 6 | 5 4 3 | 2 1 0 | |-----------------------------------------------------------------------------| | 1 | IOG 000 | A/B 1 H/C HLT 000 | <----- Select Code -----> | | | | 1 0 STF 001 | | | | | 1 1 CLF 001 | | | | | 1 0 SFC 010 | | | | | 1 0 SFS 011 | | | | | 1 H/C MI* 100 | | | | | 1 H/C LI* 101 | | | | | 1 H/C OT* 110 | | | | | 0 1 H/C STC 111 | | | | | 1 1 H/C CLC 111 | | | | | 1 0 STO 001 | 000 001 | | | | 1 1 CLO 001 | 000 001 | | | | 1 H/C SOC 010 | 000 001 | | | | 1 H/C SOS 011 | 000 001 | |-----------------------------------------------------------------------------| | 15 | 14 13 12 | 11 10 9 | 8 7 6 | 5 4 3 | 2 1 0 | |-----------------------------------------------------------------------------| | 1 | EAG 000 | MPY** 000 010 | 000 | 000 | | | | DIV** 000 100 | 000 | 000 | | | | DLD** 100 010 | 000 | 000 | | | | DST** 100 100 | 000 | 000 | | | |----------------------------|---------------------------| | | | ASR 001 000 | 0 1 | | | | | ASL 000 000 | 0 1 | number | | | | LSR 001 000 | 1 0 | <---- of ----> | | | | LSL 000 000 | 1 0 | bits | | | | RRR 001 001 | 0 0 | | | | | RRL 000 001 | 0 0 | | ----------------------------------------------------------------------------- * = A or B D/I, A/B, Z/C, H/C coded 0/1 **Second word is Memory Address