Digital PDFs
Documents
Guest
Register
Log In
DEC-08-NGCB-D
December 2000
156 pages
Original
4.1MB
view
download
Document:
dec-08-ngcb-d
Order Number:
DEC-08-NGCB-D
Revision:
Pages:
156
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/dec-08-ngc/dec-08-ngcb-d.pdf
OCR Text
Digital Equipment Corporation Maynard, Massachusetts . mflEflIEn DEC-08-NGCB-D SYSTEM. USER’S GUIDE FOR PDP-S/I PDP-B/L AND N PDP—B PDP—B/S PUP—5 For additional copies order No. DEC—08-NGCB-D from Program Equipment Corporation, Maynard, Mass. DIGITAL EQUIPMENT CORPORATION Library, Digital Price 0 $3 .00 MAYNARD, MASSACHUSETTS Printed in U.S.A. Ist Printing December 1966 2nd Printing (Rev) August 1968 3rd Printing February 1969 4th Printing (Rev) March 1969 5th Printing May 1969 Your attention is invited to the last two pages of this manual. The How To Obtain Revisions and Corrections offers you a means of keeping up-to-date with DEC's software. The Reader's Comments Card, when filled in and returned, is beneficial to both you and DEC. Each card received is considered when document— ing subsequent manuals, and where the comments imply or ask for assistance, a knowledgeable DEC representative will contact you. Copyright© 1966, 1968, 1969 by Digital Equipment Corporation Documents Referenced: Read-In Mode Loader DEC-08- LRAA-D Binary Loader D EC- 08- LBAA- D HELP Loader D EC—08- LHAA- D Symbolic Tape Editor PAL III Symbolic Assembler D EC- 08- ESAB- D MACRO-8 Assembler DDT-8 ODT-8 DEC—08-CMAA- D D EC-08-C DAA- D DEC—O8—COCO- D FOCAL DEC—08—AJAC-D DEC—08-AFCO-D DEC-08-A2A0-D D EC—O8— LUAA-D DEC-O8-SUBO-D D EC-08- EUFA- D D EC- D8-S DAA- D FORTRAN (4K) FORTRAN (8K) TC01 Bootstrap Loader DECtape Programming TC01/TU55 DECtape Formatter Disk Monitor System PDP-8 Users Handbook Small Computer Handbook DEC-08—ASAC-D F-85 C-800 The Following are registered trademarks of Digital Equipment Corporation, Maynard, Massachusetts: DEC PDP F LIP CHIP FOCAL DIGITAL COMPUTER LAB CONTENTS SECTION 1 INTRODUCTION Console Switch Positioning Introduction How To Use The Guide System and Utility Programs Computer Console Switches and Indicators Switches Indicators ASR33 Teletype Power Controls Printer Keyboard Paper Tape Reader Paper Tape Punch High-Speed Tape Reader and Punch Units Reader Unit Punch Unit DECtape Control and Transport Units Control Unit Transport Unit Initializing the System Paper Tape Formats Abbreviations SECTION 2 SYSTEM PROGRAMS Read—In Mode (RIM) Loader Purpose Storage Requirements Loading Binary (BIN) Loader Purpose Storage Requirements CONTENTS Loading HELP Loader Purpose Storage Requirements Loading Symbolic Tape Editor Purpose Storage Requirements Loading Operating Modes Restart Procedures Special Key Functions Search Feature In Command Mode Switch Register Options Commands Buffer Overflow Diagnostics PAL III Symbolic Assembler Purpose Storage Requirements Loading Output Control Diagnochs MACRO-8 Symbolic Assembler Purpose Storage Requirements Loading Symbol Table Modifications Switch Register Options Diagnostics DDT-8 Purpose Storage Requirements Loading (Cont) CONTENTS (Cont) Restart Procedure Editing Notes Commands Diagnostics CDT-8 Purpose Storage Requirements Loading Commands Relocating the Breakpoint Restrictions Diagnostics FOCAL Purpose Storage Requirements Optional Equipment Loading Initial Dialogue Commands The Trace Feature Control Characters Summary of Functions Arithmetic Operations Overload Recovery Loading Program Tapes Estimating Length of User's Program Calculating Trigonometric Functions Diagnostics FORTRAN (4K) Purpose Storage Requirements Loading Symbolprint CONTENTS (Cont) Input/Output Control DECtape I/O Statements Option Dynamic Error Correction Diagnostics FORTRAN (8K) Purpose Storage Requirements Equipment Requirements Loading Diagnostics SECTION 3 DECTAPE TC01 Bootstrap Loader Purpose Storage Requirements Required Equipment Loading DECtape Library System Purpose Storage Requirements Equipment Requirement Loading Library System SECTION 4 DISK MONITOR SYSTEM Disk System Builder Purpose Storage Requirements Equipment Requirements Loading Building a Monitor System Modes vi CONTENTS (Cont) Disk System Bootstrap Loader Purpose Storage Requirements Required Equipment Loading Disk System Program Library Purpose Storage Requirements Loading Disk Library SECTION 5 SYSTEM DEMONSTRATIONS System Demonstrations A FORTRAN Program Calling a PAL III Subprogram A FOCAL Program Calling a PAL III Subprogram A FOCAL Program APPENDIX A ASCII CHARACTER SET APPENDIX B GLOSSARY OF TERMS APPENDIX C OFF-LINE TAPE PREPARATION AND EDITING APPENDIX D SUMMARY OF PDP—8/I SUBROUTINES ILLUSTRATIONS INTRO-I PDP—8/I Computer Console INTRO-2 ASR33 Teletype Console INTRO—3 ASR33 Teletype Keyboard INTRO-4 High-Speed Paper Tape Reader and Punch Units INTRO-5 DECtape Transport Unit RIM—I Loading the RIM Loader RIM-2 Checking the RIM Loader BIN-i Loading the BIN Loader vii ILLUSTRATIONS (Cont) BIN-2 Loading a Binary Coded Object Tape Using BIN HELP-l Loading the HELP Loader HELP-2 Checking the HELP Loader HELP-3 Loading the HELP Bootstrap Tape Into Core EDIT—I Generating a Symbolic Program On-Line Using Editor EDIT—2 Generating A Symbolic Tape Using Editor EDIT-3 Loading a Symbolic Tape Using Editor PAL-l Assembling with PAL III Using Low-Speed Reader/Punch PAL-2 Assembling with PAL 111 Using High-Speed Reader/Punch MACRO—T Assembling a MACRO-8 Source Program Using the Low-Speed Reader/Punch MACRO-2 Assembling a MACRO-8 Source Program Using the High—Speed Reader/Punch DDT-I Loading and Executing DDT-8 DDT—2 Loading DDT—8 and External Symbol Table Tapes (LSR Only) DDT-3 Appending New Symbols to External Symbol Table DDT—4 Generating New External Symbol Tape Off-Line (TTY and LSP Only) ODT—i Loading and Executing CDT-8 ODT-2 Generating Binary Tape Using High-Speed Punch FOCAL-i Activating FOCAL For Use FORTRAN (4)-l Compiling a FORTRAN Program FORTRAN (4)-2 Generating a Memory Map Using Symbolprint FORTRAN (4)—3 Loading 0 Compiled FORTRAN Program FORTRAN (4)-4 Executing 0 Compiled FORTRAN Program FORTRAN (8K )-i Loading BIN into Data Field l Using RIM with HSR FORTRAN (8K )-2 Loading FORTRAN Compiler (Pass I or 2) Into Field 1 Using BIN with HSR FORT RAN (8K )—3 Executing Pass 1 of the FORTRAN Compiler FORTRAN (8K )-4 Executing Pass 2 at" the FORTRAN Compiler FORTRAN (8K )-5 Loading Relocating Linking Loader using BIN with HSR FORTRAN (8K )-6 Loading Relocatable Binary Tapes Using the Relocating Linking Loader FORTRAN (8K)-7 Executing Stored FORTRAN (8K) Program DECTAPE—i Toggling in TCOI Bootstrap Loader DECTAPE—Z Loading the TCOI Bootstrap Loader Using RIM DECTAPE-3 Checking TCOl Bootstrap Loader DECTAPE-4 Loading DECtape Library System Using TCOI Bootstrap Loader DISK-l Loading the Disk System Builder Using the BIN Loader viii PREFACE The purpose of this guide is twofold: new user (T) To familiarize the with the PDP-8 Family of computers and its input/output devices, and to serve as a useful reference for the experienced user. (2) To fur— nish precise instructions on how to load, execute, and operate DEC's system and utility programs with and without extended memory, DECdisk, and DECtape facilities. The first section explains the use of switches and indicators on the computer, Teletype, high-speed paper tape reader/punch, and DECtape transport consoles, and other general information. Precise operating pro- cedures for using DEC's software is found in the second section. Subsequent sections cover the use of the DECtape transport unit, the Disk Monitor System, and demonstrations of the system in use. a The appendices include glossary of terms, and other useful information. Unless specified, flowcharts apply equally to the PDP—8/l, 8, 8/5, and 8/L computers, as does the text even though reference is usually made only to the PDP-8/l. Details on peripherals not covered in this guide can be found in the PDP-8 Users Handbook (F-85), (C-800), and other DEC publications. PDP-8/l Small Computer Handbook SECTION I INTRODUCTION mmommmww Figure INTRO-l CONSOLE SWITCH PDP-8/I Computer Console POSITIONINCfl PDP—8/I When the top of a switch is out (push the bottom of the switch in) it represents a binary l or is considered set, conversely, when the bottom of the switch is out it represents a binary 0 or is not set. PDP-8, 8/S, and 8/L When the switch is up it represents a binary l or is considered set, conversely, when the switch is dOWn it represents a binary 0 or is not set. Note: PDP and Programmed Data Processor are registered trademarks of Digital INTRO-0 Equipment Corporation. INTRO DUCTION This System User's Guide is intended for use at the PDP-8/I computer ting with DEC's software. on i l console when opera- The purpose of the guide is to furnish the user precise instructions how to load, execute, and operate DEC's system and utility programs with and without DECtape, and DECdisk2. extended memory, This section briefly defines each program (see tabs) in Section 2, and will familiarize the new user with the switches and indicators on the computer console, as well as the controls, keys, and switches on the Teletype, high—speed paper tape reader/punch, and DECtape transport consoles. Subsequent subsections describe the various paper tape formats, the procedures for initializing the computer and input/output (I/O) devices, a list of the abbre— viations used herein, and other general information. serves as a For the experienced user, this section handy source of frequently needed information. Section 2 is tab indexed by system and utility program. The purpose of each program is given, followed by specific core memory requirements and program origin, possible optional hardware, step—by-step instructions (detailed in flowcharts) for loading, executing, and operating the program, summaries of on-line commands and error diagnostics if any, and other useful information . Section 3 covers the use of DECtape. are The TCOl/TU55 Bootstrap Loader and Library System briefly described, and their operation is thoroughly detailed. The five permanent Library System subprograms are defined, and where applicable, system questions are shown, explained, and answered. Section 4 explains the use of the Disk System Builder and briefly describes the library of system and utility programs presently available with the Disk Monitor System. Section 5 contains three runnable programs to demonstrate the ease with which DEC's system, utility, and service programs can be used. The new user can familiarize himself with his PDP-8/I and DEC-supplied software by duplicating the demonstration programs. 1 Unless specified, reference to the PDP-8/I computer also applies to the PDP—8, PDP-8/S and PDP—8/L computers. 2 DEC's disk system is thoroughly documented in the PDP-8/I Disk Monitor System (DEC-D8—SDAA-D). INTRO-i The appendices include a list of the ASCII (USA Standard Code for Information Interchange) Character Set, a short glossary of terms, and a summary of the presently available PDP-8/I subroutines. HOW TO USE THE GUIDE The user should be acquainted with the material in Section I before attempting to operate the system, and then the guide should be made available to the user during system operation. The programs herein are arranged generally in their order of use, i.e. the assemblers and the assemblers precede the debugging programs. , the loaders precede Therefore, as the user progresses from one phase of operation to the next he will also progress from one section of the guide to the next. By scanning the tabs, the user has fast access to the essential opera- ting information for any system or utility program. SYSTEM AND UTILITY PROGRAMS All system and utility programs require at least a 4K PDP-8/I computer with an ASR33 Tele— type, and can utilize a high-speed paper tape reader/punch, with the following exceptions. a. The HELP Bootstrap tape of the HELP Loader is read into core using the low—speed (Teletype) reader only. b. FORTRAN (8K) requires at least an 8K PDP—8/I computer with a high-speed paper tape reader/punch . Each tabbed program in Section 2 is briefly defined below. Read—In Mode (RIM) Loader, used to load into core memory programs punched on paper tape in RIM format (see PAPER TAPE FORMATS), Loader. Bi however, it is primarily used to load the BIN (See DEC-08—LRAA-D.) nary (BIN) Loader, used to load into core memory programs punched on paper tape in BIN format (see PAPER TAPE FORMATS), which includes the user's obiect programs and all programs tabbed in Section 2, excluding the RIM, BIN, and HELP Loaders. DEC-supplied paper tapes in BIN format are identified by a blue Digital label on the leader portion of the tape (red Digital labels denote ASCII format). (See DEC-08-LBAA-D.) HELP Loader, used to load into core memory programs punched on paper tape in BIN format. HELP is in two parts: core the first part consists of H8 instructions which must be toggled into using the computer console switches; the second part is the HELP Bootstrap tape which INTRO—2 is read into core using the low-speed (Teletype) reader--the HELP the RIM and BIN Loaders. Bootstrap tape contains (See DEC-OB-LHAA—D.) Symbolic Tape Editor, used to prepare, edit, and generate symbolic (source) program tapes on—line From the Teletype keyboard. (See DEC-OB-ESAB—D.) PAL III Symbolic Assembler, used to translate source programs written in the PAL III language into obiect programs in two passes through the Assembler. an The optional third-pass produces octal/symbolic listing of the assembled program. (See DEC-08—ASAB-D.) MACRO-8 Assembler, used to translate source programs written in the MACRO-8 language, containing macros and literals, into obiect programs in two passes through the Assembler. This Assembler also generates indirect linkages to off-page references. pass produces an octal/symbolic assembly listing. The optional third- (See DEC-O8—CMAA-D.) Dynamic Debugging Technique (DDT-8), used to aid the user in finding mistakes in his program by allowing him to execute small sections at a time, to stop execution where he wishes, and to change portions of his program, all From the keyboard using the symbolic language of the source program. (See DEC—OB-CDDA-D.) Octal Debug_gi_ng Technique (CDT-8), used for the same purpose as DDT—8 (above) except that the user communicates in the octal representation of the program. core area ODT-8 requires less than DDT-8, and it can be loaded in either the upper or lower portion of core, depending on where the user's program is loaded. (See DEC-08—COCO-D.) FOCAL (FOrmula CALculator), an on—line, conversational, service program used to solve numerical problems of any complexity; used as a programming tool by students, scientists, and engineers. (See DEC—OB-AJAC—D.) FORTRAN (4K), used to compile and operate a user program written in the 4K PDP-8 version of the FORTRAN language; compilation requires only one pass through the compiler. (See DEC-08—AFCO—D.) FORTRAN (8K), used to compile, debug, and operate a user program written in Basic FORTRAN (as described in USA Standards); consisting of a two-pass compiler, Linking Loader, Run-Time Monitor, Operating System, and a library of subprograms. INTRO-3 (See DEC-08—A2AO-D.) TCOl Bootstrap Loader, used to load and start the DECtape Library System. (See DEC—O8- LUAA-D.) DECtape Library System, is a collection of five programs (INDEX, ESCAPE, UPDATE, DELETE, and GETSYS), used to load named files into core memory, define new named files, delete named files, and to create a new skeleton library system. (See DEC—08-SUBO-D.) Disk System Builder, used to build a customized Disk Monitor System suited to the user's particular machine configuration. (See DEC-D8-SDAA-D.) Disk/DECtape Bootstrap Loader, is used only when the resident Monitor area has been cleared or its contents otherwise destroyed. (See DEC-D8—SDAA-D.) The [standard Disk System Program Library, is a collection of system and utility programs. package includes an Editor, Assembler, transparent DDT, FORTRAN system, Peripheral Interchange Program (PIP), and a transparent Loader. (See DEC-D8-SDAA-D.) Certain programs can operate using extended memory, DECtape, and/or Disk facilities. They are: a. Extended Memory - FORTRAN (8K); Disk Monitor System programs. DECtape DECtape Bootstrap Loader and Library System; Disk Monitor System programs; FORTRAN (4K) with DECtape option (see DEC-O8-AFCO-D). -- c. Disk - Disk Monitor System programs. COMPUTER CONSOLE SWITCHES AND INDICATORS Manual control of the PDP—8/I computer is by means of switches on the computer console. Indicator lamps on the console light to denote the presence of a binary one in specific bits of the various registers and to indicate the status of the computer or of the program being executed. See PDP-B Users Handbook (F-85) for details. The locations of the switches and indicators are shown in Figure INTRO-l . The purpose of each switch and indicator on the computer console is explained below. SWITCHES POWER This key-operated switch applies and removes the computer's primary power supply. INTRO-4 PANEL LOCK This key-operated switch when turned clockwise disables all console switches except the SR; turned counterclockwise, all console switches function normally. Executes the stored computer program, starting at the address specified in START the PC. LOAD ADDress Sets the contents of the SR into the PC, and INST FIELD into the IF, and the DATA FIELD into the DF. DEPosit Deposits the contents of the SR into the location specified by the PC, and increments the PC by I. PDP-8/l -- The DEP switch is activated when the top of the switch is depressed. PDP-8, 8/5, -— and 8/L The DEP switch is activated when the switch is raised. EXAMine Displays the contents of the location in the PC in the MB, and increments the PC by I. CONTinue Continues program execution at the location specified by the PC. STOP Stops program execution. SIN Gle STEP When set, the computer executes instructions one cycle at a time for each depression of CONT . SINGle INSTruction When set, the computer executes one instruction at a time for each de- SWITCH When LOAD ADD is depressed, the contents of the SR is loaded into the REGISTER (SR) pression of CONT PC. . When DEP is depressed, the contents of the SR is loaded into the MB The I2 positions represent a I2-bit binary word, usually and memory. read in octal. DATA FIELD (DF) Denotes the core memory field of data storage and retrieval when LOAD ADD is depressed. INSTruction FIELD (IF) Denotes the core memory field from which instructions are taken when LOAD ADD is depressed. INDICATORS PROGRAM COUNTER Contents represent the address of the next instruction to be executed. (PC) MEMO RY ADDRESS (MA) Contents represent the address of the word currently being read or written. After depressing DEP or EXAM, the contents represent the address of the word previously read or written. MEMORY BUFFER Contents represent the word being read or written. (MB) ACCUMULATOR Indicates the contents of the AC. (AC) LINK (L) Indicates the contents of the Link. INTRO-5 MULTIPLIER QUOTIENT (MQ) Instruction and Status Indicators Activated only with the EAE option. At the start of a multiplication the contents represent the multiplier; at the end the least significant half of the product. At the start of a division the contents represent the least significant half of the dividend; at the end the quotient. Located to the right of the above indicators. Indicates the type of instruc- tion being executed, and the status of the program being executed. ASR33 TELETYPE The ASR33 Teletype is the basic input/output device For PDP-8/I computers. a It consists of printer, keyboard, paper tape reader, and paper tape punch, all of which can be used either on-line under program control or off-line. are The Teletype controls (Figure INTRO-2) described as they apply to the operation of the computer. Appendix C. For oft-line operations, See PDP-8 Users Handbook (F-85) For details. OFF REL. START STOP FREE — - - OFF LINE Figure INTRO-2 ASR33 Teletype Console INTRO-6 0 LOCAL see POWER CONTROLS LINE The Teletype is energized and connected to the computer as an input/output device, under computer control. OFF The Teletype is de-energizecl. LOCAL The Teletype is energized for off-line operation. PRINTER The printer provides a typed copy of input and output at 10 characters per second maximum. KEYBOARD The Teletype keyboard is similar to a typewriter keyboard. However, certain operational Functions are shown on the upper part of some of the keytops. These Functions are activated by holding dOWn the CTRL key while depressing the desired key. the Symbolic Editor, For example, when using CTRL/FORM causes Editor to enter command mode. Although the left and right square brackets are not visible on the keyboard keytops, they are shown in Figure INTRO-3 and are generated by typing SHIFT/K and SHIFT/M, respec- tively. Also the ALT MODE key is identified as ESC (ESCape) on some keyboards. OO”.....OOOO ........OOOO. O.........OOOO WOOOOOOOOO i Figure INTRO-3 S PAC E ] ASR33 Teletype Keyboard PAPER TAPE READER The paper tape reader is used to input into core memory data punched on eight-channel perforated paper tape at a rate of To characters per second maximum. are shown in Figure INTRO-2 and described below. INTRO-7 The reader controls START Activates the reader; reader sprocket wheel is engaged and operative. STOP Deactivates the reader; reader sprocket wheel is engaged but not operative. FREE Deactivates the reader; reader sprocket wheel is disengaged. Positioning Tape in Tape Reader The following procedure describes how to properly position paper tape in the low-speed reader. a. Raise the tape retainer cover. b. Set reader control to FREE. c. Position the leader portion of the tape over the read pens with the sprocket (feed) holes over the sprocket (feed) wheel and with the arrow (printed or cut) pointing outward. d. Close the tape retainer cover. PAPER TAPE PUNCH The paper tape punch is used to perforate eight—channel rolled oiled paper tape at a rate of 10 characters per second. The punch controls are shown in Figure INTRO-2 and described below. RELease Disengages the tape to allow tape removal or loading. Back SPace Backspaces the tape one space for each firm depression of the B.SP. button. ON Activates the punch. OFF Deactivates the punch . HIGH-SPEED TAPE READER AND PUNCH UNITS A high—speed paper tape reader and punch unit is pictured in Figure INTRO-4 and descrip— tions of the reader and punch units follow. (See PUP-8 User's Handbook (F-85) for details.) READER UNIT The high—speed paper tape reader is used to input data into core memory from eight-channel fan-folded (non—oiled) perforated paper tape photoelectrically at 300 characters per second. Primary power is applied to the reader when the computer POWER switch is turned on. The reader is under user control from the keyboard through the computer or under program con- trol . However, tape can be advanced past the photoelectric sensors without causing input by pressing the tape feed button (the white rectangular button located in the center of Figure INTRO—4) . INTRO—8 FEED POWER Figure INTRO-4 High—Speed Paper Tape Reader and Punch Units Loading Instructions a. Raise tape retainer cover (located beneath the tape Feed button). b. Put tape into right-hand bin with channel one (see PAPER TAPE FORMATS) of the tape toward the rear of the bin. c. d. Place several folds of leader tape through the reader and into the left—hand bin. Place the tape over the reader head with feed holes engaged in the teeth of the sprocket wheel . e. Close the tape retainer cover. F. Depress the tape feed button (white rectangular button above the reader head) until leader tape is over the reader head. CAUTION Do not use oiled paper tape in the high-speed reader--oil collects dust and dirt which can cause reader errors. PUNCH UNIT The high—speed paper tape punch is used to record computer output on eight—channel Fan— folded perforated paper tape at 50 characters per second. program control From the computer. All characters are punched under Blank tape (Feed holes only, INTRO-9 no data) may be produced by pressing the FEED button (see Figure INTRO-4). Primary power is available to the punch when the computer POWER switch is turned on. POWER button is depressed to on on Power is applied to the punch when the (the punch motor can be heard). The two labeled buttons the punch enclosure are described below. POWER This microswitch is depressed to turn the punch ON and OFF. FEED While this button is depressed, the punch produces feed-hole-only punched tape for leader/trailer purposes. CAUTIO N Do not use oiled paper tape in the high-speed punch cause -- oil collects dust and dirt which can reader errors. DECTAPE CONTROL AND TRANSPORT UNITS DECtape is a fast, convenient, reliable input/output data storage facility and updating device. The standard DECtape transport unit is pictured in Figure INTRO—5 and descriptions of the control and transport units Follow. (See PDP—8 User's Handbook (F-85) for details.) V +— i Ifluri :Makm A Figure INTRO—5 DECtape Transport Unit INTRO—10 CONTROL UNIT The DECtape control unit interprets and controls the transfer of data between the computer and the transport unit. The DECtape control unit is usually located inside the rack contain— ing the DECtape transport and can control up to eight separate DECtape transports. TRANSPORT UNIT The DECtape transport unit is a bidirectional magnetic tape transport utilizing a IO—track recording head to read and write five duplexed channels. Tape movement can be controlled by commands from the computer program or by commands from the manual operation of switches located on the front panel of the transport; however, manual operation does not transfer data to the computer. Only Certified DECtapes (prerecorded with timing and marking tracks) should be used. Otherwise, the blank tape must be certified using the DECTOG program (DEC-OB—EUFA—D). Transport Controls When depressed (must be in LOCAL mode), tape feeds onto right spool. " REMOTE Transport is energized and under program control. OFF Transport is de—energized. LOCAL Transport is energized and under user control from external transport switches. Unit Selector Identifies the transport to the control unit. WRITE ENABLED WRITE LOCK DECtape is available for search, read, and write activities. DECtape is available for search and read activities only. When depressed (must be in LOCAL mode), tape feeds onto left spool. ‘- The REMOTE and WRITE ENABLED lamps light to indicate the status of the transport. Operating Procedure a. Set switch to OFF. b. Place DECtape on left spindle with DECtape label out. C. Wind four turns of tape on right spool d. Set switch to LOCAL. e. Wind a few turns on right spindle with f. Dial correct unit number on unit selector (number 8 is equivalent to 0). . -- INTRO—ii switch to make sure tape is properly mounted. g. Depress REMOTE switch. h. Depress WRITE ENABLED or WRITE LOCK switch. DECtape transport is now under program control. INITIALIZING THE SYSTEM Before using the computer system, it is good practice to initialize all units. the system, ensure that all switches and controls are as specified below. Cl. Main power cord is properly plugged in. b. Teletype is turned OFF. c Low-speed punch is OFF. d. Low-speed reader is set to FREE. e. Computer POWER key is ON. f. PANEL LOCK is unlocked. g. Console switches are set to DF=000 IF=OOO SR=0000 SING STEP and SING INST are not set h. High-speed punch is OFF. DECtape REMOTE lamps OFF. The system is now initialized and ready For your use. INTRO-12 To initialize PAPER TAPE FORMATS CHANNELS 87654 321 i Data are recorded (punched) on paper tape by groups of holes arranged in a definite format along the into channels which run the length of the tape. 0.... .OOOOIOOIOI The tape is divided length of the tape, and into columns which extend across the width of the tape as shown in the adiacent diagram. The paper tape readers and punches used with the PDP—8/I computers accept 8-channel paper tape. .0. The various formats are briefly explained 5 and identified below. L rLeader/Trailer Format Leader/trailer tape is used to introduce and conclude the object program when punched on paper tape. a. consistent G—COLUMN Leader/trailer tape can be recognized by channel 8 punch only as shown in the adjacent diagram. INTRO-l3 SPROCKET HOLE CHANNEL 8 [— o RIM Format o o CHANNEL 7 o o o 0 o o o o o o o o o o o Paper tape punched in RIM format can be identified by the absence of a channel 8 punch, 61 o o o CONTENTS O o o LOCATION 32 o 12 77 o LOCATION 52 13 o CONTENTS and by a channel 7 punch in every fourth column. The o o o o channel 7 punch indicates the start of a line of coding, and that (the 0 o o o o o 0 o o o o 11 o o 77 - o o 53 o o o 13 o o 77 o LOCATION CONTENTS o first) column and the second column contain the location and the third o o 10 o 0 00 coo-coo 77 and fourth columns contain the contents of the location. . o o o 07 o O O 0 07 W ASCII Format o o o o o o u o o 0 o 0 o o a ASCII (USA Standard Code for Information Interchange) format uses o o o o all eight channels to represent a single character (letter, number, or o o o o o o o o o o o o o o symbol) as shown in the adjacent diagram. 0 a o o o o o o o o o H I o 323 S o o 311 I o 323 S 240 a 301 A n a o 323 S o o o 303 c o 311 I o 311 I 240 o . o o o o o o o u o T 240 o 0 O 324 310 311 o o LOCATION o 0 o O o o CNTENTS 0 00 W o LOCATION o o o o o 306 F 317 0 322 R o 315 M o 301 A /\l\/.\/\ O O I o o O o . . Binary format can be recognized by the absence of a channel 8 punch, an occasional channel 7 punch, and frequent sections of blank tape. The channel 7 punch denotes an origin of a program or subprogram or a o o . 50 ' 00 o 00 ° 0° 00 0', . o o . . . . . ' . ° . . o o o o o O O c o o ' 56 . .77 O 01 76 . O . o INSTRUCTION INSTRUCTION INSTRUCTION INSTRUCTION 77 60 O . INSTRUCTION oo o o I NSTRUC TI ON 02 . . ORIGIN 17 32 O o INTRO-I4 o U change in origin, and subsequent columns contain the instructions (two columns per instruction) or data of succeeding locations. 00 o Binary Format o 01 . . . 77 O O O 45 o o 77 . INSTRUCTION INSTRUCTION INSTRUCTION ABBREVIATIONS The abbreviations listed below are used throughout the guide. Abbreviations Meaning AC ADDR Accumulator B.SR Back Space Address MN Binary CLC Current Location Counter CONT Continue CR DEP Carriage Return Carriage Return—Line Feed Control/L (represents holding down the CTRL key while depressing the L key or the key Following the slash) Digital Equipment Corporation Deposit DF Data Field EAE EXAM Extended Arithmetic Element Examine w Instruction Field INST Instruction L Link LF Line Feed LOADADD Load Address LOC Location up Low-Speed Punch Low-Speed Reader High-Speed Punch High-Speed Reader cmmF CTRL/L DEC LSR HSP HSR KBRD Keyboard PC MB Program Counter Program Memory Address Memory Buffer Ma Multiplier Quotient REL Release MM Read-In Mode SA PROG MA SR Starting Address Shift/P (similar to CTRL/L) Single Instruction Single Step Switch Register sw Console Switches TTY Teletype SHIFT/P SING INST SING STEP INTRO-15 SECTION 2 SYSTEM PROGRAMS READ-IN MODE (RIM) LOADER PURPOSE The RIM Loader is used to load into care memory programs punched on paper tape in RIM format, e.g., the Binary Loader. (See DEC-08-LRAA-D for details.) %QR_Alf—RIIEMENTS RIM requires locations 7756-7776 LOADING RIM is loaded (toggled) into core memory using the console switches. can use (2I8 locations). Starting Address=7756. RIM either the low- or high-speed readers when loading RIM coded program tapes into core. The locations and corresponding instructions for both input devices are listed below. Instruction Location Low-Speed Reader High—Speed Reader 7756 6032 603 I 60 I4 77? 7760 5357 5357 776 I 6036 60I6 7762 7 I 06 7 I 06 7763 7006 7006 7764 75 I 0 75 I0 7765 5357 5374 7766 7006 7006 7767 603I 60I I 7770 5367 5367 777I 6034 60 I6 7772 7420 7420 7773 3776 3776 7774 3376 3376 7775 5356 5357 7776 0000 0000 RIM-I 60I I Using Se! Extended ‘ DF= Desired Field Margery IF=Desired Field No Se? SR = 7756 Depress LOAD ADD * DECiape users should lead RIM info field 0. Yes Se! SR= Firs! Instruction Acvivme DEP Set SR: Next Insirucvion Activate DEF Yes RIM Is Loaded Figure RIM-1 Loading the RIM Loader RIM-2 Using Exiended Yes Se! DF: Correcv Field IF = Correc' Field Memory ? No Se! SR = 7756 Depress LOAD ADD Depress EXAM No M8 = Yes Instruction Set SR = MA Depress LOAD ADD All lnsiruciions Checked Set SR=Correct Instruction ? Depress DEP Figure RIM-2 RIM is Loaded Checking fhe RIM Loader RIM-3 BINARY (BIN) PURPOSE LOADEfl The BIN Loader is used to load into core memory binary coded programs punched on paper tape. When in core, BIN can be destroyed only by the user's program because DEC's programs (excluding Disk/DECtape Monitor) do not use the last page of core (location 7600-7777). (See DEC-O8—LBAA—D for details .) STO RAGE REQUIREMENTS BIN occupies locations 7625-7752 and 7777 (1238 locations). Starting Address=7777 4 LOADING RIM is used to load BIN into core. as BIN must be loaded into the same Field RIM, and the input device (low- or high-speed reader) must be that which was selected when loading RIM. BIN-l 0 Load RIM -| See Figures RIM-18 -2 ------ Using Sei Yes Exvended ‘ 0F = Correct Field IF = Correc' Field Memory ? Na Set SR = 7756 Depress LOAD ADD High-Speed Reader Which Law-Speed Reader Reader ? Pu! BIN Tape In HSR Depress START Tape Turn TTY To LINE Pu! LSR Ta FREE I No Reads In ? HI I I Put BIN Tape In LSR 0 Pu! LSR To START Yes HSR 50095 A! End 0 f Tape Depress START 0 No Tape Reads In LSR Stops A0 End 0! Tape Depress STOP " Same field settings as RIM Remove Tape From Reader BIN Is Loaded Figure BIN-1 Loading the BIN Loader BIN—2 Loud BIN —————— —I See Figure BIN-I Ini'ializu Ulinq Sn Extended DF-Dnlrod Flold Momor y ? IF I Hold Of BUN S" SRI 7777 Dunn“ LOAD ADD Low Spud Rica-r High-Spud Roodor - Sat $R= 3777 Turn TTV To LINE Put Top: In HSR Pu! Tape ln LSR Sn LSR To START Depress START Tape Reads In .7 Yes No Top. Svops A! Beginning 0' Trailer Tum ? I Daprels CONT I Object Tape 1: Figure BIN-2 Lemma Loading A Binary Coded Obiecf Tape Using BIN BIN-3 HELP LOADER PURPOSE The HELP Loader is used to quickly load into core memory the RIM and BIN Loader programs. STORAGE M LOADING (See DEC—O8-LHAA-D For details.) HELP uses locations 0005-0036 core. (328 locations) to load the HELP tape into The HELP tape contains the RIM and BIN Loaders. HELP is in two parts: The first part consists of the ”8 instructions shown below, which are toggled into core using the console switches. The second part is the HELP Bootstrap Loader punched on paper tape, which is loaded into core using the low-speed reader. Location Instruction 0027 603 I 0030 5027 003 l 6036 0032 7450 0033 5027 0034 70 I 2 0035 70 I 0 0036 3007 0037 2036 0040 5027 HELP-I Using Extended Memory ? Se. DF= Desired Field IF= Desired Field Set SR=0027 Depress LOAD ADD PC= 0027 Se! SR = Firs! Instruction Activcne DEP Se? SR= Next Instruction Aciivaie DEP All Instructions In ? HELP Is Loaded Figure HELP—I Loading the HELP Loader HELP-2 Using Extended Memory ? Yes Set DF = Correct Field IF = Correct Field Set SR = 0027 Depress LOAD ADD No MB= Instruction ? Depress LOAD ADD All Instructions Set SR=Correct Checked Instruction ? Depress DEP HELP ls Loaded Figure HELP-2 Checking the HELP Loader HELP-3 Toggle In ______ Instructions Using —-I See Figure HELP-1 Set Extended DF= Correct Field IF = Correct Field Memory ? Tape In LSR Tape Reads In ? Yes Wait For Tape To Stop Set LSR To FREE HELP, RIM, And BIN Are Loaded Figure HELP-3 Loading the HELP Bootstrap Tape Into Core HELP-4 SYMBOLIC TAPE EDITOR PURPOSE The Symbolic Tape Editor is used to prepare, edit, and generate symbolic program tapes on line. STORAGE (See DEC-08-ESAB—D for details.) Editor requires locations 0-1577 (I600 REQUIREMENTS LOADING 8 locations). BIN is used to load Editor into core memory. Starting Address=0200. The loading of the user's symbolic tapes is performed by Editor itself under keyboard control. EDIT-I Load Editor —————— Using Extended Memory ? -I See Figure BIN-2 Set DF= Desired Field IF = Field Of Editor No Se? SR = 0200 Depress LOAD ADD Turn TTY To LINE Depress START TY Responds With CR/LF 7 Yes Editor Is In Command Mode Type A And RETURN Keys Type Symbolic Program Symbolic Program Is In Tut Buffer Type CTRL/FORM Editor I: In Command Mode And Available For Use Figure EDIT—l Generating a Symbolic Program On-Line Using Editor EDIT—2 Compleied Source Program Is In Teii Buffer High-Speed Punch Low- Speed Punch Selecv Switch Selec' Switch Register Option Register Option Depress HSP 0N Type T And RETURN Keys And Depress LSP ON Type T And RETURN Keys Depress LSP OFF Type Command (P nP Or m,nP) Key Type And RETURN Command (P nP 0r m.nP) And RETURN Key Depress CONT And Typed No Type F And RETURN Keys Type F And RETURN Keys And Type T And RETURN Keys Depress LSP ON Depress LSP OFF Figure EDIT-2 Generating a Symbolic Tape Using Edi’ror EDIT-3 Load Ednov —————— —I See Figure BIN-2 Inmatua Sal OF I Dulrod Field IF 5" I Fuld 0! Editor SR ' 0200 Deprass LOAD ADD Depress START High-Speed Reader O Which Low -Spaed Reader Rqadu 7 Pu! Tape In HSR Sclccv SR Ophon Turn TTY To LINE Pu! Tap! In LSR Type R And Type R And RETURN Key RETURN Key Tape Reads In Put LSR To START Bell Rings A! Form Feed And End Of Tape Tape Reads In Bell Ring A! Symbolic Tape End 0! Tape Is Loaded ? Typo CTRL/FORM Fur LSR To FREE Symbol lc Tape Is Loaded Ediior I: In Command Mode Figure EDIT—3 Loading a Symbolic Tape Using Editor EDIT-4 OPERATING MODES Editor is always in one of the Following modes. Command Mode: All characters typed on the teleprinter are interpreted as commands to the Editor. Text Mode: All characters typed or tapes being read in are interpreted as text to be put into the text buffer in the manner specified by the previous command and the SR options. Transition between modes: Type a command. then depress RETURN Key Command Mode Text Mode Type desired input, then CTRL/FORM RESTART PROCEDURES Keys If the user stops the computer For any reason, he may restart it at location 0177 without disturbing the text in the buffer. A CR/LF will follow. If no CR/LF is desired, restart at location 0200. CAUTION IF Editor is restarted at location 0176, all text currently in the butter is wiped out, and the text butter is re-initialized For a new program. SPECIAL KEY FUNCTIONS Key RETURN <— Command Mode Text Mode Execute preceding command Enter line in text butter Cancel preceding command Cancel line to the left margin (Editor responds with ? CR/LF) RUBOUT Same as Delete to the left one character <— for each depression;a \ (back- slash) is echoed (not used in READ command) CTRL/FORM Return to command mode (bell rings) EDIT—5 Command Mode Key Used as argument alone or with + or Text Mode Legal text character. and a number — (.=, .+5L, .-25) (a space is equivalent to a +) Value equal to number of last line in buffer; used as argument Legal text character (/-5GI /l-) List next line LINE FEED Used in SEARCH command to insert CR/LF into line ALT MODE (ESC) List next line > List next line List previous line Used with and / to obtain their value (.=27) . Same as = (gives value of any legitimate argument) CTRL/TAB Produces a tab which on output is interpreted as ten spaces or a tab/rubout, depending on SR option. SEARCH FEATURE IN COMMAND MODE Following a n5 command, Editor waits for the user to specify the search character which when typed is not echoed. When Editor locates and types the search character, typing stops and all or any combination of the following operations may be carried out. a. Type new text and terminate line with the RETURN key b. <- delete entire line to the left C. RETURN delete entire line to the right RUBOUT delete from right to left one character for RUBOUT typed (a \is echoed for each RUBOUT typed) LINE FEED insert a CR/LF, thus dividing line into two CTRL/FORM search for next occurrence of search character CTRL/BELL change search character to next character typed by the user EDIT-6 SWITCH REGISTER OPTIONS Switch Register options are used with input and output commands to control the reading and punching of paper tape. SR Bit Position 0 0 Input text as is 1 Convert all occurrences of 2 or more spaces to a tab 0 Output each tab as 10 spaces Tab is punched as tab/rubout 1 1 2 0 1 10 0 l ll 0 1 Function Output as specified Suppress output* Low—speed punch High-speed punch Low-speed reader High-speed reader COMMANDS Input Editing R Read incoming text from tape reader into core A Append incoming text from keyboard into core \5 g L List entire text buffer nL List line n m,nL List lines m through n inclusively nC m,nC Change line n Change lines m through n inclusively I Insert before first line nI Insert before line n K Delete entire text buffer Delete line n nD m,nD Delete lines m through n inclusively m,n$kM Move lines m through n to before line k Print next tagged line (if none, Editor types ?) Print next tagged line after line n (if none, ?) G nG Output _— 5 a T; {.32 ) 0.5151er l S Search buffer for character specified after RETURN key and nS allow modification (search character is not echoed on printer) Search line n, as above m,nS Search lines m through n inclusively, as above P Punch entire text buffer Punch line n Punch lines m through n inclusively nP m,nP *Bit 2 allows the user to interrupt any output command and return immediately to command mode. EDIT—7 W T Punch leader tape, a Form Feed, and trailer tape Punch about 6 inches of leader/trailer tape nN Do P, F, K, and R commands n times F where m and n are decimal integers, and m is smaller than n. to select P and N halt to allow user Press CONT to execute command. SR option. Commands are executed upon depressing the RETURN key. BUFFER OVERFLOW Editor has storage for about 500010 characters (approximately 60 heavily commented lines 340 uncommented lines). When the text buffer is exceeded, operation continues, but or a bell rings For every location used beyond the buffer limit. buffer by changing location 000i to contain the address of the last location (should not be greater than location 7570) used prior to buffer overflow. divided into sections The user may expand the text Very large programs should be . DIAG NOSTICS 0. Editor checks commands For nonexistent information and incorrect Formatting, and when an error is detected Editor types a ? and ignores the command. However, it an argument is provided For a command that doesn't require one, the argument is ignored and the command is executed properly. b. Corrections and additions to the user's program may be either typed in From the tele- printer keyboard or read in from the paper tape reader. c. Since Editor does not recognize extraneous and illegal control characters, a tape con- taining these characters can be corrected by merely reading the tape into Editor and punching out a new tape. EDIT-8 PAL III SYMBOLIC ASSEMBLER PURPOSE The PAL III Symbolic Assembler is used to translate symbolic (source) programs into binary (object) programs. an PAL III is a two-pass assembler with optional third pass which produces a program assembly listing. Pass I: Assembler reads the source tape and defines all symbols used. The user's symbol table and any error diagnostics are typed out. Pass 2: Assembler reads the source tape and generates the obiect tape using the symbols defined during Pass I. Ignore meaningless characters typed when using the low-speed punch, but note any error diagnostic typed. Pass 3: Assembler reads the source tape and types and/or punches the program assembly listing. (See DEC-08-ASAC—D For details.) STO RAGE REQUIREMENTS PAL 111 requires locations 0—2735 'Symbol Table Capacity: (27368 locations) LSR aIIOWs 590 user symbols HSR aIIOWS 495 user symbols Starting Address=0200 LOADING BIN is used to load PAL III into core. bolic tapes during assembly. PAL-T PAL III is used to read in the sym- Load PAL DI ______ Using —<l See Figure BIN-2 Set DF= Desired Field IFx Field Of PALm Extended Memory Pu! Symbolic Tape in LSR Depress STOP Pass 3 Sef SR = 2200 Se! Se! LSR To START Punch SR . 4200 Se! SI? LSR To START D Sn SR . 6200 LSR To START LSF> ON Yes Symbol Table Listing Table ? ? Depress Depress START LSP 0N Depress CONT DQDIIS‘ LSP 0N Depress CONT Wait For End Of Objecl Tape Wail For End Of Lining Tape Reads In Sel LSP OFF ? Se? LSR FREE Wail For Symbol Table If Any Remove L_~ Tape From LSR Errcr V25 Diaqnuslic ? Correct Error And Reassemble Figure PAL—l Assembling with PAL III Using Low-Speed Reader/Punch PAL-2 Load PAL HI —————— Using -| See Figure BIN-2 Set Extended DF = Desired Field Memory IF=FIeId 0f PAL [1] ? No 8 et SR 3 0200 Put Symbolic Tape in HSR Depress STOP Pan I Which Pan 3 Pals ? Fans 2 Set SR =220l Punch Set SRIGZO‘I Depress HSP POWER To ON And FEED Yes Symbol Table . PM ? Set Depress HSP POWER To ON And FEED SR IGZOO Depress CONT Depress LSP ON Depress START Punch Or Print Program Listing ? Depress HSP POWER To ON And FEED Wait For End Of Binary Tape Depress CONT Tape Reads In ? Remove Tape Wait For End Of Listing Wait For Symbol Table Error Yes Diagnostic 7 On TTY Correct Error Figure PAL-2 Assembling With PAL III Using High-Speed Reader/Punch PAL-3 OUTPUT CONTROL Output is controlled by the setting of switch register bit H as shown below. Pass 1: Bit ll=0 ll=l Type and punch symbol table on TTY Punch symbol table on HSP No effect; binary tape will be punched on the HSP if it Pass 2: is turned on. Pass 3: Bit ll=0 ll=l DIAGNOSTICS Format: xx Type and punch program listing on TTY Punch program listing on HSP yyyyyy AT nnnn where xx is the error message (see below), yyyyyy is the symbol or octal value of the symbol of the error occurring AT location nnnn. Pass l: Pass 2: [C Illegal Character RD ReDifinition DT ST Duplicate Tag Symbol Table full UA Undefined Address IR Illegal Reference PAL-4 MACRO-8 SYMBOLIC PURPOSE ASSEMBLER] The MACRO-8 Symbolic Assembler is used to translate symbolic (source) programs into binary (object) programs. MACRO-8 is a two—pass assembler with an optional third pass which produces a program assembly listing. Pass I: Assembler reads the source tape and defines all symbols and macros used and places them in respective tables. Pass 2: Assembler reads the source tape and generates the object tape using symbols and macros defined during Pass I. The Assembler then types and/or punches the user's symbol table, for use with DDT—8, followed by any error diagnostic. Pass 3: Assembler reads the source tape and types and/or punches the program assembly A listing. See DEC—08-CMAA—D for details. STORAGE REQUIREMENTS MACRO-8 requires locations 0-7577 (76008 locations). Symbol Table Capacify: 2278 symbols (expandable to 5248 symbols using the switch options) Starting Address=0200 LOADING . BIN is used to load MACRO—8 into core. There are two versions of MACRO-8: Low version: Uses the low-speed reader for all speed punch for all output. input and the low— High version: Uses the high—speed reader for all input, the highspeed punch for binary output, and the Teletype and low-speed punch for output of error diagnostics, symbol table, and third-pass assembly listing. MACRO-I Load MACRO- B ______ Ex'ended I Memory Ser SR = —{ See Figure BIN’Z Set DF = Desired Field IF = Field Of MACRO-8 0200 Depress LOAD ADD Pass 3 Pass 1 SI? SR ‘ 4200 Put Top. In LSR Pu! Tape In LSR Pu! Tape In LSR Ls'a To START Put LSR To START Pu! LSR To START Pu! Program Lining ? I Depress LSP ON I Depress START Tape Roads In Depress STOP ? [ Depress CONT J [ Tape Stops I Pu! Tape In LSR E rror Dicgnosi ic Correct Error Using Editor Depress STOP More Tape For Some Pass ? Depress STOP Figure MACRO-i Assembling a MACRO-8 Source Program Using the Low-Speed Reader/Punch MAC RO-2 Lood MACRO-8 — ————— -| 5.. Faqurn BIN-2 lniNahZ! Uxinu Sui '“ Emna-d DF ' Domed Fiuld Mommy [F I Field 0' MACRO-8 ? °.° No O n: o 500 SR-OZOO < E Dom:- LOAD ADD Turn TTY Yo LINE Which Pm: i Pan 3 Put: 7 Pm: 2 Sc! SR 5» SR :2200 Pu! Top. In HSR Put Tune In HSR PM Top. In HSR Program Lining 7 5.0 Location 0004 I0600 Doom: MSP Dear-u NSF Douro-u NSF POWER To ON POWER To OFF POWER Tn ON [ Doom: HSP FEED l [ Dawns LSP ON I Doprul START Tap. Sioux Own“ CONT Errol Pu! Tape in HSR Correct Errov Diagnostic Using Edilov ? Dcprul STOP Rm! Location 0004 = 2600 W Changed During Pan 3 Mom Tap. F91 Some Fun ? Figure MACRO-2 Assembling a MACRO-8 Source Program Using the High-Speed Reader/Punch MACRO-3 Deon“ HSP FEED SYMBOL TAB LE MODIFICATION There are ”348 locations available for the user's symbols and the macro There are three ways to increase the size oF this storage area table. a. Prior to Pass I, set bit I0 = I to add . I008 locations; the double pre- cision integer and floating-point processors are deleted. b, Prior to Pass I, set bit II = I to add number processors are deleted. c. I758 locations; the macro and Use the pseudo-ops EXPUNGE and FIXTAB to remove unnecessary instruction mnemonics. SWITCH REGISTER OPTIONS Result g1 0—” Enter next pass. Erase symbol table excluding permanent symbols and 0 = 0 I enter Pass I; II depress STOP then CONT. |l _. Enter pass 2 to generate another binary tape. II . .- Enter pass I without erasing defined symbols. H _. Enter pass 3. II .- Delete double precision integer and double precision floating-point processors; this increases the symbol table size by I008 symbols. ll _. Delete macro and number processors; this increases the symbol table size by symbols. I758 Bits IO and II are sensed whenever pass I is entered. Therefore, MACRO-8 would have to be reloaded to handle subsequent programs that use macros, double precision integers, or floating-point numbers. In the high version, the high-speed punch may be used as the output device by changing the contents of location 0004 From 2600 to 0600. This is useful for long third pass listings, since the punched output from the high—speed punch can be subsequently listed off line. It is advised that this change not be made until pass 3, so that pass I and 2 error diagnostics will be pfinted. DIAGNOSTICS Format: ERROR CODE ADDRESS where ERROR CODE is a two-letter code listed below, and ADDRESS is either the absolute address of the error or the address of the error relative to the last symbolic tag on that page. Error Code Explanation BE MACRO-8 internal tables have overlapped IC Illegal character ID Illegal redefinition of a symbol MACRO—4 Error Code Explanation IE Illegal equal sign 11 Illegal indirect address IM Illegal Format in a macro definition LG Link generated to off-page address* MP Missing parameter in macro call PE Current, nonzero page exceeded SE Symbol table exceeded US Undefined symbol ZE . Page zero exceeded *This is to inform the user of off-page references which may not be an error. This diag- nostic can be suppressed to speed up pass 2 assembly by setting location 1234:7200. MACRO-5 | DDT-8 I PURPOSE The Dynamic Debugging Technique for the PDP-8 computers Facilitates program debugging by allowing the user to examine core memory locations (registers) and change and correct their contents, place and remove strategic halts and automatically restore and execute the instructions replaced by the halts, and much more. Communication is via the Teletype keyboard using defined commands and the symbolic language of the source program or octal representation, with DDT-8 performing all translation to and from the binary representation. (See DEC-OB-CDDA-D for details.) STORAGE W DDT-8 requires locations 0004 and 5237-7577 (23418 locations) Permanent Symbol Table requires locations 5237-5000 External Symbol Table is allotted locations 5000-3030 (250 symbol capacity) Starting Address LOADING = 5400 BIN is used to load DDT-8 and the object program into core. The user should have at the console the Pass 3 listing of his obiect program so that the listing can be updated to reflect any to the program. Loud ‘I See Figure BIN-2 _ ______ Object Program L°°d DDT‘B ------ «I See Figure BIN—2 Set SR = 5400 Depress LOAD ADD Depress START Debug Object Program DDT-8 Is In Command Mode [5 Figure DDT-l Loading and Executing DDT—8 DDT—i debugging change made Tape In LSR Tape Slaps Sel LSR To FREE Depress CONT Ocrnl Address Typed ls Lower Limil Of External Symbol Table No External Symbol Table ls Loaded Figure DDT-2 Loading Exl'ernal Symbol Table Tapes (LSR Only) DDT-2 with DDT-8 ln Command Mode Symbol Table Se? SR = 1400 Type Octal Value Of Delinifion Of New Symbol Type CR/LF And EOT Depress CONT Addreu Typed ls Lower Limit Of External Symbol Ta . Figure DDT-3 Appending New Symbols to External Symbol Table DDT-3 Turn TTY To LOCAL Depress LSP ON Type Octal Value Of Definifim 01 New b0 More Symbols T No Type CR/LF And EOT Depress HERE IS Depress LSP OFF Figure DDT-4 Generating New External Symbol Tape OFF-Line (TTY and LSP Only) DDT-4 RESTART PROCEDURE Restart at location 5400 and DDT-8 will be in control. If the user wishes to restart DDT-8 before he has punched a complete tape with checksum, he must restart at location 540l to perserve the checksum. EDITING NOTES Do not open any symbol table location. 0 b . To enter a combined operate class and IOT instruction into an open loc—_ cation , the combination must contain no more than two mnemonics, the second of which must be CLA. COMMANDS Any other combination is ignored. c. The symbol table tape is loaded using the LSR only. d. Each user symbol occupies four locations in the symbol table area e. Input is interrupted when symbol table storage is full. Mode Control . Explanation [O Sets DDT-8 to type out in Octal mode. [5 Sets DDT-8 to type out in symbolic mode. Input ER Read symbol tape into external table from LSR, or define new symbol from keyboard . Program Examination and Modification k/ RETURN Open location k (k may be octal or symbolic). Close location currently open; enter modification, if any LINE FEED Close location currently open and open next sequential 1 (SHIFT/N) . location; ent‘er modification, if any. Close location currently open and open location address therein; enter modification, if any. Breakpoint Insertion and Control [B Remove current breakpoint k[B Insert a breakpoint at location k k[G Go to location k and start program execution nEC . . . Continue from breakpoint, execute breakpoint n times and return control to user. to be I If n is absent, it is assumed . Word Search NEW Begin word search for all occurrences of expression N masked by the contents of [M between the limits imposed by l: L and EU. EM, EL, and [U are locations within DDT-8 which may be opened, modified, and closed exactly as any general register k in the user's program DDT-5 . Output [T Punch leader/trai ler code a;bEP Punch binary tape from memory bounded by addresses a and b. [E Punch end of tape (i .e. , . checksum and trailer). NOTE The characterl: is generated by de- pressing the ALT MODE key. Address Tags Special Characters Explanation Command [A Accumulator storage (at breakpoints) [L Lower limit of search [u Upper limit of search ['M Mask; used in search [Y Link storage (at breakpoints) Character + - = Explanation (space) Separation character (plus) Specifies address arguments relative to symbols (minus) Same as + (period) Current (equal) Type last quantity as an octal integer location; used in address arguments RETURN Make modifications, iF any, and close register LINE FEED Make modifications, if any, close location, and open next sequential location / . Location examination character; when following the (slash) address location, the location is opened and its con- tents printed (up-arrow) 1 When following a location printout, the location addressed therein is opened (back-arrow) “ DIAGNOSTICS Delete the line currently being typed DDT-8 checks for the errors listed below and types a ? when any is detected. All data between the error point and the previous tab or carriage return is ignored (LO—O . Undefined or illegal symbol Illegal character Undefined control command . Off-page addressing DDT -6 ; CDT—8] PURPOSE The Octal Debugging Technique For the PDP-8/I is a debugging pro— gram which Facilitates communication with and alteration of the object program. Communication with the program is from the Teletype keyboard , using octal numbers. STORAG E REQUIREMENTS (See DEC—OS-COCO—D For details.) CDT-8 requires 6008 consecutive locations, and l location on page 0 For breakpoint location . Low version: locations 1000-1577 High version: locations 7000-7577 Breakpoint is initially at location 0004. Starting Addresslis lOOO (low) or 7000 (high) LOADING BIN is 'used to load CDT-8 and the obiect program into core. should have at the console the octal the The user listing of his obiect program so that listing can be updated to reflect any debugging change made to the prog ra m . Load Obiect Proqrmi Load OUT-8 —————— —————— —{See Figure -| See Figure BIN<2 BIN-2 Set 5R =1000 (low) SR= 7000 (hi) Depress LOAD ADD Depress START Iebuq Object Progrwn. DDT-B is In Command Mode Figure ODT-l Loading and Executing CDT-8 ODT—l th ODT’B [n Conirol Command Type LOAD ADD Depress mmmmmnnn P Depress START Se! SRHZSI (low) SR= 7231(hl) Core Image Of mmmmmnnn Is Punched Punch More Core ? Sei Set SR SR I222 (low) = 7222(hi) = Depress LOAD ADD Depress START Se? SR SR= 1000 (low) SR=7000 (hI) Depress LOAD ADD Depress START 1225(Iow) = SR: 7225(hi) Accumulmed ODT»B Is Ready For Next Command Checksum a Trailer Depress LOAD ADD Depress HSP 0N Depress START Leader Tape Is Punched Depress STOP Depress HSP OFF Tape Is Punched Set Depress STOP Sei SR =1203(low) SR = 7203(hi) Figure CDT-2 SR SR 1231mm) = = 72310") é Generating Binary Tape Using High-Speed Punch ODT—2 COMMANDS Command Explanation / Reopen latest opened location nnnn/ Open location nnnn. RETURN Close previously opened location LINE FEED Close location and open next sequential location i (SHIFT/N) Close location , take contents of that register as a memory reference and open it. « (SHI FT/O) . . . Close location, open indirectly. Transfer program control to location nnnn. nnnnG Remove the breakpoint and restore original contents B of that location . Establish the breakpoint at location nnnn nnnnB . Open location containing AC. Proceed from the breakpoint . Continue from the breakpoint and iterate past the nnnnC breakpoint nnnn times; stop at breakpoint Open the search mask. Initially set to 7777 LINE FEED LINE FEED Open'lower search limit Open upper search limit Search defined upper and lower limits of core for nnnnW nnnn of search mask . leader/trailer tape T Punch mmmm;nnnnP Punch binary core image of locations mmmm through . nnnn. Punch checksum and trailer tape RE LOCATING THE BREAKPOINT ZPAT (the breakpoint symbol) is initially set to location 0004. The break— point location can be relocated to any location on page 0 by setting ZPAT equal to the desired location RESTRICTIONS . . Although ODT-8 is relocatable to any page, it will not operate outside the field in which it is located. ODT-8 will not turn on the program interrupt. However, it does turn off the interrupt when a breakpoint is encountered. This prevents disrupting interrupts . CDT -3 The user's program must not use or reference any location occupied or used by CDT-8 . The breakpoint location must not be used by the user program. DIAGNOSTICS When CDT-8 detects an error it types a ? Followed by a carriage returnline Feed. a . ODT-8 checks For the following conditions. Only legal control-characters and octal digits are acceptable, any other character causes the character or whole line to be ignored b. c . d . G typed alone is an error; control will be transferred to location 0000. Typing a P command with the punch ON is an error; ASCII characters will be punched on the binary tape. Octal numbers must be from I to 4 digits; more than four digits is an error e. . . An illegal character (neither a valid control character nor a l- to 4—digit octal number) causes the current line to be ignored. CDT—4 [ FOCAL | PURPOSE FOCAL (FOrmula CALculator) is an on-line, gram used to solve numerical conversational, service pro- problems (both simple and complex), to in- troduce programming to the student or computer novice, and much more. (See DEC-08-AJAC-D For details.) STORAGE REQUIREMENTS (63008 locations) Extended functions occupy locations 4600—5377 (10008 locations) FOCAL occupies location 1-3300 and 4600-7576 Starting Address=0200 OPTIONAL LAB-8 or LINC-8 computer; Analog-to-Digital Converter (I89); EQUIPMENT Oscilloscope Display (VC8/I or 34D) LOADING BIN is used to load FOCAL into core. FOCAL accepts user programs either From the Teletype keyboard or the low-speed reader (see Figure BIN—2). FOCAL-I FOCAL Load Have Extended Memory ? Machine Checksum —————— <| See Se? DF = 000 IF = 000 Or Evrov Respond to Dialogue Initial FOCAL Types & ? Ye s FOCAL Is Ready For User Input Fig ure FOCA L-l Activating FOCAL For Use FOCAL-2 Figure BIN-2 INITIAL DIALOGUE When FOCAL is in care, it types a greeting and identifies itself and the computer being used. FOCAL then asks three questions, to which the user should answer with either YES or NO as shown below. CONGRATULATIONSI! SUCCESSFULLY HAVE YOU SHALL RETAIN I THE LOADED EXTENDED 'FOCAL' ON A FDR-8 COMPUTER. FUNCTIONS? The user types YES or NO in answer to this question; for an explanation of the question, depress RETURN, and FOCAL will GIVES 'YES' CHARACTERS. SHALL I YOU 'FSIN:FCOS,FATN:FLOG,FEXP' 'NO' RETAIN GIVES THE YOU 180D EXTENDED AND type lflOO CHARACTERS. :YES FUNCTIONS? and repeats the question. DO YOU NOT HAVE HAVE YET YOU LIBRARY EXTENDED AVAILABLE: LOADED THE COMMAND IS I MEMORY? SHALL DISC NOT USE The user answered YES, FOCAL replies :YES 4K. SYSTEM? YET The user answered YES. The user answered YES, FOCAL replies :YES AVAILABLE. The asterisk indicates that FOCAL is now ready for user input. COMMANDS Command Abbr. Example of Form ASK A ASK ALPHA(I+2*J) Explanation FOCAL types a : For each variable; the user types a value to define each variable COMMENT C COMMENT CONTINUE C C DO D DO 4.14 Lines beginning with the letter C are ignored . Execute line 4.14; return to command Following the DO. DO 4 Execute all group 4 lines; return to command following DO or when a RETURN is encountered. ERASE E ERASE ERASE 2 ERASE 2.] ERASE ALL FOCAL-3 . ' Erase the symbol table. Erase all group 2 lines. Delete line 2. i Delete all user text. . ’ FOR F FOR I=x,y,z; TYPE I Command string following the executed For each value; x,y,z are constants, vari; is ables, or expressions. x = y = initial value of I value added to I until I is greater than 2; y is assumed GO GO = I it omitted. Start indirect program at lowest numbered line number. GOTO 3.4 GOTO Start indirect program at line 3.4. GO? GO? Starts at lowest numbered line number and traces indirect program until another ? is encountered, until an error is encountered, or until program completion. IF(x)1.2,1.3,1.4; 1F Where x is identifier or ex- pression. Control is transferred to the first, second, or third line number if (x) is less than, equal to, or greater than zero, respectively. If; is encountered prematurely, the remainder of the line is executed. MODIFY M MODIFY l.l5 Enables editing of characters on line I. IS. The next char- acter typed becomes the search character. FOCAL positions itself after the search character; then the user may: type new text type CTRL/FORM For next occurrence type CTRL/BELL to change search character type RUBOUT to delete back— wards type SHIFT/O to kill backwards type RETURN to end the line type LINE FEED to save rest of line QUIT QUIT Return control to user. RETURN RETURN Terminate DO subroutine FOCAL—4 SET SET A=5/B*SCALE(3) 5 Define identifiers in symbol table. TYPE T TYPE FSQT(AL*3+ Evaluate expression, types FSQT(B)) out = and result in current output format. TYPE "TEXT STRING"! FOCAL types text within quotation marks. Use ! to generate CR/LF. WRITE THE TRACE FEATURE W Special Example Character of Form ? ?. . . WRITE FOCAL types the entire in- WRITE ALL direct program. WRITE l FOCAL types all group 1 lines. WRITE l.l FOCAL types line 1.1. ? ' Those parts of the program enclosed in question marks will be printed out as they are executed. or 9 Explanation ' If only one ? is inserted, the trace feature be- operative, and the program is printed that point until another ? is encoununtil an error is encountered, or until tered, comes out from program CONTROL CHARACTERS SUMMARY OF FUNCTIONS % Format delimiter " Text delimiter ! CR/LF generator # CR generator $ Type symbol table FSQT( ) FABS( ) FSGN( ) FITR( ) FRAN( ) FEXP( ) FSIN( ) Square Root Absolute Value Sign Part Integer Part Random Number Exponential Sine FOCAL—5 completion. Space ' Name terminator Expression terminator Command terminator ; RETURN FCOS ( ) FATN( ) FLOG( ) FDIS( ) FDXS( ) FADC( ) FNEW( ) Line terminator Cosine Arc Tangent Logarithm S COP e F unc f.Ions A-D Input User Function ARITHMETIC OPERATIONS l * Exponentiation Multiplication / Division + Addition Order of precedence is as listed; properly paired enclosures are evaluated first; otherwise evaluation is from left to right. Subtraction - When the program and symbol table areas become too large the error diag- OVERLOAD RECOVERY nostic ?03.79 will be typed out. The user should then do one of the following. a. b. Type ERASE and depress RETURN. Restart at location 2216, if ?03.79 follows a erases c. legitimate command. This all variables. As a last resort, restart at 2213. This erases the text. When loading a long program tape into FOCAL the user can suppress the LOADING PROGRAM TAPES echo (printing) feature by changing the content of location 2475 to 7000. This will cause only asterisks to be typed as the tape is being read; there will not be a carriage return-line feed at the end of the line. Entries from the keyboard will not echo unless each entry is preceded by a TYPE command. Output will be typed in the normal manner. To restore the echo feature, depress the STOP key on the computer console and deposit 4277 into location 2475. FOCAL requires five words for each identifier stored in the symbol table, ESTIMATING LENGTH OF USER'S and one word for each two characters of stored program. PROGRAM . This may be cal- culated by 55 where ‘+§ - I.OI = s = c = length of user's program Number of identifiers defined Number of characters in indirect program FOCAL-6 If the total program area or symbol table area becomes too large, FOCAL types the error , 2203.79 FOCAL occupies core locations l—33OO and 4600-7576. This leaves ap- proxrmately 70010 locations for the user's P ro 9 ram (indirect P ro 9 ram, identifiers, and push-dOWn list). The extended functions occupy locations 4600-5377. If the user decides not to retain the extended functions at load-time, there will be space left for approximately 110010 characters for the user's program. The following routine allows the user to find out how many core locations are left for his use. *FOR 1:1:3093 SET A(I)=I (disregard error code) ?O3.79 *TYPE =+ %4: 7GB 1*5: " LOCATIONS LOCATIONS LEFT * LEFT " CALCULATING TRIGONOMETRIC FUNCTIONS Function FOCAL Representation Sine FSIN(A) Cosine FCOS(A) Tangent FSIN(A)/FCOS(A) Argument Function Ra nge Range OglA|<ioi4 oglAl<iot4 oglAl<1014 0:] Flsl oglA|<1014 ig|F|<1016 olels1 og|F|<1016 [Al 942nm )11/2 Secant l/FCOS(A) LN742N+JhVQ Cosecant l/FSIN(A) oglA|<1014 lAlaQNn Ig| F|<1016 Cotangent FCOS(A)/FSIN(A) oglA} <10T4 0_<_|F|<101440 Arc sine FATN(A/FSQT(] —A12)) Arc cosine, FATN(FSQT(1—A12)/A) [AlflN‘n oslAl<1 o< lAlgi 05] F| 511/2 osl Fist/2 Arc tangent FATN(A) OgAgions 05F<n/2 Arc secant FATN(FSQT(A12-I)) i_<_A<1016 0_<_F<1r/2 Arc cosecont FATN(1/FSQT(A12-1)) 1<A<101300 0<F<1T/2 Arc cotangent FATN(I/A) 0<A<101615 O<F<1r/2 Hyperbolic sine (FEXP(A)-FEXP(-A))/2 og|A|<7oo 05|F|55*101300 FOCAL-7 Egg)? FOCAL Representation Function Hyperbolic cosine (FEXP(A)+FEXP(-A))/2 Hyperbolic tangent (FEXP(A)-FEXP(-A))/ file—01 oglAl <7oo og lAl <7oo ogl Fl 51 o<|=g 1 lgF<5*IOt300 (FEXP(A)+FEXP(-A)) Hyperbolic secant 2/(FEXP(A)+FEXP(—A)) 05 IA] <7oo Hyperbolic cosecant 2/(FEXP(A)-FEXP(—A)) o< |A| <7oo o<| Fl< 1017 Hyperbolic cotangent (FEXP(A)+FEXP(-A))/ o< |A| <7oo 1<| Fl <ior7 (FEXP(A)-FEXP(-A)) Arc hyperbolic sine FLOG(A+FSQT(A12+1)) -IOT5<A<IOTéOO -12<F<l300 Arc hyperbolic cosine FLOG(A+FSQT(At2—1)) I§A<10t300 ogF<7oo Arc hyperbolic tangent (FLOG(]+A)-FLOG(l-A))/2 og|A|<1 og|F|<8.31777 Arc hyperbolic secant FLOG((1/A)+FSQT((1/A12)—1)) o< 03F<7oo Arc hyperbolic cosecant FLOG((i/A)+FSQT((i/A12)+1)) [A131 o<|A| <101300 Arc hyperbolic cotangent (FLOG(X+1)—FLOG(X~1))/2 1<A<101616 05F<8 og|F|<14oo DIAG NOSTICS FORMAT: ?nn.nn@nn.nn error code @ line number ?00 00 Manual start given from console ?Ol .00 ?Ol .43 Interrupt from keyboard via CTRL/C Group zero is an illegal line number Illegal step or line number used ?Ol .89 GOTO was not used as one word ?0l .;2 ?Ol .:3 Line number is too large— Double periods found in a line number ?02.48 Nonexistent line referenced by DO . ?Ol.35 ?02.63 Nonexistent group referenced by DO ?02.81 Storage was filled by push-dOWn list ?03.09 Nonexistent line used or a tight loop ?03 .31 Illegal command used ?04 07 ?04 35 ?04 48 Left of ?04 56 Illegal terminator in FOR command ?05 63 Bad argument to MODIFY ?06. l3 Illegal use of function or number Storage is filled by variables . . . . . ?06.64 No space after IF or illegal format in error in FOR or SET Excess right parenthesis encountered = FOCAL-8 Code Meaning ?07.l4 ?07.34 Operator missing in an expression or double E No operator used before parenthesis ?07.<0 Double operators used ?07.;l ?07.;8 No argument given after function call Illegal Function name given ?08 .50 Parentheses do not match ?09 .16 Bad argument in ERASE ?09.50 Maximum group number exceeded ?ll.20 Input buffer has overflowed ?12.83 Storage was filled by text ?20.4i Logarithm of zero requested ?23.35 Literal number is too large ?26.9l ?26.96 Negative exponent used. Exponent is too large ?28 .58 Division by zero requested ?30 .48 Imaginary square roots required ?31.<7 Illegal character or unavailable command or unavailable function used. NOTE The above diagnostics apply only to the version of FOCAL 1968 issued on tape DEC-OB-AJAC-PB. FOCAL-9 I FORTRAN (4K) PURPOSE FORTRAN (4K), FORmula TRANslator, for the PDP—8 computer is used to compile, debug, and operate a user program written in the PDP-8 version of the FORTRAN language. Compilation requires only one pass. (See DEC-08-AFCO-D For details.) STORAGE REQUIREMENTS Compiler and symbol table requires locations 0003-7577 (7574 8 locations) Starting Address=0200 Symbolprint requires locations 0600-0777 (2008 location) Starting Address=0600 Operating System requires: locations 0—5177 for paper tape 1/0 (52008 locations) locations 0-5777 For DECtape [/0 (60008 locations) Starting Address=0200 LOADING BIN is used to load the Compiler, core. Symbolprint, and Operating System into The user's program is loaded by the appropriate FORTRAN system program above . FORTRAN(4)-I D egress Loud STOP Co RTRAN ' ._ Using Depress STOP H LOAD Depress Turn Hiqh- Spud Reader _ _ _ _ SM y“ sn-ozoo su _ pil Exland-d Memory ? ©—D{ _.| See figure BIN 2 - _ F DF- Desired IF = Field Field Of Compiler ld—— ADD TTY To LINE Low-Spud Reader Which Rludor SI! LSR To FREE ? Selocl 1/0 Comml Door." CONT mic Sal SR Bil |1=1 Correction Mode ? Sol LSR To START Error Diugnoslics Corracl Error ? 7 Yes Dynamic Correclion Mode '2 Remove Figure FORTRAN(4)-1 Compiled Tape Compiling a FORTRAN Program FORTRAN(4)-2 SYMBOLPRINT The Symbolprint program is used to print out a memory map of the compiled source program. The memory map is useful when debugging the program. Symbolprint is run immediately after compiling a source program and before compiling another or loading the Operating System. NOTE Symbolprint destroys the Compiler's DECtape I/O processors. Therefore, the Compiler must be reloaded to compile a source program containing DECtape [/0 statements. Compile —| See Figure FORTRAN (4) I . — Load Symbolprint — ~ ‘ _ _ _ —————— -I See Figure BIN-2 Depress LOAD ADD Turn TTY To LINE Depress START Memory Map Is Printed On Teletype Figure FORTRAN(4)-2 Generating a Memory Map Using Symbolprint FORTRAN(4)—3 Load FORTRA N —————— Operating System ~| See Figure BIN-2 Load 552 Over|ay Tape Using BIN Using Set DF= Desired Field Extended Memory 7 Set IF = Field 0! Op Sys SR=0200 Depress LOAD ADD H iqh- Speed Reader Low-Speed Reader Put Put Compiled Tape [n HSR Compiled Tape ln LSR Select Switch Options Turn TTY To LINE And Activate Selected 1/0 Devices Turn LSR To START Depress START Remove Compiled From Reader Tape Compiled Program I: Figure FORTRAN(4)-3 Loaded Loading 0 Compiled FORTRAN Program FORTRAN(4)-4 Load Compiled Program —————— FORTRAN —{ See Figure FORTRAN(4)-3 Select No Control Turn TTY To LINE High Speed flinch Low-Speed punch - Depress POWER HSP To Depress LSP ON ON Generate Leader Top. Generate Leader Top. Deprus CONT Error Diagnostics ? C? Correct Error VI‘ ? Output ls Result 0F FORTRAN Prom Dcprcn LOAD ADD RI-EXOCUM Progra m NOTE If the FORTRAN program has been debugged, the internal stack overflow/underfiow test can be removed to speed up program execution by setting location 0404:7000. Figure FORTRAN(4)-4 Executing 0 Compiled FORTRAN Program FORTRAN(4)—5 INPUT/OUTPUT CONTROL The selection of I/O devices for both the Compiler and Operating System is controlled by setting the console switches as shOWn below. SR Bit Set To 0 0 Results The program contains only paper tape I/O statements. 1 1 The program contains DECtape I/O statements. O Compiler: source Use low-speed reader for input of program . Operating System: Use low-speed reader For input of object program and the keyboard For ACCEPT statements. Use the high-speed reader. 1 O 2 Compiler: Use Teletype and low-speed punch for compiler output (interpretive code) and diagnostics . Operating System: Use Teletype and low-speed punch for TYPE statements. i Use the high-speed punch (diagnostics still appear on the printer). I/O selections cannot be changed without reloading the compiler. DECTAPE I/O STATEMENTS OPTION DYNAMIC ERROR CORRECTION The DECtape I/O statements are the READ and WRITE Statements. The 1/0 statements option must be set before compiling or running a program. Results SR Bit Set To 0 0 Delete DECtape [/0 processing routines. 1 Use DECtape I/O processing routines. When compiling in the dynamic correction mode (see Note, below) the user can a correct a statement, which the compiler has determined contains source-language error, by reentering the offending line from the key- board. To implement the dynamic correction mode set SR bit ii shown in Figure FORTRAN(4)-l . FORTRAN(4)—6 T as If an error is detected, the diagnostic is typed out in the normal fashion and the computer halts. statement: = To correct the Set LSR to FREE Depress CONT Type the new line in its entirety (excluding the statement number if any) followed by a carriage return-line feed. Set LSR to START and compilation will continue. Tol eave the dynamic correction mode, restart the compiler at location 0200 with SR bit H = 0. NOTE This Feature applies only to the low-speed paper tape reader. DIAGNOSTICS Format: Compiler xxxx yy 22 where xxxx is statement number of last numbered statement, yy is numbered statement, yy is number of statements since the last numbered statement, and 22 is error code (numbers in octal). Code Explanation 00 Fixed- and floating-point modes are mixed. 01 Two operators next to each other. 02 03 Compiler error; reload compiler. Illegal comma in arithmetic statement. 04 Too many operators in a statement. 05 06 Function argument is in fixed mode. Variable subscript in floating-point mode, or an operator 07 More than 6410 variable names in program. l0 l2 Program too large. Unpaired parentheses. Illegal character. 13 Error in statement format. 14 Program too large, or duplicate statement numbers. Subscripted variable defined prior to DIMENSION statement is missing I] 15 . subscripted variable not in DIMENSION statement, or operator missing in fixed-mode expression. Statement too long. Floating-point operand should be fixed-point. or 16 I7 22 Referenced statement number not in program. More than 4010 numbered statements in program. Too many incompleted operations in statement. 23 More than 2010 statements referenced before being defined. 24 Illegal attempt to compile READ or WRITE statement. 20 21 FORTRAN(4)-7 Format: Operating System "TILT" nn where nn is the error code. Action Taken When Possible Cause Code I l Attempt to divide by zero. CONT is Depressed Quotient set to + or - largest number representable in computer and execution continues. i2 Floating—point eXponent on input greater than + or - System executes next instruction. 2047. l3 Illegal operation code. System executes next instruction. l4 Transfer to location 0 or I. No recovery possible; recompile. l5 Nonformat statement used as Next instruction is executed. FORMAT statement. l6 Illegal FORMAT statement Rest of statement is examined. I7 Attempt to fix large floating- Ignored . point number. 20 21 22 Attempt to square root a negative Square root of absolute value is number. taken. Attempt to raise a negative num- Absolute value is raised to power ber to a power. specified. Attempt to find logarithm of 0 or 3] negative number. Attempts to find logarithm of absolute value. Select error: system halts with called unit in bits 0-2 of AC Recovered by correcting logical unit and depressing CONT. (0-3 with DECtape 552/555). 32 Physical tape error System halts with error status in . AC. 33 DECtape buffer exceeded. Ignored . 34 DECtape control switch set incorrectly. Ignored . 76 System stack overflow . No recovery possible. 77 System stack overflow . FORTRAN(4)-8 Same as above . Recompile. FORTRAN (8K) PURPOSE The FORTRAN(8K) Compiler and Operating System is used to compile a source program written in the execute the FORTRAN(8K) language and to debug and compiled program. FORTRAN(8K) consists of a two-pass Compiler, Linking Loader, Run-Time Monitor, Operating System, and a library of subprograms. (See DEC-O8-A2AO-D for details.) STORAGE REQUIREMENTS Compiler requires locations 1000—2000 (lOOl8 locations) Starting Address = Cl 1000 Operating System requires locations 0006-7577 (75728 locations) Starting Address EQUIPMENT REQUIREMENTS = SA of Main Program (see Memory Map). PDP-8/I, 8/L, 8, 8/S, or 5 computer with 8K words of core memory and a high-speed reader and punch. The PDP-5 requires a PDP—8 extended mem— ory control modification. LOADING FORTRAN(8K) is loaded into core memory using the BIN Loader. The user's FORTRAN source program is loaded, compiled and executed using FORTRAN(8K). FORTRAN(8K)-1 Load RIM —————— [mo Field I “I See Figure RIM—1 8 -2 DF=I 1F=1 SR=7756 Tape In HSR Yes HSR Stops A1 End 0' Tape Depress STOP Remove Tape From HSR BIN Is Loaded Into Field 1 Figure FORTRAN(8K)—] ILoading BIN Info Data Field 1 Using RIM with HSR FORTRAN(8K)-2 SE Loud BIN Into Field 1 ______ —| See Figure FORTRAN(B)—1 29 2: < CE .— C: 0 Sev sw=o17777 _______ DF=O F“ SR=7777 (P0551 0r2)ln HSR Remove Compiler Tape From HSR FORTRAN Compiler (Pass10r 2) Is Loaded Figure FORTRAN(8K)-2 Loading FORTRAN Compiler (Pass 1 or 2) Using BIN with HSR Info Field 1 FORTRAN(8K)-3 LI. FORTRAN Load —————— Compiler (Possl) -| See Figure FORTRAN(8)-2 Initialize u Sei SW=H1000 (n—‘U 1 1 ‘“ u n Depress STOP Depress LOAD Pu? ADD Source Program HSR Tape lnlo Depress Turn HSP To ON TTY Wail Of To LINE For End OulpuiTope Compiler Oulpul Tape Is In Two Seclions. Seperoled By Leadar/ Trailer Tape Error Diagnosl ic ? Depress STOP Remove Outpul Tape From HSP Remove Sourcerqmm Tape From HSR Compile Anolher Source Two 7 Figure FORTRAN(8K)-3 Executing Pass 1 of the FORTRAN Compiler FORTRAN(8K)—4 Load FORTRAN Compiler (Pan 2) ------ 4 See Figure FORTRAN (8)~2 S? 2'; Z Se! 3? Fur Fim Secvion SW'H'OOO O'Pass10u'puv Tape Into HSR Depress STOP Depress CONT Depress LOAD ADD HSR Stops A! End 0' Tape Pu! Second Section 01 Pass 1 Oucpuv Pass In": HSR Remove Tape From HSR Depress HSP To ON Error Diagnos'ic Turn TTY To LINE Depress START Oufput Is A Relacamble Binary Tape And The Symbol Table Typed Compile Anomer Pass 1 Yes Tape ? HSR SVOps A? End Of Tape Remove Tape FORTRAN Compilation CompleteFrom HSR Yes Error Diagnostic 7 Correct Error Figure FORTRAN(8K)-4 Executing Pass 2 of the FORTRAN Compiler FORTRAN(8K)-5 < a: '— I 0 LL Load BIN —————— In? Se? Field 1 sw=ov7777 Loader HSR In -{ See Fiiure FORTRAN(8)-1 _______ DF: 0 “2:, SR= 7777 HSR Stops A1 End Of Tape Depress STOP Remova Rabcmlng Linkhg Loodur Taps From HSR Relocating Linking Loader 1: Loaded Figure FORTRAN(8K)-5 Loading Relocating Linking Loader Using BIN wifh HSR FORTRAN(8K)-6 Reloca'iw Lgaq —————— Linking Loader sw =o16200 Sui ______ -{ s" Figure FORTRAN (8)-5 DF-O 1F, 1 sn-szoo Depress STOP TTY To Llrfi Turn LOAD ADD Depress PM 0 Relocmable Maln Program ______ Binary Tape In HSR 0r Subprogram SWIO‘OZOO 5M Select - Swl'ch Option ______ Sea Linking "if“ 1| Loader nu Depress START Ya s Error Diagnostic 7 Prim Yes 5" SR BIO 1-1 Storage Map ? Na Remove Depress CONT Relocaiabla Binary Tape Fram HSR All Relocaiable Binary Twas Loaded ? Figure FORTRAN(8K)-6 Loading Relocaiable Binary Tapes Using the Relocating Linking Loader FORTRAN(8K)-7 $21 SW = SA Ger SA From _ of Main Program _ _ Storage Map Depress STOP Depress LOAD ADD Punch Program Resul V5 Deprzss HSP ON 7 Put Dara Tape Into HSR Dopress START Program Is Running Program Resulrs Are Primed And/Or Punched Figure FORTRAN(8K)-7 Executing Sfored FORTRAN(BK) Program FORTRAN(8K)-8 Pass 2 Symbol Table Immediately following the punching of the pass 2 relocatable binary tape, the entire symbol table is typed. as Symbols are grouped in descending order follows. a. External symbols (predefined symbols are suffixed with U2) b. Compiler symbols (preceded by a left bracket) c. User variables (preceded by a back-slash) cl. Constants (preceded by a right bracket) e. Statement numbers (preceded by an up-arrow) f. Special compiler symbols (preceded by a left- arrow) All undefined symbols are suffixed with U1 , and are usually due to a reader error Linking Loader There are only two restrictions when loading with the Linking Loader: Restrictions a. b. Linking Loader Switch Options . The first program or subprogram loaded must have the largest common storage declaration. A program or subprogram must not cross a memory field boundary. The available switch options are: Print the number of pages remaining in each field; Bit 0=i do not print storage map. Bit 0:0 Do not print. Bit l=l Print storage map followed by number of remaining pages. Bit i=0 Do not print. Bit 10:] Load next subprogram into field l. Bit l0=0 Do not load next subprogram into field l. Bit “:1 Load next subprogram into field 0. Bit “:0 Do not load next subprogram into field 0. If neither bit 0 nor bit 1 is set to upon depressing CONT 1, another subprogram will be loaded . If neither bit 10 nor bit ii is set to l, the next subprogram will be loaded in the some memory field as the preceding subprogram. If both bits 10 and ii are set to field l. FORTRAN(8K)—9 l, the next subprogram will be loaded into DIAGNOSTICS E#XXXX Format: Compiler YYYY+ZZZZ where XXXX is an error code, YYYY is the statement number of the last numbered statement, and ZZZZ is the number of statements (including comments) since the last numbered statement. DO?? at the end of the compiled tape means there is an ended DO or loop illegal DO loop nesting within the program. Pass I Error Code 000] 0002 0003—0009 0010—0011 0012 0013-0014 0015 0016—0017 0018-0025 0026-0027 0028 0029—0032 Explanation Illegal continuation line Line too long or improperly Formed statement Improperly Formed arithmetic expression Improper real constant Improper integer constant Improper real constant Pass l symbol table exceeded Improperly formed COMMON statement Improperly Formed DIMENSION statement Improperly formed computed GO TO statement Improper index in computed GO TO statement 0033-0035 Improperly Formed IF statement Improperly formed DO statement 0036 Too many nested DO statements 0037 0040 Improperly Formed FORMAT statement Improperly Formed arithmetic expression Arithmetic expression too complex Improperly Formed arithmetic expression 004] Mixed mode arithmetic expression 0038 0039 0042—0045 Improperly formed SUBROUTINE or FUNCTION statement 0046-0049 0050 005 I 0052-0056 Improperly Formed READ or WRITE statement Excessive subscripts Illegal equivalencing Improperly Formed EQUIVALENCE statement Pass 2 Error Code 0672 3303 Explanation Hollerith statement counted incorrectly 4524 Pass 2 symbol table exceeded 6636 Statement number duplicated Any other pass 2 error can be corrected by repeating pass I. FORTRAN(8K)—10 Linking Loader Format: ERROR XXXX where XXXX is the error code number. Error Code Explanation 000 i Loader has read more than 6410 subprogram names 0002 Current subprogram is trying to load above location 0003 Current subprogram is trying to increase the size of 0004 0005 storage Checksum error on input tape Illegal relocation code 0006 An error is in pass 2 7600 common All errors are fatal except 0002, which can be corrected by resetting SR=correct option, putting leader code of tape over reader head, and depressing CONT. Format: "XXXX" ERROR AT LOC NNNN where XXXX is error code and NNNN is location of error. Run-Time Monitor Error Code "ATAN " "DIVZ" IIEXP "FMTI "FMT2 II " " "FMT3" "FMT4" "FMT5" "FPNT" IISQRT II Explanation Result exceeds capacity of computer Attempt to divide integer by 0 Result exceeds capacity of computer Multiple decimal points E or . in integer Illegal character in I, E, or F Field Multiple minus signs Invalid FORMAT statement Improperly formed floating-point number Attempt to square root a negative number To pinpoint the location of a run-time error: a. From the storage map, determine the next lowest numbered location (external symbol) which is the entry point of the program or subroutine containing the error. b. c. cl. Subtract (in octal) the entry point location of the program or subroutine containing the error from the LOC of the error in the error message. From the pass 2 symbol table, determine the relative address of the external symbol found in step a and add that relative address to the result of step b. The sum of step c is the relative address of the error, which can then be compared with the relative addresses of the numbered statements in the program. FORTRAN(8K)-H SECTION 3 D ECTAPE TCO1 BOOTSTRAP LOADER PURPOSE The TC01 Bootstrap Loader is used to load the DECtape Library System programs into core memory. See DEC-OS-LUAA-D and Section 4 of this manual for details. STORAGE W REQUIRED The TC01 Bootstrap Loader requires locations 7600-7623 (248 locations). Starting Address=7600 DECtape Control (TC01) and at least one DECtape Transport (TU55) EQUIPMENT LOADING The TCO1 Bootstrap Loader may be toggled into core using the console switches or it may be read into core using the RIM Loader. and corresponding instructions are listed below. Location Instruction 7600 6224 6774 7601 7602 1221 7603 4213 7604 1222 7605 3355 7606 1223 7607 4213 7610 0000 7611 0000 7612 0000 7613 0000 7614 6766 7615 3354 7616 6771 7617 5216 7620 5613 7621 0600 7622 7577 7623 0220 DECTAPE—1 The locations Initialize Using Yes Extended Memory ? 50' DF= Field IF = 0 Orl Field O OH Na Se! SR I 7600 Depress LOAD ADD Set SR: First Instruction Depress DEP Set SR= Next Instruction Depress DEP Al I No Instructions In YO‘ Finished Figure DECTAPE-i Toggling in TCO] Bootstrap Loader DECTAPE-2 Load RIM ------ Using -I See Figure RIM-I 8-2 5:1 Yes or: x FieldO IF = Field Of RIM‘ Extended Memory 7 U) 2 Lu Set '— SR=7756 (I) >. U) Lu 0. Depress LOAD ADD < '— 0 Low H igh— Speed Reader - Speed Reader Put Bootstrap Tune In LSR Put Bootstrap Tape In HSR Turn TTY To LINE Turn LSR Ta START Deprus START Tape Reads In ? Ye$ . RIM must be in Field 0 Tape Stops Remove Tape From Readur TCQ‘I Bootstrap . Loader 1: Landed Figure DECTAPE-2 Loading the TCOI Bootstrap Loader Using RIM DECTAP E-3 Lu D Load TCOI SM 4 See Figure DEC TAPE-2 . _ Bookshop Loader _ _ SR=7600 Depress LOAD ADD Deprass EXAM No MB- First Instrudion ? 86' SR =MA Depuss LDAD ADD Set SR=Correcc MB= Next Instruction Ins'rucfion Depress DEP AH Instructions Checked Figure DECTAPE-3 Checking TCO] Bootstrap Loader DECTAP E—4 DECTAPE LIBRARY SYSTEM PURPOSE The DECtape Library System is a collection of five programs (INDEX, ESCAPE, UPDATE, DELETE, and GETSYS) stored on DECtape. They are used to load named files into core memory, define new named files, delete named files, and to create a new Library System. See DEC—08—SUBO-D for details. STORAGE REQUIREMENT The Five library programs will occupy the First 408 blocks of a certified DECtape. 0) E [— m EQUIPMENT —‘_"‘_ W The DECtape Library System requires a DECtape control one (TCOI) and at least 5 Lu a. E DECtape transport (TU55). 8 D LOADING The TCOI Bootstrap Loader is used to load the DECtape Library System from DECtape into care memory. TCO 1 Load ______ Bootstrap Loader —| See Figure DECTAPE-2 Put Library System DECtape 0n Transport Set Unit Selector To 8 Depress REMOTE Depress WRITE ENABLED Depress LOAD ADD Depress START DECtape Library System [s Loaded Into Core Figure DECTAPE-4 Loading DECtape Library System Using TCOI Bootstrap Loader DECTAPE-5 LIBRARY SYSTEM The Library System tape contains the Five permanent programs explained below. INDEX causes the names of all files on the library tape to be typed. ESCAPE causes the Library System to exit core, and restores the RIM, BIN, and DECtape Bootstrap Loaders in core. UPDATE allows the user to add Files to the library tape. When called, UPDATE types questions to be answered by the user (questions are underlined): NAME OF PROGRAM: user FRTRAN types a program name consisting of from one to six characters delimited by a carriage return. SA (OCTAL) : 0200 user types an octal address delimited by a carriage return. PAGE LOCATIONS: user types the locations required by his program. causes DELETE removes <0, 2200><2400><4600,7577>; A typing error UPDATE to retype the question. specified user program from the library tape. DELETE types a question to be answered by the user: NAME OF FILE TO BE DELETED: user GETSYS FRTRAN types name of program to be deleted. creates, on a specified tape unit, a new Library System tape consisting of the loaders and the system programs. When called, GETSYS types a question to be answered by the user: SKELETON TAPE WILL BE CREATED ON UNIT# user 5 types a single digit from one to seven terminated by a carriage return. DECTAPE -6 SECTION 4 DISK MONITOR SYSTEM DISK SYSTEM BUILDER PURPOSE The Disk System Builder program is an easy-to-use dialogue technique used to build the customized Monitor suited to the particular machine configuration and to store the created Monitor on the system device. The Monitor is then used to create and save the System Program Library on STORAGE the system device. See DEC-D8—SDAA-D for details. See DEC—D8-SDAA—D For specific core requirements. REQUIREMENTS EQUIPMENT REQUIREMENTS A 4K PDP-8/I computer with 3-cycle data break, an ASR33 Teletype, a high—speed reader/punch, and a DF32 Disk. A TCOI DECtape Control with at least one TU55 DECtape Transport unit may also be used. LOADING BIN is used to load the Disk System Builder program into core. m 0‘ L'. 2 0 E1 Xi 2 D DISK—I —————— —————— Load Disk —————— System Builder 5:: -|Su Figure BIN»‘| -{ See Figure BIN-2 Sat $Ri0200 Depress LOAD ADD Depress START Answer System Builder Questions Figure DISK—l BUILDING A MONITOR ______ -i See Building A Monitor Loading the Disk System Builder Using the BIN Loader When the System Builder is first loaded into core it will ask the Following questions, which the user answers according to his machine configuration. (User response is underlined, and each response is terminated by depressing the RETURN key.) *TYPE SIZE OF CORE (IN K) *§ *HIGH User enters core size of his computer SPEED PAPER TAPE? *_Y_E_5_ User answers YES or NO *PDP-8YS? User answers YES or NO *_i\_J_0_ *DISK? User answers YES or NO *_Y_i~2_s_ :TYPE — NUMBER OF DI SK 7 UNITS. User types number of disk units in his machine configurationc *TAPE? *YES User types YES if he has DECtape, NO if he does not NOTE: If specified as present, the disk is automatically selected as the system device; if not, DECtape unit 8 is selected. DISK —2 SYSTEM MODES The system is always running in either Monitor mode or user mode. Monitor Mode is entered whenever the Monitor is started or when CTRL/C (T C) is typed; Monitor responds with a dot ( User Mode . ) typeout. is entered whenever the system is executing a system or user program; user mode is indicated by an asterisk ( * ) typeout. a: O ': 2 O E x ‘2 o DISK-3 DISK SYSTEM BOOTSTRAP LOADER PURPOSE The Disk System Bootstrap loaders are used to load the Disk Monitor into care. The bootstrapping of Monitor into care is necessary only when the resident Monitor area (locations 7600—7777) has been cleared or its contents have been otherwise destroyed. System Builder leaves the resident portion of Monitor in core after building. There are two bootstrap routines, de— pending upon the type of system device. See DEC—D8—SDAA-D for details. STORAGE REQUIREMENTS Disk requires locations 200—204 and 7750-7751 Ad dress=02 00 (7 locations). Starting . DECtape requires location 200—222 (238 locations). Starting Address=0200. REQUIRED EQUIPMENT A 4K PDP-8/I computer with 3-cycle data break; and ASR33 Teletype; a high-speed reader/punch; a DF32 Disk and/or a TCOI DECtape Control with at LOADING least one TU55 DECtape Transport. Disk and DECtape Bootstrap loaders are loaded (toggled) into core memory using the console switches. The locations and corresponding instructions for both system devices are listed below. Disk Bootstrap Loader Location Instruction 0200 6603 0201 6622 DFSC 0202 5201 JMP .—1 0203 5604 7600 JMP I .+1 0204 7750 7576 7751 7576 0200 7600 Symbolic DMAR 7600 DECtape Bootstrap Loader *200 BEG, 7600 TAD MVB 0201 1216 0202 4210 JMS DO 0203 1217 TAD M201 0204 3620 DCA I CA 0205 1222 TAD RF 0206 4210 JMS DO 0207 5600 0210 0000 DISK—4 JMP I BEG DO , 0000 Location Instruction 0211 6766 DTXA 0212 3621 DCA 1 WC 0213 6771 DTSF 0214 5213 JMP 0215 5610 JMP I DO 0216 0600 0217 7577 0220 7755 0221 0222 Symbolic MVB, M201, 0600 7755 7754 CA, wc, 0220 RF, . DTCA -1 -201 7754 0220 After toggling in one of the above bootstrap routines, set the SR to 0200 and depress LOAD ADDress and START. dot ( . Monitor should respond with 0 ) after it has been brought into core. MONITOR DISK DISK—5 DISK SYSTEM PROGRAM LIBRARY PURPOSE The Disk System Program Library is a collection of programs in an open ended Monitor librarian which allows For easy additions and deletions. The standard package of programs includes an Editor, transparent DDT, Assembler, FORTRAN, Peripheral Interchange Program (PIP), and a transparent Loader. All the above programs are device independent and may use the disk for source files, The system is File structured and hardware independent via the System lay. Builder program STORAGE binary output, symbol table space, and over— . See DEC-D8-SDAA—D For specific storage requirements. REQUIREMENTS LOADING The Disk/DECtape System Programs are loaded using the Monitor. See DEC—D8-SDAA—D for details. DISK LIBRARY The library system includes the following programs. See DEC-D8-SDAA-D For complete details. DDT is the standard DDT-8 but is overlaid to appear to be only two pages long, and it has three breakpoints. EDITOR is a device independent version of the Symbolic to be edited PAL-D Editor, allowing sources using disk, high-speed reader, or Teletype in any combination. is a device independent version of the MACRO-8 Assembler (without macros and floating-point pseudo-ops) which OllOWS storage Ir'or over 1000 symbols. FORTRAN is a device independent version of 4K and—go operation PIP is a general tasks. FORTRAN, and is capable of load— . utility program; it relieves the programmer of tape copying It includes directory list and delete functions. LOADER is a transparent, device independent version of the BIN Loader. SAVE/CALL are Monitor commands which allow the user to save and retrieve, page basis, segment of core. DISK-6 on a SECTION 5 SYSTEM DEMONSTRATIONS SYSTEM DEMONSTRATIONS The demonstration programs convert the decimal numbers 20 through 30 into octal and type the octal numbers on the Teletype printer. These runnable programs demonstrate the ease with which DEC's system, utility, and service programs can be used. Each maior step involved in writing, loading, assembling, compiling, and executing the programs is explained; For most operations, the reader is referred to the appropriate flowchart in Sr‘ction 2. The machine configuration being used is a 4K PDP-8 computer, on ASR33 Teletype, and a high-speed paper tape reader/punch. A FORTRAN PROGRAM W This FORTRAN program calls a PAL III subprogram to convert the decimal numbers 20 through 30 into octal and to type the octal numbers on the Teletype printer All tape . input is through the high—speed reader, and all tape output is From the high—speed punch. The Teletype keyboard is used to issue on-line com- mands and write the programs using the Editor program. The Teletype printer provides hard copy of all typed input, symbol tables, diagnostics, memory map, program listings, and program results. Initialize (Section 1, Initializing the System) To Use the System Load RIM Loader (using high-speed reader version) (Figure RIM-l) Load BIN Loader (Figure BIN-l) SYSTEM To Generate Source Load Editor (Figure BIN-2) M Start Editor at location 0200 Command Editor to append incoming text to text buffer; type source program. A C * THE TYPE C DECIMAL NUMBERS FROM 2?} TO IN 30 OCTAL * . DIMENSION BSMF? PAUSE TYPE TOCT(9),NUM(1)"”T—Reserve 1 location For number. I :29 ’ 30 Reserve 27 locations (3 x 9) For the subprogram TOCT 39 40 <—————-—-Pause 60 5Q; CONTINUE 6%; FCJRMAT(/) number = 396710-27]0=3940]0 (396710:75778) STOP END DEMO-i Output is on the high-speed punch (Figure EDIT-2) Generate leader tape Command Editor to punch entire text buffer; depress CONT Insert FORM FEED character onto tape Generate trailer tape Remove punched tape from HSP and write some identification on its leader tape, e.g. , FORTRAN Source , 6/l9/68 . Restart Editor at location 0176 to clear text buffer Command Editor to append incoming text to text buffer; type source program A /ASSEMBLY PROGRAM NUM; 0 TOCT: 0 LOOP: TO TYPE AN OCTAL NUMBER Compute this address by subtracting the number *7543 of words reserved in the DIMENSION state— ment TAD NUM CLL RAL DCA TEM TAD M4 DCA INDX TAD TEM RTL above from 2710 +1 = 75778. 28m= 348 75778 348 75438 - RAL DCA TEM TAD TEM AND C7 TAD 026G = TSF JMP .-1 TLS CLA ISZ INDX JMP LOOP JMP I TOCT TEM: INDX: Mil: -4 07; C260: 266 Type CTRL/FO RM to return to command mode Output is on the high—speed punch (Figure EDIT-2) Generate leader tape Command Editor to punch entire text buffer; depress CONT Insert FORM FEED character onto tape Generate trailer tape Remove punched tape from HSP and write identification on leader tape, e.g. , PAL 111 Source, 6/19/68. DEMO-2 To Generate PAL III Load PAL 111 (Figure BIN—2) Object Program Tape Perform Pass 1 of assembly (Figure PAL-2) Note error diagnostics, if any. 0260 7574 CT 7573 INDX 7571 LOOP 7552 M4 7572 NUM 7543 TEM 7570 TOCT 7544 Symbol table is typed on printer. Perform Pass 2 of assembly (Figure PAL—2) PAL III object tape is punched on the high- speed punch Perform Pass 3 of assembly to get the program listing. (Figure PAL-2) /ASSEMBLY PROGRAM TO TYPE AN OCTAL NUMBER *7543 7543 7544 0000 NUM; D 0000 TOCT: 0 7545 1343 TAD 7546 7104 CLL RAL 7547 3370 DCA TEM 7550 1372 TAD M4 7551 3371 DCA INDX 7552 1370 TAD TEM 7553 7006 RTL 7554 7004 RAL 7555 3370 DCA TEM 7556 1370 TAD TEM 7557 0373 AND C7 7560 1374 TAD 0260 7561 6041 TSF 7562 5361 JMP 7563 6046 TLS 7564 7200 CLA 7565 2371 ISZ INDX 7566 5352 JMP LOOP 7567 5744 JMP I LOOP: NUM The program listing is typed on the printer. .—l SYSTEM TOCT / 7570 020% TEM: 0 7571 ®@@@ INDX: 0 7572 7774 M4: -4 7573 @@®7 C7: 7 7574 @26Q C260: 260 C26@ 7574 C7 7573 INDX 7571 LOOP 7552 M4 7572 NUM 7543 TEM 757% TOCT 7544 The symbol table concludes the program listing. DEMO-3 Load FORTRAN Compiler (Figure BIN-2) To Compile the FORTRAN Obiect Tape Compile the FORTRAN object program using the high-speed reader/punch (Figure FORTRAN(4)-I) Load Symbolprint (Figure BIN-2) I 7576 MUN 7575 Execute Symbolprint to get memory map (Figure FORTRAN(4)—2) Lower and upper limits of the program 7575 5206 To Execute the Program Load PAL III subprogram (Figure BIN—2) Load FORTRAN Operating System (Figure BIN-2) Load compiled FORTRAN program (Figure FORTRAN(4)-3) Execute the stored FORTRAN and PAL III programs (Figure FORTRAN(4)-4) ®fl24 @M25 @fl26 @827 GQBG @031 The program results are typed on the @032 printer. @033 @034 The ! (exclamation point) indicates that the Operating System has come to the END of @035 @036 the FORTRAN program. A FOCAL PROGRAM CALLING A PAL III SUBPROGRAM This is a demonstration of a FOCAL program calling an assembled PAL III subprogram to convert the decimal numbers 20 through 30 into octal and to type the octal numbers on the Teletype printer. All tape input is through the low-speed reader, and all tape output is From the low-speed punch. to the The Teletype keyboard is used to write the PAL III subprogram, to issue on-line commands Editor program, and to communicate with FOCAL. the Teletype printer provides hard copy of all As in the previous demonstration program, input and output. DEMO-4 Initiaiize (Section 1, Initializing the To Use the System System) Load RIM Loader (using low-speed reader version) (Figure RIM-i) Load BIN Loader (Figure BIN-1) Load Editor (Figure BIN-2) To Generate PAL III Source Tape Start Editor at location 0200 Command Editor to append incoming text to text buffer. Type the source program. *411 XFNEW *455O XFNEW: .LOOP; JMS TAD FLAC CLL RAL DCA TEM TAD M4 DCA INDX TAD TEM +1 I INTEGER /AND /GET BRING /INITIALIZE INTEGER INTO PART OF FLOATING AC AC COUNTER RTL RAL DCA TEM TAD TEM AND C7 TAD 026$ JMS I ISZ INDX JMP LOOP JMP I OUTDEV EFUNBI /CALL FOCAL'S /RETURN TO TYPE MAIN ROUTINE SYSTEM PROGRAM. / TEM, @ C7; 7 C268: 26% INDX, m M4: —4 INTEGER=52 OUTDEV=147 EFUNSI=1®6 FLAC=44 *27 BOTTOM; 4550-1 /SHORTEN TEXT BUFFER $ DEMO-5 TO ALLOW FOR FNEW. Line 4 is listed 4L XFNEW: JMS I INTEGER /GET INTEGER OF FLOATING AC The extra tab character is removed 4C XFNEW: PART JMS INTEGER I /GET INTEGER PART OF FLOATING AC Type CTRL/FORM to return to Command Mode Punch source tape on low-speed punch (Figure EDIT-2) T Generate leader tape P Command Editor to punch entire text buffer; depress CONT; source program is also typed out *411 XFNEW *455O XFNEW: LOOP; INTEGER JMS I TAD FLAC CLL RAL DCA TEM TAD M4 DCA INDX TAD TEM +1 /GET INTEGER /AND BRING PART INTO /INITIALIZE OF FLOATING AC AC COUNTER RTL RAL DCA TEM TAD TEM AND C7 TAD C26O JMS I ISZ INDX JMP LOOP JMP I OUTDEV EFUNSI /CALL FOCAL'S /RETURN TO TYPE MAIN ROUTINE PROGRAM. / TEM: 0 C7: 7 C26@: 260 INDX: 0 M4: -4 INTEGER=52 OUTDEV=147 EFUNSI=106 FLAC=44 *27 BOTTOM: 4550-1 /SHORTEN TEXT BUFFER TO ALLOW FOR FNEW. $ F Append a FORM FEED character to end of tape T Generate trailer tape Remove punched tape From LSP and write some identification on its leader tape, e.g. , PAL 111 Source Tape, 6/19/68. DEMO-6 Load PAL III Assembler (Figure BIN-l) To Assemble and Generate PAL III Obiect Tape Perform Pass 1 of assembly (Figure PAL-l) Note error diagnostics, if any. BOTTOM 0827 C260 4573 C7 4572 EPUNsI 0106 FLAC .044 INDX 4574 INTEGE @052 LOOP 4556 M4 4575 OUTDEV @147 TEM 4571 XFNEW 455g , _ Symbol Table I5 typed on printer Perform Pass 2 of assembly (Figure PAL-l) BD%(E($*%99=<98899:3Z'<+--@?<@%'+ Disregard meaningless characters typed Note error diagnostics, if any. Perform Pass 3 of assembly (Figure PAL-l) *411 XFNEW 0411 4550 4550 4452 JMS I 4551 1045 TAD FLAC 4552 7104 CLL RAL 4553 3371 DOA TEM 4554 1375 TAD M4 4555 3374 DOA INDX TAD TEM *4550 XPNEw, LOOP, INTEGER /GET INTEGER PART +1 /AND BRING /INITIALIZE 4556 1371 4557 7006 RTL 4560 7004 RAL 4561 3371 DCA TEM INTO OF FLOATING Ac Ac COUNTER 2 4562 1371 TAD TEM 4563 0372 AND 07 4564 1373 TAD 0260 4565 4547 JMS I 4566 2374 182 INDX 4567 5356 JMP LOOP 4570 5506 JMP I E g m ‘ OUTDEv EEUNGI /CALL FOCAL'S /RETURN TO TYPE MAIN ROUTINE PROGRAM. / 4571 0000 TEM, 4572 0007 C7, 7 4573 @26@ 026%, 26% 4574 @006 INDX, O 4575 7774 M4, -4 0 INTEGER=52 OUTDEV=147 EFUN3I=1®6 FLAC=44 *27 0027 4547 BOTTOM; 4550—1 /SHORTEN DEMO-7 TEXT BUFFER TO ALLOW FOR FE BOTTOM 0027 C260 4573 C7 4572 TEL/32M Egg: INDX 4574 INTEGE @QSE LOOP 4556 M4 4575 OUTDEV @147 TEM 4571 XFNEW 4550 Symbol Table concludes the program listing Load FOCAL (Figure BIN—2) To Execute the Programs Start FOCAL at location 0200 and reply to Initial Dialogue CONGRATULATIONSII YOU SUCCESSFULLY HAVE SHALL RETAIN I DO YOU HAVE I SHALL USE HAVE YOU THE LOADED EXTENDED EXTENDED MEMORY? 'FOCAL' ON FUNCTIONS? A PDP-8 COMPUTER. :YES :NO 4K. LOADED THE DISC SYSTEM? :NO Load PAL III Obiect Program tape (Figure BIN—2) Restart FOCAL at location 0200 and type * the FOCAL program ”30% -@G (?00.00 denotes a manual restart) * TYPE THE *1.1@ C *Iogfl C DECIMAL *1~3® FOR I=2@:3@3 *2-10 SET A=FNEW(I) *2-20 TYPE DO NUMBERS 2Q THRU 39 IN OCTAL 2.0 * I * *GO Execute the FOCAL program and it will call @024 the PAL III subprogram to type the results gm 25 on @026 @027 @030 0C31 0032 @633 @034 @035 @036 * DEMO-8 the printer A FOCAL PROGRAM This program demonstrates the ease and convenience of FOCAL. In three lines of programming, FOCAL alone converts the decimal numbers 20 through 30 into octal and types them on the Teletype printer. The other line, line 1. l is used to title the columns of typed numbers. , FOCAL is loaded into core memory using the high-speed reader. Communication with The Teletype printer, as before, provides hard copy of all FOCAL is through the Teletype keyboard. typed input and output. To Initialize (Section T, Initializing the System) Use the System Load HELP Loader (Figures HELP-l and 2) Load FOCAL (Figure BIN-2) Start FOCAL at location 0200 and reply to To Activate FOCAL For Use Initial Dialogue CONGRATULATIONS!! YOU HAVE SHALL I SUCCESSFULLY RETAIN DO YOU HAVE I SHALL USE HAVE YOU THE LOADED EXTENDED EXTENDED 'EOCAL' ON FUNCTIONS? MEMORY? A PDP-S COMPUTER. :YES :NO 4K. LOADED THE DISC SYSTEM? :NO Type the FOCAL program Using FOCAL * *Ul-QB TYPE *91-10 FOR N=2fl:3@3 DO 2 $ 2 NUMBER:OCTAL";! "NUMBER:DECIMAL TYPE %3:N:" m ";P’! * E m *G2.1® S P=®5 S *DE-EQ F J=0243 M=N S A=8T(4~J)$ S D=FITR(M/A)3 S M=M-D*A}S P=P+D*1@T(4—J) * *GO NUMBER: DECIMAL NUMBER, OCTAL =+ 2g :+ 24 =+ 21 =+ 25 :+ 22 =+ 26 2+ 23 =+ 27 :+ 24 3+ 3% =+ 25 =+ 31 :+ 26 :+ 32 =+ 27 :+ 33 =+ 28 :+ 34 :+ 29 =+ 35 =+ :30 =+ 36 Execute the FOCAL Program * DEMO-9 APPENDICES APPENDIX A | ASCII CHARACTER SET* 8-Bit 6-Bit Character Octal Octal A 301 B 302 C 303 03 8-Bit 6-Bit Character Octal Octal 01 I 241 41 02 " 242 42 # 243 43 44 D 304 04 $ 244 E 305 05 % 245 45 F 306 06 & 46 G 307 O7 ' H 310 10 I 311 11 ( ) 246 247 250 251 51 J 312 12 * 252 52 K 313 13 + 253 53 L 314 14 , 254 54 M 315 15 255 55 N 316 16 256 56 O 317 17 57 P 320 : Q 321 20 21 257 272 ; 273 73 R 322 22 < 274 74 S 23 24 275 75 > 276 76 25 ? 277 77 26 @ 300 W 323 324 325 326 327 27 C 333 33 X 330 30 \ 34 Y 331 J Z 332 31 32 334 335 T 336 36 O 260 60 ‘- 37 T U V — . / = 1 261 61 Leader/Trai ler 337 200 2 262 62 Line Feed 212 3 63 Carriage Return 4 263 264 64 Space 215 240 5 265 65 Rubout Blank 6 266 66 7 267 67 8 270 271 70 9 71 *An abbreviation For USA Standard Code for Information Interchange. 377 000 47 50 72 35 40 APPENDIX B GLOSSARY OF The following list of computer/programming terms is by no means complete. TERMs_] However, it does include many of the terms used in data processing. Words underlined are defined elsewhere in this glossary. Absolute Address (l) An address that is permanently assigned by the machine designer to a storage location. (2) A pattern of characters that identifies a unique storage location without further modification. Accumulator A register in which the result of an operation is formed; Abbreviation: Acronym A word formed from the first letter or letters of the successive words of a AC multiple word term. Accuracy The degree of freedom from error, i.e. or to a rule. Address A label, name, or number which designates a register or a location where information is stored. That part of an instruction which specifies the location , the degree of conformity to truth of an operand. Address A register in which an address is stored. Register Algorithm A prescribed set of well-defined rules or processes for the solution of a problem in a finite number of steps. Alphabet An ordered set of unique representations called characters, e.g. letters of the Roman alphabet. Alphanumeric Pertaining to a character set that contains both letters and numerals, and usually other characters Arithmetic Unit , the 26 . The component of a computer where arithmetic and logical operations are performed. ASCII An abbreviation for USA Standard Code for Information Interchange. Assemble To translate from a symbolic (source) program to a machine language (obiect) program by substituting binary operation codes for symbolic operation codes and absolute or relocatable addresses for symbolic addresses. Assembler A program that assembles Auto -Index ing When an absolute location 0010 through 0017 is addressed indirectly, the content of that location is incremented by one, rewritten in that same location, and then read as the effective address of the next instruction. Auxiliary Operation An operation performed by equipment not under direct control of the computer. Auxiliary Storage that supplements the primary storage. Storage . Off-line operation. Binary (l) Pertaining to a characteristic or property involving a selection, choice, condition in which there are two possibilities. (2) Pertaining to the or numeration system with a radix of two. Binary Digit One of the symbols 1 or 0. A digit in the binary scale of notation; called ‘— «:21. Bit A binary digit. Blank Character A character used to produce a space on an output device. Block A set of things, such as words, Boo ts trap A technique or device designed to bring itself into a desired state by means characters, or digits, handled as a unit. of its own action, e.g. , a routine whose first few instructions are sufficient to bring the rest of itself into the Branch computer from an input device. A point in a routine where one of two or more choices is made under control of the routine, i.e. , a conditional transfer (jump). Buffer Storage A part of core memory where information is stored temporarily during transfer; it may attempt to match the speeds of internal computation and the I/O de- vice, thus permitting simultaneous computation and input/output. Byte A group of binary digits usually operated upon as a unit, e.g. , 8-bit or 6—bit byte. Call To transfer control to a specified routine. Calling Sequence A specified set of instructions and data necessary to set up and call a given Carriage Return The Teletype operation that causes the next character to be printed at the routine. left margin. Central Processing Unit The unit of a computing system that includes the circuits controlling the in- terpretation and execution of instructions; the computer proper, excluding I/O and other peripheral devices. Character A single letter, numeral, or space mark used to represent information. Clear To erase the contents of a storage location by replacing the contents with blanks or zeros. Closed Subroutine A subroutine not stored in the main part of a program. Such a subroutine is entered by a jump operation and provision is made to return control to the main routine at the end of the subroutine. Coding To write instructions for a computer using symbols meaningful to the computer. Command A control signal, usually written as a character or group of characters, to direct action by a system program. Compile To produce a machine language routine from a routine written in source language by selecting appropriate subroutines from a subroutine library, as directed by the instructions or other symbols of the original routine, supplying the linkage which combines the subroutines into a workable routine and translating the subroutines and linkage into machine language. Compiler A program that compiles. Complement To form the negative of a binary word by replacing all 0 bits with 1 bits and vice versa. B-2 Computer A device capable of accepting information, processing it, and providing the results in a usable form. Computer Program A plan or routine for solving a problem on a computer. Computer Word A sequence of 12 bits treated as a unit and capable of being stored in one computer location. Console Usually the external front side of a device where controls and indicators are available for manual operation of the device. Control A character whose occurrence in a particular context initiates, modifies, or Character stops 0 control operation, e.g. , a character to control carriage return. Control Panel The part of a device console that contains manual controls. Convert To change the representation of data from one form to another. COPY To reproduce data, Core Memory The main storage device in the PDP-8 in which binary data is represented by leaving the original data unchanged. the direction of magnetization in each unit of an array of magnetic material. Cycle To repeat a set of operations until a stated condition is met. Cycle Time An interval of time in which one set of events is completed. Data A general term used to denote any or all facts, numbers, letters, and symbols. It connotes basic elements of information which can be processed or produced by a computer. Data Break A facility which permits I/O transfers to occur simultaneously with program execution on a cycle-stealing basis. locate, and correct mistakes in a program. Debug To detect, Decision A determination of future action. Delay The amount of time by which an event is retarded. Del imiter A character that separates and organizes items of data. Diagnostic Pertaining to the detection and isolation of a malfunction or mistake. Digit A character used to represent one of the non-negative integers smaller than the radix, e.g. Digital Computer , inbinary notation, either 0 or i. A device that operates on discrete data, performing sequences of arithmetic and logical operations on this data. Direct Address An address that specifies the location of an operand. Display A visual presentation of data. Document A medium on which information is recorded for human or machine use. Double Precision Pertaining to the use of two computerm to represent a number. Downtime The time interval during which a device is inoperative. Dummy An artificial address, instruction, or record of information inserted solely to fulfill prescribed conditions. Dump To copy the contents of all or part of core memory, usually onto an external storage medium . B-3 Dynamic Dump A dump that is performed during the execution of a program. Edit To rearrange information for machine input or output. Effective Address The address actually used in a particular execution of a computer instruction. End-Around Carry The action of adding the most significant bit of a binary number to the least significant bit. Execute To carry out an instruction or run a program on the computer. Executive Routine A routine that controls or monitors the execution of other routines. External Storage A facility or device, not an integral part of the computer, on which data usable by the computer is stored, such as paper tape, DECtape, or DECdisk. File Fixed Point A collection of related records treated as a unit. In a numeration system the position of the radix point is fixed with respect to one Flip-Flop end of the numerals, according to some convention. A basic computer circuit or device capable of assuming either one of two stable states at a given time. Floating Point A numeration system in which the position of the radix point is indicated by one part (the exponent part), the other part represents the significant digits (the fractional part). Flowchart A graphical representation of the sequence of instructions required to carry out a data processing operation. Format The arrangement ofda_ta. Function A specific purpose of an entity or its characteristic action. Hardware Physical equipment, e.g. Head A device that reads, records, or erases data on a storage device. Heuristic Pertaining to exploratory methods of problem solving. I/O Input arm or both. Identifier A symbol whose purpose is to identify, Indirect Address An address in a computer instruction which indicates a location where the , mechanical, electrical, or electronic devices. indicate, or name a body of data. address of the referenced operand is to be found. Initialize To set counters, switches, and addresses to zero or other starting values at the beginning of, or at prescribed points in, a computer routine. Input The transferring of data from auxiliary or external storage into the internal storage of the computer Instruction A set of bits (in an object program) or characters (in a source program) which as a Internal Storage . unit cause the computer to perform an operation. The storage facilities forming an integral physical part of the computer and directly controlled by the computer. Also called main memory and core memory. Interrupt To stop a process in such a way that it can be resumed. Jump A departure from the normal sequence of executing instructions in a computer. B-_-4 Label An identifier. Language A set of representations, conventions, and rules used to convey information. Leader The blank section of tape at the beginning of the tape. Least Significant The rightmost digit of a binary number. Digit Library An organized collection of standard and proven routines and subroutines which can be incorporated in larger routines. Library Routine A proven routine that is maintained in a program Load To place data into internal storage. Location library. A place in storage or memory where a unit of data or an instruction may be stored. Loop A sequence of instructions that is executed repeatedly until a terminal condition prevails. Machine An instruction written in machine language. Instruction Machine Language Macro Instruction A language designed for interpretation and use by the machine without translation. An instruction in a source language that is equivalent to a specified sequence of machine instructions. Manual Input The entry of data by hand into a device at the time of processing. Manual Operation The processing of data in a system by direct manual techniques. Memory (1) The erasable storage in the computer. (2) Pertaining to a device in which data can be stored and from which it can be retrieved. No Op An instruction that specifically instructs the computer to do nothing, except to Object Program proceed to the next instruction in sequence. The machine language program which is the output after translation from the source Octal language. The binary program which runs on the computer. (i) Pertaining to a characteristic or property involving a selection, choice, condition in which there are eight possibilities. (2) Pertaining to the numeration system with a radix of eight. or Off Line On Line Pertaining to equipment or devices not under direct control of the computer. Pertaining to equipment or devices under direct control of the computer; also directly and immediately to user commands, e.g. to programs operating , FOCAL and DDT. Open Subroutine A subroutine that must be relocated and inserted into a routine at each place it is used. Operand That which is effected, manipulated, or operated upon. Origin The absolute address of the beginning of a program. Output Information transferred from the internal storage of a computer to output devices or external storage. B-5 Overflow The generation of a quantity beyond the capacity of a register. Page PDP-8/I, a unit of 200 (octal) locations which may be addressed directly. Patch To modify a routine in a rough or expedient way. Predefined A named process consisting of one or more operations or program steps that Process In the are specified elsewhere in a routine. Procedure The course of action taken for the solution of a problem. Processor A computer program that includes the compiling, assembling, and related functions for a specific programming Program translating, language. The complete sequence of instructions and routines necessary to solve a problem. Program Library A collection of available computer programs and routines. Programming Language A language used to prepare computer programs. Protected A storage location reserved for special purposes in which data cannot be stored without undergoing a screening procedure to establish suitability for Location storage therein. Punched A paper tape on which a pattern of holes is used to represent data. Paper Tape Pushdown List A list that is constructed and maintained so that the next item to be retrieved is the most recently stored item in the Radix list, i.e. , last in, first out. The quantity of characters for use in each of the digital positions of a num— bering system. Read To transfer information from an to the Real Time input device to internal storage; also refers internal acquisition of data from memory. Pertaining to computation performed while the related physical process is taking place so that results of the computation can be used in guiding the physical process. Record A collection of related items offita_, treated as a unit. Register A device capable of storing a specified amount of data, such as one word. Reset To restore a storage device to a prescribed state. Restart To reestablish the execution of a program. Routine A set of instructions arranged in proper sequence to cause the computer to perform a desired task. Run A single, continuous performance of a program. Scan To examine sequentially part by part. Search To examine a set of items for those that have a desired property. Set To place a storage device into a specified state. Single Step Operation of the computer in which each instruction is performed in response to a single manual operation. B-6 Skip To Software The collection of programs and routines associated with the computer. Source A symbolic Language ignore one or more instructions in a sequence of instructions. language that is an input to a given translation process. Source Program A program written in a symbolic (source) language. Statement A meaningful expression or generalized instruction in a source Step One operation in a routine. Storage The assignment of blocks of data to specified blocks of storage. language. Allocation Storage Capacity Storage Device The amount of data that can be contained in a storage device. A device into which data can be entered, in which it can be held, and from which it can be retrieved. Store To enterdat_ainto a storage device. String A connected sequence of entities such as characters in a command string. Subroutine A routine that can be part of another routine. Switch A device or programming technique for making selections. Symbolic Address An address expressed in symbols convenient to the programmer. Symbolic Coding Writing instructions using symbolic notation instead of actual machine A_lg_b_e_|. instruction notation. System An assembly of software and hardware united to form an organized whole. Tape Drive A MES that moves tape past a_|_1ea_d. Temporary Storage Storage locations reserved for intermediate results. Terminal A point in a system at which data can either enter or leave. Time Sharing The interleaving of the time of a device. Toggle Pertaining to the operation of a flip-flop or switch. Translate To convert from one Underflow The condition that arises when a computation yields a result whose magnitude is smaller than the system is capable of representing. Variable A quantity that can assume any of a given set of values. Word A 12-bit unit of data in the PDP-8/I which may be stored in one addressable language to another. location. Word Length The number of bits in a word. Write To transfer information from internal storage to an output device or to auxiliary storage. APPENDIX C OFF-LINE TAPE PREPARATION AND EDITING In order to run a program on the computer, instructions and data must first be fed into the computer from the input device. The program and data could be typed into. the computer on-line. is valuable, and hunt-and-peck typing on—line can be an expensive process. However, computer time For this reason, it may be desirable to prepare the program and data oft-line, that is, to punch the program and data onto paper tape using a separate machine, one not actually connected to the computer. The ASR33 Teletype can be used off-line to prepare source program tapes, to duplicate tapes, and to edit tapes previously punched in the ASCII format. (Tapes punched from the Teletype keyboard are in ASCII Format.) When the Teletype power control switch is turned to LOCAL, the unit becomes an off-line tape preparation facility. Procedures for using the Teletype oft-line are listed below. The Teletype controls are described in Section I, ASR33 Teletype, and are shown in Figure INTRO-2. DU PLICATING TAPES a. Turn TTY to LOCAL. b. Set LSR to FREE. c. Put original tape into LSR. d. Depress LSP ON. e. Depress HERE IS key to generate leader tape. F. Set LSR to START. 9. After the original tape is read in, depress HERE IS key to generate trailer tape. h. Remove tapes from LSR and LSP. (New tape is punched and data is typed on printer.) PREPARING NEW PROGRAM TAPES When preparing a program tape off-line, the user should observe the same conventions of his programming language as when preparing a program on-line using Editor. operating procedures for off-line tape preparation. a. Turn TTY to LOCAL. b. Depress LSP ON. Following are the manual c. d. Depress HERE IS key to generate leader tape. Type the source program, observing the conventions of the programming language being used. NOTE The RETURN and LINE FEED keys must be depressed at the end of each line. Depressing the CTRL/TAB keys perforates the tab character onto the tape, and the typewheel moves only one position the right. to punched tab When the computer reads the character on output, it will cause the typewheel to tab (0 tab is usually equal to 10 spaces). e. After the source program is punched, depress HERE 15 to generate trailer tape. F. Remove the source program tape From LSP. CORRECTING TYPING ERRORS Typing errors can be corrected using the B. SP. button and the RUBOUT key. The B. SP. button backspaces the tape one column for each depression of the button, and the RUBOUT key per— forates all eight channels of the tape (this perforation is ignored by the computer). EDITING Punched tapes can be edited off-line. tions on the tape, However, the user must be able to read the perfora— otherwise, off-line editing is virtually impossible. or Turn TTY to LOCAL. b. Set LSR to FREE. c Put tape to be edited into LSR. d. Depress LSP ON. (D Depress HERE 15 to generate leader tape. t. Set LSR to START. 9. Observe the printer as the program is being typed, and h. Set LSR to STOP a few characters ahead of the text to be edited. i. Advance the tape one character at a time by toggling the LSR control from START to STOP. For Minor Edit: Advance tape past the text to be edited and use the B. SP. and RUBOUT keys to erase old text, then type and punch new text. C—2 (1) For Maior Edit: Set LSR to STOP one character ahead of the text to be edited. (2) Type new text. (3) Set LSR to FREE. (4) Advance tape past edited area (reading the perforated tape). (5) Set LSR to START. 1. Repeat from step F until editing is completed. k. Set LSR to START. I. After new source program tape is punched, depress HERE IS to generate trailer tape. m. Remove old tape from LSR and discard. n. Remove new tape from LSP and save. * *It's good programming practice to list the new tape before discarding the old, ensuring that the new tape is correct. C-3 APPENDIX D SUMMARY OF PDP-8/I Name SUBROUTINESW Memory DEC . Cal l mg Sequence * Number . Locat Ions (Dec I ma I) Function Subroutines 1. Square Root Single Precision FMAA - JMS SQRT - 2. Signed Multiply Single Precision FMBA - JMS MULT ADDRESS - /Square in AC 23 /Call /Return with root /Multiplier in AC 44 /Call /Address of multipli/cand /Return. High order product in AC; low order in MP1 3. Signed Divide Single Precision FMCA - JMS DIVIDE LOWD DIVSOR - /High dividend in AC 62 /Call /Low dividend /Divisor /Return quotient in AC; remainder in HDIVND 4. Signed Multiply FMDA Double Precision - JMS DMUL HORDMD HORDMR - /AC ignored /Call /Address of high order multiplicand /Address of high order multiplier /Return high order prod- 125 AC. uct in Remainder of product in B, 5. Signed Divide FMEA - Double Precision C, D. /Address of high order 105 dividend in AC JMS DUBDIV /Call HORDDR /Address of high order divisor - /Return. High order quotient in AC; low order quotient in DIVND4. High and low remainder in DIVND land DIVND2 *All of the calling sequences here assume that the data is in the correct format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program write-up. APENDICES Name Memory DEC . . Call mg Sequence * Number Locations (Decimal) Function Subroutines (Cont) 6. Sine Routine FMFA Double Precision - JMS DSIN ADDRESS /AC 0000 /Call /Address of high order = word - 248 (+double precision multiply) /Return. AC=0 i =0 Answer in ADDRESS and ADDRESS + l 7. Cosine Routine FMGA Double Precision - JMS DCOS ADDRESS /AC 0000 /Call /Address of high order = word - 8. Four—Word Floating FMHA Point Package 9. Signed Multiply (EAE) Single Precision sine and /Return. AC = 0 l = 0 double Answer in ADDRESS precision and ADDRESS + l multiply) See Floating Point System Programming Manual, Digital-8-5-S 8-21-F 64 (+ double precision 1041 /Multiplier in AC JMS MULT ADDRESS - /Call /Address ofmultiplicand /Return. Most significant product in AC; least significant in MP1 l0. Signed Divide (EAE) Single 8—22-F Precision - JMS SPDIV LOWD DIVSOR - /High dividend in AC /Call /Low dividend /Divisor /Return. Quotient in 45 AC; remainder in DVD. ll. Signed Multiply(EAE) 8-23-F Double Precision — JMS DMUL HORDMD HORDMR /AC ignored /Call /Address of high order multiplicand /Address of high order multiplier /Return high order product in AC; remainder in B, 104 C, and D. *All of the calling sequences here assume that the data is in the correct format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program writeup. D-2 Name Memory DEC Cal ling Sequence* Number Locations (Decimal) Function Subroutines (Cont) 12. EAE Floating Point 8-25-F See Floating Point System Program- See 8-5-5 ing Manual, Digital-8-5-S Package Utility Programs Punch Programs 1. RIM Punch 2. BIN Punch ASR33 PMPO 8-5-U Binary tape (see write-up) Binary tape (see write-up) 75A Processor Programs 1. Logical Subroutines FMIA — JMS INCOR Inclusive OR ADDRES /One argument in AC /Ca|l /Address of second 12 argument JMS EXCOR /Return /One argument in AC /Call ADDRES /Address of second - Exclusive OR 14 argument 2. Arithmetic Shift FMJA (General Calling Sequence) - /Negative number of shifts in AC JMS** ADDRES - /Cal| /Address to be shifted /Return with shifted number in AC 3. Shift Left, Single Prec. **SPSL 12 Shift Right,$ingle Prec. **SPSR 15 Shift Left, Double Prec. **DPSL (Least significant part in LSH) Shift Right,Double Prec. **DPSR (Least significant part in LSH) Logical Shift 24 FMKA Shift Right,Sing|e Prec. **LSRSP 12 g ShiftRight, Double **LSRDP (Least significant part in 24 Prec. LESTSG) g lat-J % (Left Shift Logical; identical to left shift arithmetic) *All of the calling sequences here assume that the data is in the correct format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program write— up. D-3 Name Memory DEC . Cal ling Sequence * Number . Locations (Dec me: I) Utility Programs (Cont) 4. EAE Instruction Set Simulator BCD 1. - 8-l7-U Binary Conversion BCD-to-Binary 8-lO-U BCD-to-Binary /BCD number in AC - 26 JMS DCDBIN /Call Conversion 2. (See write-up) 8-ll-U Conversion 3. Binary-to-BCD 8-l4-U JMS BCD — 4. Binary-to-BCD 8-15-U - Conversion /Binary number in AC 33 /Ca|l /BCD number in AC /AC contains binary 53 number (Used primarily for writing /Call /Return. JMS BCD mag tape in BCD Format) - BCD number in ONE and TWO Teletype Message SubRoutines l. Alphanumeric 8-l8-U /AC ignored - JMS MESAGE/Call Message 5i /First two characters of - message ) ) ) ) /Remaining characters "XX" represents the last character /End of message code /Return XXOO - 2. Teletype Output Package Type One Character 8-19-U Return is to location following "call" AC = 75 0000 (/AC 0-5 (/AC 6-H - = 00 = trimmed code /Call JMS TYPE Type Two Characters JMS TY2 /AC 0-5 lst character /AC 6-H =2nd character /Call JMS TDIG /AC 8-ll /Ca|| = - . Type a Digit = digit *All of the calling sequences here assume that the data is in the correct Format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program writeup. Memory DEC Name Calling Sequence* Number Locations (Decimal) Utility Programs (Cont) Type a Space JMS TYSP /Cal| Type a CR and LF JMS TYCR /Ca|l Type a Tab JMS TYTB /Call 3. Character String 8—20-U Typeout /AC initial address JMS TYPSTG /Call of string /Return. AC clear 64 /AC contains numbers /Call /Return. AC clear 38 /AC contains number JMS SSPRNT /Cal| 48 = - - Decimal Print Subroutines l. Unsigned Decimal Print, Single Prec. 8-22-U - JMS DECPRT - 2. Signed Decimal 8-23-U Print, Single Prec. - - 3. Unsigned Decimal 8—24—U - /Return. AC clear /AC ignored 73 JMS UDPRNT /Call Print, Double Prec. ADRESS /Address of high order word - 4. Signed Decimal Print, Double Prec. 8—25-U - JMS SDPRNT ADRESS /Return. AC clear /AC ignored /Ca|| /Address of high order 86 word - Decimal /Return. AC clear Input Routines i. Decimal to Binary In- 8-28-U /AC ignored 74 JMS SICONV/Call Un- put. Signed signed, Single Prec. or - - /Return. AC contains number 2. Decimal to Binary In- 8-29-U /AC ignored DICONV/Call ADRESS /Address for high order - “0 JMS put, Signed or Un- signed, Double Prec. word - /Return. AC clear Miscellaneous 1. Octal Memory Dump 8-6-U None 77 2. DECtape Library 8-3-U (See write-up) l7 System Loader *All of the calling sequences here assume that the data is in the correct format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program write- up. Name DEC Number Memory . Calling Sequence * . Locations (Decrmal) Utility Programs (Cont) 3. Incremental Plotter 8—12-U (See write-up) 8-21-U (See write-up) SUBO-D (See write—up) 128 Subroutines 4. Symbolic Tape Format - Generator 5. DECtape Subroutine 256 *All of the calling sequences here assume that the data is in the correct Format and that there are no overflow conditions to check upon completion. For details on the data and indicators for overflow conditions, the user is referred to the appropriate program writeup. HOW TO OBTAIN SOFTWARE INFORMATION Announcements for new and revised software, as well as programming notes, software problems, and documentation corrections are published monthly by Software Information Service in the following newsletters. Digital Software News for the PDP-8 Family Digital Software News for the PDP—9 Family These newsletters contain information applicable to software available from Digital’s Program Library (see title page for address). Software products and documents are usually shipped only after the Program Library receives a specific request from a user. Digital Equipment Computer Users Society (DECUS) maintains a user library and publishes a catalog of programs as well as the DECUSCOPE magazine for its members and non-members who request it. Please complete the card below to receive information on DECUS membership or to place your name on the newsletter mailing list. Please send C] DECUS membership information, or add my name to C] the DECUSCOPE non-membership list. And, send me the Digital Software News for the C] PDP-9 D PDP-8 NAME COMPANY ADDRESS CITY STATE 01754 Mass. Maynard, Street Main 146 Corporation Equipment Digital DECUS angulan by: paid be will Postage STATES UNITED THE IN MAILED IF NECESSARY STAMP POSTAGE N0 MAIL REPLY BUSINESS MASS. MAYNARD, 33 NO. PERMIT CLASS FIRST .............................................................. Staple and Here Fold . Tear Not Do Herc Fold ............................................................................ ......................................................................................... READER’S COMMENTS Digital Equipment Corporation maintains a continuous effort to improve the quality and usefulness of its publications. To do this effectively we need user feedback your critical evaluation of this manual. -— Please comment on this manual’s completeness, accuracy, organization, usability, and readability. Did you find errors in this manual? How can this manual be improved? Thus, the following periodically distributed publications are available upon request. Please check the appropriate box(s) for a current issue of the DEC also strives to keep its customers informed of current DEC software and publications. publication(s) desired. C] PDP—8/l Software Manual Update, a quarterly collection of revisions to current software manuals. D PDP-8/I User’s Bookshelf, a bibliography of current software manuals. (3 Program Library Price List, a list of currently available Family of 8 software programs and manuals. Please describe your position. Name Organization Street Department City State Zip or Country 01754 Mass. Maynard, Street Main 146 12 Building Control Quality Software Corporation Equipment Digital angulan by: paid be will Postage STATES UNITED THE IN MAILED IF NECESSARY STAMP POSTAGE NO MAIL REPLY BUSINESS MASS. MAYNARD, 33 NO. PERMIT CLASS FIRST ....u........................................................ Staple and Here Fold _ Tear Not Do Here Fold ........................................................................... ........................................................................................
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies