OS/8 System Reference Manual Order No. AA-H607A-TA ABSTRACT This document describes OS/8 system conventions, keyboard commands, and utility programs. SUPERSESSION/UPDATE INFORMATION: This manual supersedes sections of OS/8 Handbook (DEC-S8-OSHBA-A-D) and the OS/8 Handbook Update (DEC-S8-OSHBA-A-DN4). OPERATING SYSTEM AND VERSION: OS/8 V3D To order additional copies of this document, contact the Software Distribution Center, Digital Equipment Corporation, Maynard, Massachusetts 01754 digital equipment corporation * maynard, massachusetts First Printing, March 1979 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. Copyright (C) 1979 by Digital Equipment Corporation The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user~s critical evaluation to assist us in pre- paring future documentation. The following are trademarks of Digital Equipment Corporation: DIGITAL DECsystem-10 MASSBUS DEC DECtape OMNIBUS PDP DIBOL OS/8 DECUS EDUSYSTEM PHA UNIBUS FLIP CHIP RSTS COMPUTER LABS FOCAL RSX COMTEX INDAC TYPESET-8 DDT LAB-8 TYPESET-11 DECCOMM DECSYSTEM-20 TMS-11 ASSIST-11 RTS-8 ITPS-10 VAX VMS SBI DECnet IAS PDT DATATRIEVE TRAX CONTENTS Page DOCUMENTATION SET FOR OS/8 xiii CHAPTER 1 OVERVIEW 1-1 1.1 INTRODUCTION TO OS/8 1-1 1.2 OS/8 I/O DEVICES 1-2 1.3 HARDWARE CONFIGURATIONS 1-3 1.4 SYSTEM SOFTWARE COMPONENTS 1-4 CHAPTER 2 SYSTEM CONVENTIONS 2-1 2.1 PERMANENT DEVICE NAMES 2-1 2.2 FILE NAMES AND EXTENSIONS 2-2 2.3 UNITS OF STORAGE 2-4 CHAPTER 3 OS/8 KEYBOARD COMMANDS 3-1 3.1 INTRODUCTION 3-1 3.2 COMMAND FORMAT 3-4 3.3 COMMAND AND FILE OPTIONS 3-4 3.3.1 Command Options 3-5 3.3.1.1 The Slash Construction -- Single-Letter Options 3-5 3.3.1.2 The Parenthesis Construction -- Multiple- Letter Options 3-5 3.3.1.3 The Equal Sign Construction -- Octal Number Options 3-5 3.3.2 File Options 3-5 3.3.3 Additional Switch Options -- the Dash Construction 3-6 3.4 COMMANDS THAT REMEMBER FILE SPECIFICATIONS 3-6 3.5 USING WILDCARDS 3-7 3.5.1 Wildcards in Input Filenames 3-7 3.5.2 Wildcards in Output Specifications 3-7 3.5.3 Warnings and Suggestions 3-8 3.6 INDIRECT COMMANDS 3-8 3.7 USING DEFAULTS 3-9 3.8 GETTING HELP -- THE HELP COMMAND 3-9 3.9 ENTERING A COMMAND LINE -- CORRECTING AND PREVENTING ERRORS 3-10 3.10 ASSIGN 3-11 3.10.1 Canceling a Logical Name 3-11 3.10.2 Checking for Duplicate Names 3-11 3.11 BACKSPACE 3-12 3.12 BASIC 3-13 3.13 BOOT 3-14 3.14 CCL 3-15 3.15 COMPARE 3-16 3.15.1 COMPARE Output 3-16 3.15.2 COMPARE Options 3-17 iii CONTENTS (Cont.) Page 3.16 COMPILE 3-19 3.16.1 COMPILE Input 3-19 3.16.2 COMPILE Output 3-20 3.16.2.1 Output File 1 -- the Binary Code 3-20 3.16.2.2 Output File 2 -- the Listing File 3-21 3.16.2.3 COMPILE Options and Errors 3-21 3.17 COPY 3-22 3.17.1 COPY Input 3-22 3.17.2 COPY Output 3-22 3.17.3 COPY Terminal Display 3-22 3.17.4 Predeletion and Postdeletion 3-23 3.17.5 COPY Options 3-23 3.18 CREATE 3-24 3.19 CREF 3-25 3.19.1 CREF Options 3-25 3.20 DATE 3-26 3.21 DEASSIGN 3-27 3.22 DELETE 3-28 3.22.1 The Conditional DELETE 3-28 3.22.2 DELETE Terminal Display 3-29 3.22.3 DELETE Options 3-29 3.23 DIRECT 3-30 3.23.1 DIRECT Output 3-30 3.23.2 DIRECT Options 3-30 3.24 DUPLICATE 3-32 3.25 EDIT 3-33 3.25.1 Recalling Arguments 3-33 3.26 EOF 3-34 3.27 EXECUTE 3-35 3.28 GET 3-36 3.29 HELP 3-37 3.30 LIST 3-38 3.30.1 LIST Options 3-38 3.31 LOAD 3-39 3.32 MAKE 3-40 3.33 MAP 3-41 3.33.1 MAP Output 3-41 3.33.2 MAP Options 3-41 3.34 MEMORY 3-43 3.35 MUNG 3-44 3.36 ODT 3-45 3.37 PAL 3-46 3.38 PRINT 3-47 3.39 PUNCH 3-48 3.40 R 3-49 3.41 RENAME 3-50 3.41.1 RENAME Options 3-50 3.42 RES 3-51 3.43 REWIND 3-52 3.44 RUN 3-53 3.45 SAVE 3-54 3.45.1 The Job Status Word 3-55 3.46 SET 3-56 3.47 SKIP 3 57 3.48 START 3-58 3.49 SQUISH 3-59 3.50 SUBMIT 3-60 iv CONTENTS (Cont.) Page 3.51 TECO 3-61 3.52 TERMINATE 3-62 3.53 TYPE 3-63 3.53.1 TYPE Options 3-63 3.54 UA, UB, and UC 3-64 3.55 UNLOAD 3-65 3.56 VERSION 3-66 3.57 ZERO 3-67 CHAPTER 4 THE OS/8 SYMBOLIC EDITOR 4-1 4.1 INTRODUCTION 4-1 4.2 CALLING THE EDITOR 4-1 4.3 MODES OF OPERATION 4-2 4.3.1 Text Mode 4-3 4.3.2 Command Mode 4-4 4.3.2.1 Input Commands 4-5 4.3.2.2 Listing Commands 4-6 4.3.2.3 Output Commands 4-6 4.3.2.4 Editing Commands 4-8 4.3.2.5 Search Commands 4-9 4.3.2.6 Special Command Mode Characters 4-10 4.4 SEARCHING A TEXT 4-12 4.4.1 Single-Charaeter Search -- the S Command 4-12 4.4.2 The Character String Search 4-13 4.4.2.1 Intrabuffer String Search 4-13 4.4.2.2 Interbuffer String Search -- J Command 4-16 4.5 EDITOR OPTIONS 4-17 4.6 EDITOR ERROR MESSAGES 4-18 4.7 SUMMARY OF EDITOR COMMANDS AND SPECIAL CHARACTERS 4-19 CHAPTER 5 THE COMMAND DECODER 5-1 5.1 ENTERING I/O SPECIFICATIONS 5-1 5.2 COMMAND DECODER ERROR MESSAGES 5-3 5.3 THE CCL AND THE COMMAND DECODER 5-3 CHAPTER 6 BATCH 6-1 6.1 INTRODUCTION 6-1 6.2 BATCH PROCESSING UNDER OS/8 6-1 6.2.1 Input Files 6-2 6.2.2 Output Files 6-2 6.2.3 I/O Devices 6-2 6.2.4 Spooling 6-2 6.2.5 Entering File Specifications 6-2 6.3 BATCH MONITOR COMMANDS 6-4 6.3.1 Defining a BATCH Job 6-4 6.3.2 Using OS/8 Keyboard Commands 6-5 6.3.3 Using the Command Decoder 6-6 6.3.4 Additional Features 6-6 6.4 THE BATCH INPUT FILE 6-7 6.5 BATCH ERROR MESSAGES 6-9 6.6 RUNNING BATCH FROM PUNCHED CARDS 6-11 6.7 RESTRICTIONS UNDER OS/8 BATCH 6-12 6.8 BATCH DEMONSTRATION PROGRAM 6-13 v CONTENTS (Cont.) Page 6.9 LOADING AND SAVING BATCH 6-18 6.10 LOADING AND SAVING PROGRAMS FOR USE UNDER BATCH 6-18 6.11 TRANSFERRING THE SYSTEM SOFTWARE FROM CASSETTE TO THE SYSTEM DEVICE 6-19 6.12 RUNNING FORTRAN IV UNDER BATCH IN 32K 6-21 CHAPTER 7 BITMAP 7-1 7.1 FILE AND DEVICE SPECIFICATIONS 7-1 7.2 BITMAP OUTPUT 7-2 7.3 BITMAP ERROR MESSAGES 7-3 7.4 ASSEMBLY INSTRUCTIONS 7-3 CHAPTER 8 BOOT 8-1 8.1 BOOTING WITH BOOT 8-1 8.2 BOOT PRIORITIES 8-2 CHAPTER 9 BUILD 9-1 9.1 OS/8 DEVICE HANDLERS 9-1 9.1.1 Cassette Systems 9-3 9.1.2 Paper Tape Systems 9-3 9.2 CALLING AND USING BUILD 9-6 9.3 BUILD COMMANDS 9-7 9.3.1 The Hyphen Construction 9-8 9.3.2 PRINT 9-8 9.3.3 QLIST 9-9 9.3.4 LOAD 9-9 9.3.5 INSERT 9-10 9.3.6 DELETE 9-11 9.3.7 REPLACE 9-12 9.3.8 UNLOAD 9-13 9.3.9 NAME 9-13 9.3.10 ALTER 9-14 9.3.11 EXAMINE 9-15 9.3.12 DSK 9-15 9.3.13 CORE 9-16 9.3.14 DCB 9-16 9.3.15 CTL 9-17 9.3.16 VERSION 9-17 9.3.17 SIZE 9-17 9.3.18 SYSTEM 9-17 9.3.19 BUILD 9-18 9.3.20 BOOTSTRAP 9-19 9.4 BUILD ERROR MESSAGES 9-20 9.5 BUILD DEVICE HANDLER FORMAT 9-21 9.5.1 Header Block 9-22 9.5.2 Descriptor Block 9-22 9.5.3 Breakdown of DCB Word 9-23 9.5.4 Entry Point Offset 9-24 9.6 CREATING A SYSTEM HANDLER 9-25 CHAPTER 10 CASSETTE AND MAGNETIC TAPE POSITIONER (CAMP) 10-1 vi CONTENTS (Cont.) Page 10.1 CAMP COMMANDS 10-1 10.1.1 BACKSPACE Command 10-1 10.1.2 EOF Command 10-2 10.1.3 HELP Command 10-2 10.1.4 REWIND Command 10-3 10.1.5 SKIP Command 10-3 10.1.6 UNLOAD Command 10-4 10.1.7 VERSION Command 10-4 10.2 CAMP ERROR MESSAGE SUMMARY 10-5 CHAPTER 11 CROSS-REFERENCE PROGRAM (CREF) 11-1 11.1 CALLING AND USING CREF 11-1 11.1.1 CREF Options 11-1 11.1.2 Examples of CREF Usage 11-2 11.2 PSEUDO-OP HANDLING 11-3 11.3 INTERPRETING CREF OUTPUT 11-3 11.4 RESTRICTIONS 11-5 11.5 CREF ERROR MESSAGES 11-6 CHAPTER 12 DIRECT 12-1 12.1 CALLING AND USING DIRECT 12-1 12.1.1 DIRECT Options 12-2 12.2 DIRECT EXAMPLES 12-3 12.3 DIRECT ERROR MESSAGES 12-5 CHAPTER 13 DECTAPE COPY AND FORMAT PROGRAMS 13-1 13.1 DTFRMT 13-1 13.1.1 Loading Procedure 13-1 13.1.2 Using the Program 13-1 13.1.3 Error Messages 13-3 13.1.4 Details of DTFRMT Operation and Storage 13-4 13.2 TDFRMT 13-5 13.2.1 Operating Procedures 13-5 13.2.2 Error Messages 13-7 13.2.3 Details of TDFRMT Operation and Storage 13-8 13.3 DTCOPY 13-10 13.3.1 Error Messages 13-11 13.4 TDCOPY 13-12 13.4.1 Error Messages 13-13 13.4.2 Details of Operation 13-15 CHAPTER 14 DUMP 14-1 14.1 FORM FEEDS 14-2 14.2 ADDING THE DUMP HANDLER TO YOUR SYSTEM 14-2 14.3 FORMAT OF THE DUMP 14-2 CHAPTER 15 EPIC 15-1 15.1 LOADING EPIC 15-1 15.2 RESTART PROCEDURE 15-2 15.3 PAPER TAPE FACILITY 15-2 15.4 COMMAND FORMAT 15-2 15.5 DEFAULT OPTIONS 15-3 vii CONTENTS (Cont.) Page 15.6 ERROR CONDITIONS 15-4 15.7 LOW SPEED I/O 15-4 15.8 DEVICE CODES 15-4 15.9 EDITING CAPABILITY 15-5 15.9.1 Initial Command Format 15-5 15.9.2 Editing Commands 15-5 15.10 COMPARE CAPABILITY 15-8 15.11 ERROR MESSAGES 15-8 15.12 PAPER TAPE FORMAT 15-10 15.13 LOADING EPIC FROM PAPER TAPE 15-11 15.14 EPIC ASSEMBLY INSTRUCTIONS 15-11 CHAPTER 16 FILE-ORIENTED TRANSFER PROGRAM (FOTP) 16-1 16.1 CALLING FOTP 16-1 16.1.1 Input Specifications 16-1 16.1.2 Output Specifications 16-3 16.2 USING FOTP 16-3 16.2.1 Additional FOTP Commands 16-5 16.2.2 Advantages of Predeletion 16-7 16.2.3 Advantages of Postdeletion 16-7 16.2.4 Control Characters 16-7 16.3 FOTP OPTIONS 16-7 16.3.1 Examples of FOTP Specification Commands 16-10 16.4 ERROR MESSAGES 16-11 CHAPTER 17 FUTIL 17-1 17.1 INTRODUCTION 17-1 17.1.1 Special Characters Used in FUTIL 17-1 17.1.2 Running FUTIL 17-2 17.1.3 Access Method 17-3 17.1.4 Referencing Words on the Device 17-5 17.1.5 Numeric Item (or Numbers) 17-6 17.1.6 Errors and Error Messages 17-7 17.2 SINGLE-CHARACTER (ODT-LIKE) COMMANDS 17-7 17.2.1 Symbolic Output Formats 17-9 17.3 WORD-TYPE COMMANDS 17-11 17.3.1 Output Formats 17-12 17.3.1.1 DUMP 17-13 17.3.1.2 LIST 17-13 17.3.1.3 MODIFY 17-14 17.3.2 Search Limits 17-15 17.3.2.1 WORD (Search) 17-16 17.3.2.2 STRING (Search) 17-17 17.3.2.3 SMASK 17-18 17.3.2.4 SET 17-18 17.3.2.5 SHOW 17-19 17.3.2.6 FILE 17-20 17.3.2.7 WRITE 17-22 17.3.2.8 SCAN 17-22 17.3.2.9 REWIND 17-22 17.3.3 File Output 17-23 17.3.3.1 OPEN 17-23 17.3.3.2 CLOSE 17-24 17.3.4 Batch Operation 17-24 17.3.4.1 IF 17-24 viii CONTENTS (Cont.) Page 17.3.4.2 END 17-24 17.3.4.3 COMMENT 17-25 17.3.4.4 EXIT 17-25 17.3.4.5 EVAL 17-25 17.4 EXAMPLES 17-26 17.5 PROGRAM EXECUTION AND MEMORY ALLOCATION 17-33 17.6 COMMAND SUMMARY 17-34 17.7 SINGLE-CHARACTER COMMAND OUTPUT FORMAT SUMMARY 17-35 CHAPTER 18 MAGTAPE/CASSETTE PERIPHERAL INTERCHANGE PROGRAM (MCPIP) 18-1 18.1 CALLING AND USING MCPIP 18-1 18.1.1 MCPIP Options 18-2 18.2 MCPIP ERROR MESSAGES 18-4 CHAPTER 19 OCTAL DEBUGGING TECHNIQUE (ODT) 19-1 19.1 FEATURES 19-1 19.2 CALLING AND USING ODT 19-1 19.3 COMMANDS 19-2 19.3.1 Special Characters 19-2 19.3.2 Illegal Characters 19-4 19.3.3 Control Commands 19-4 19.4 ADDITIONAL TECHNIQUES 19-4 19.4.1 Current Location 19-7 19.4.2 Indirect References 19-7 19 5 ERRORS 19-7 19 6 PROGRAMMING NOTES SUMMARY 19-7 19.7 SUMMARY OF ODT COMMANDS 19-8 CHAPTER 20 PERIPHERAL INTERCHANGE PROGRAM (PIP) 20-1 20.1 CALLING AND USING PIP 20-1 20.1.1 PIP Options 20-1 20.1.2 Examples of PIP Specification Commands 20-6 20.2 ADDITIONAL INFORMATION WORDS IN FILE DIRECTORIES 20-8 20.3 PIP ERROR MESSAGES 20-8 CHAPTER 21 PIP10 21-1 21.1 CALLING AND USING PIP10 21-1 21.2 HOW TO COPY LARGE FILES WITH PIP10 (SR) 21-2 21.3 PIP10 OPTIONS 21-2 21.4 PIP10 EXAMPLES 21-3 21.5 ERROR MESSAGES 21-3 CHAPTER 22 RESOURCES (RESORC) 22-1 22.1 CALLING AND USING RESORC 22-1 22.2 RESORC OPTIONS 22-2 22.2.1 Fast Mode (/F Option) 22-2 22.2.2 Limited Mode (/L Option) 22-2 22.2.3 Extended Mode (/E Option) 22-3 22.3 RESORC ERROR MESSAGES 22-6 ix CONTENTS (Cont.) Page CHAPTER 23 RKLFMT DISK FORMATTER PROGRAM 23-1 23.1 RUNNING THE PROGRAM 23-1 23.2 STANDARD TEST PROCEDURES 23-2 23.2.1 RK05J Drive Cartridge Mounting Procedure 23-2 23.2.2 RK05F Drive Setup Procedure 23-2 23.3 FORMAT PROGRAM 23-3 23.4 ERRORS 23-4 23.5 PROGRAM DESCRIPTION 23-4 23~6 CONTROL CHARACTERS 23-5 23.7 MISCELLANEOUS 23-5 23.7.1 Waiting Message 23-5 23.7.2 End of Pass 23-6 23.7.3 Errors 23-6 23.7.4 Location Changes 23-6 CHAPTER 24 RXCOPY PROGRAM 24-1 CHAPTER 25 SET PROGRAM 25-1 25.1 TERMINAL ATTRIBUTES 25-3 25.1.1 Arrow 25-3 25.1.2 CODE n 25-3 25.1.3 COLumn n 25-4 25.1.4 ECHO 25-4 25.1.5 ESCape 25-4 25.1.6 FILL 25-5 25.1.7 FLAG 25-5 25.1.8 HEIGHT m 25-5 25.1.9 LC 25-6 25.1.10 PAGE 25-6 25.1.11 PAUSE n 25-6 25.1.12 SCOPE 25-7 25.1.13 TAB 25-7 25.1.14 WIDTH n 25-7 25.2 CARD READER ATTRIBUTES 25-8 25.2.1 CODE n 25-8 25.3 MAGNETIC TAPE ATTRIBUTES 25-8 25.3.1 PARITY x 25-8 25.3.2 FILES 25-8 25.4 SYSTEM ATTRIBUTES 25-9 25.4.1 INITIAL xxxxx 25-9 25.4.2 OS8 25-9 25.4.3 OS78 25-9 25.5 LINE PRINTER ATTRIBUTES 25-10 25.5.1 LA78 25-10 25.5.2 LA8A 25-10 25.5.3 LC 25-10 25.5.4 LV8E 25-10 25.5.5 WIDTH n 25-11 25.6 ANY DEVICE ATTRIBUTES 25-11 25.6.1 FILES 25-11 25.6.2 DVCode nn 25-12 25.6.3 LOCation n=m or LOCation n 25-12 25.6.4 READOnly 25-13 25.6.5 VERSION x 25-13 25.6.6 BLOCK b, LOCation n=m or BLOCK b, LOC n 25-13 x CONTENTS (Cont.) Page CHAPTER 26 SRCCOM 26-1 26.1 SRCCOM ASSEMBLY INSTRUCTIONS 26-1 26.2 LOADING SRCCOM 26-1 26.3 SRCCOM OUTPUT 26-2 26.4 ERROR MESSAGES 26-4 APPENDIX A CHARACTER CODES A-1 APPENDIX B LOADING PROCEDURES B-1 B.1 INITIALIZING THE SYSTEM B-1 B.2 LOADERS B-1 B.2.1 Binary (BIN) Loader B-6 APPENDIX C OS/8 DEMONSTRATION RUN C-1 APPENDIX D OS/8 FILE NAME EXTENSIONS D-1 APPENDIX E OS/8 DEVICE HANDLERS E-1 E.1 HIGH-SPEED READER/PUNCH E-1 E.2 LOW-SPEED READER/PUNCH E-1 E.3 TTY HANDLERS E-1 E.4 LINE PRINTERS E-2 E.5 VR12 SCOPE E-2 E.6 CARD READER E-3 E.7 DECTAPES E-3 E.8 MAGNETIC TAPE E-3 E.9 CASSETTES E-3 E.10 BATCH HANDLER E-4 E.11 DSK AND SYS E-4 APPENDIX F OBTAINING OS/8 PROGRAM VERSION NUMBERS F-1 FIGURES FIGURE 6-1 Sample BATCH Input File 6-7 6-2 Punched Card Input File 6-12 B-1 Loading the RIM Loader B-4 B-2 Checking the RIM Loader B-5 B-3 Loading the BIN Loader B-7 B-4 Loading a Binary Tape Using BIN B-9 TABLES TABLE 2-1 Permanent Device Names 2-1 2-2 OS/8 File Name Extensions 2-3 3-1 Keyboard Monitor Error Messages 3-1 3-2 Switch Options 3-6 4-1 Editor Key Control Commands 4-2 xi CONTENTS (Cont.) Page TABLES (Cont.) TABLE 4-2 Editor Input Commands 4-5 4-3 Editor Listing commands 4-6 4-4 Editor Output Commands 4-7 4-5 Editing Commands: Deletion and Alteration 4-9 4-6 Editor Search Commands 4-10 4-7 Editor Special Characters: Command Mode 4-10 4-8 Aborting Editor String Search Commands 4-17 4-9 Nonfatal Editor Error Messages 4-18 4-10 Editor Error Codes 4-19 4-11 Editor Command and Special Characters 4-19 5-1 Examples of Output to the Command Decoder 5-1 5-2 Examples of Input to the Command Decoder 5-2 5-3 Command Decoder Error Messages 5-3 6-1 Run-Time Options 6-3 6-2 BATCH Monitor Commands 6-5 6-3 BATCH Error Messages 6-9 7-1 Bitmap Options 7-2 8-1 BOOT Mnemonics 8-2 9-1 Standard DECtape System Device Handlers 9-2 9-2 Standard Cassette System Device Handlers 9-3 9-3 Standard Paper Tape System Device Handlers 9-3 9-4 OS/8 Device Handlers 9-4 9-5 BUILD Editing Characters 9-7 9-6 BUILD Error Messages 9-20 9-7 DCB Word 9-23 10-1 CAMP Error Messages 10-5 11-1 CREF Options 11-2 11-2 CREF Error Messages 11-7 12-1 DIRECT Options 12-2 12-2 DIRECT Error Messages 12-5 15-1 EPIC Commands 15-6 15-2 EPIC Error Messages 15-9 16-1 FOTP Options 16-8 16-2 FOTP Error Messages 16-12 18-1 MCPIP Options 18-2 18-2 MCPIP Error Messages 18-4 19-1 ODT Command Summary 19-8 20-1 PIP Options 20-1 20-2 PIP Error Messages 20-8 21-1 PIP10 Error Messages 21-4 22-1 RESORC Device Types 22-3 22-2 RESORC Error Messages 22-6 24-1 RXCOPY Options 24-1 24-2 RXCOPY Error Messages 24-2 25-1 SET Command Attributes 25-1 25-2 SET Error Messages 25-2 26-1 SRCCOM Run-Time Options 26-2 A-1 ASCII Character Set A-1 B-1 RIM Loader for Low-Speed Reader B-2 B-2 RIM Loader for High-Speed Reader B-3 xii DOCUMENTATION SET FOR OS/8 OS/8 SYSTEM GENERATION NOTES (AA-H606A-TA) The System Generation Notes provide the information you need to get a new OS/8 system running. OS/8 SYSTEM REFERENCE MANUAL (AA-H607A-TA) The System Reference Manual describes OS/8 system conventions, keyboard commands, and utility programs. OS/8 TECO REFERENCE MANUAL (AA-H608A-TA) The TECO Reference Manual describes the OS/8 version of this character-oriented text editing and correcting program. OS/8 LANGUAGE REFERENCE MANUAL (AA-H609A-TA) The Language Reference Manual describes all languages supported by OS/8, including BASIC, FORTRAN IV, and the PAL8 assembly language. OS/8 ERROR MESSAGES (AA-H610A-TA) This manual lists in alphabetical order all error messages generated by OS/8 system programs and languages. xiii CHAPTER 1 OVERVIEW 1.1 INTRODUCTION TO OS/8 This manual describes the OS/8 keyboard commands, the OS/8 Editor, and the OS/8 library of utility programs. These commands and system programs enable you to develop user-written programs in PAL8 assembly language, BASIC, FORTRAN IV, and other languages available under OS/8. The OS/8 library includes the following system programs. BATCH The BATCH monitor enables you to prepare a job on punched cards, high-speed paper tape, or the system device and then leave it for OS/8 to run. BITMAP The BITMAP program produces a table to show the locations that a binary file occupies in memory. BOOT The BOOT program loads standard hardware bootstraps into memory. BUILD The BUILD program lets you alter the device configuration in your system to insert new devices or add user-written handlers. CAMP The Cassette and Magnetic Tape Positioner program enables you to manipulate cassettes and magnetic tapes. CREF The Cross Reference Program produces a table in assembly listings that enables you to locate references to symbols and literals. DIRECT The DIRECT program produces various types of directories. DTFRMT, DTCOPY,TDFRMT, TDCOPY These programs format and copy DECtapes. DUMP The DUMP program sends listings to the LP08 line printer. EPIC The Edit, Punch, and Compare program reads and punches paper tapes, edits files, and compares files in any format. FOTP The File-Oriented Transfer Program transfers groups of files between file-structured devices. 1-1 OVERVIEW FUTIL The File Utility program enables you to examine and modify the contents of mass storage devices. MCPIP The Magtape/Cassette Peripheral Interchange Program is a file-transfer program for cassettes and magnetic tapes. ODT The Octal Debugging Technique enables you to run and debug a program by typing instructions at the keyboard. PIP The Peripheral Interchange Program transfers files between devices and provides file and directory maintenance functions. PIP10 This is a file-transfer program that reads and writes ASCII DECtape files using a TC08 or TD8E DECtape controller. RESORC The RESORC program prints a listing of active device handlers. RKLFMT The RKLFMT program formats RK05 disks. RXCOPY The RXCOPY program copies diskettes. SET The SET program makes it possible for you to modify the operating characteristics of OS/8. SRCCOM The Source Compare program compares two source files line by line and prints the differences. 1.2 OS/8 I/O DEVICES OS/8 provides device independence. You can write programs without concern for specific I/O devices. In running a program, you can select the most effective I/O devices available. Furthermore, if the system configuration is altered, you need not rewrite programs to take advantage of the new configuration. The OS/8 system controls the copying of data from any medium to any other medium by means of subroutine calls to execute I/O routines. Logical names can be assigned to devices within the system to enable symbolic referencing of devices. Variable-length I/O buffers can be specified by the user program. Large buffers ensure efficient use of storage devices and a minimum of time spent in data-transfer operations by minimizing disk and tape motion. OS/8 takes full advantage of the RK8E disk pack for fast bulk storage, yet full system services are possible with a single DECtape. 1-2 OVERVIEW 1.3 HARDWARE CONFIGURATIONS The OS/8 system can operate with the following devices as the system device. TC01/TC08 DECtape LINCtape (PDP-12) TD8E DECtape DF32/RF08 disk RK8E disk RK8 disk RX01 diskette The term system device refers to the device on which the OS/8 System resides and which it utilizes for system functions. Thus, DECtape unit 0 is the system device for a DECtape-based system. A nonsystem device is any peripheral not specifically used for system functions, such as LPT:, PTR:, DTA2:, etc. TD8E DECtape can be used either with 12K words of core memory or with 8K words of core memory and 256 words of Read-Only-Memory (ROM). If DF32 is the system device, at least 64K (2 platters) must be available. The minimum OS/8 configuration is a PDP-8 series computer with 8K words of memory, one DECtape used as the system device, and a console terminal. A multiple DECtape system performs appreciably faster than a single DECtape system. The multiple DECtape system reduces DECtape motion since it is possible to copy directly (without intermediate searching) from the system DECtape to another DECtape (or vice versa) when editing or assembling. A typical medium-sized system might contain a PDP-8/E with at least 8K words of core memory, TD8E DECtape and control, and an RK8E disk pack and control. A disk system offers the additional convenience of easy and fast access to files and large amounts of storage. Up to 15 of the following devices can be included in a single OS/8 system: * As many as 8 DECtape units (TC01/TU55, TC08/TU56, or TD8E/TU56) * TA8E/TU60 cassette units * TM8E/TU10 magnetic tape units * High-speed paper tape reader/punch * Up to four RK8E disks * Up to four RK8 disks * Up to four RS08 disks 1-3 OVERVIEW * up to four DF32 disks * Card reader (optical mark or punched cards) * Line printer * PDP-12 LINCtape * PDP-12 scope * Any other device for which it is possible to write a device handler in one or two pages of core 1.4 SYSTEM SOFTWARE COMPONENTS The main software components of the OS/8 system include Keyboard Monitor The Concise Command Language Command Decoder Library of system programs Device handlers User Service Routine (USR) The Keyboard Monitor provides communication between you and the OS/8 executive routines by accepting commands from the console terminal. The commands enable you to create logical names for devices, run system and user programs, and save programs. The Concise Command Language (CCL) provides an extended set of Monitor Commands. The Command Decoder allows you to communicate with a system library program by accepting a command string from the keyboard indicating input/output files. Following your keyboard command to run a system library program, the Command Decoder prints an asterisk and then accepts the command line containing device and file specifications. The library of system programs contains the programs mentioned in Section 1.1 and any of the extension programs you choose. Device handlers are subroutines designed to transfer data to and from peripheral devices. OS/8 is able to interface with as many as 15 different peripherals at a time. During system generation, device handlers become an integral part of the system; both system and user programs have access to any available device. (The BUILD program allows quick and easy alteration of any available device.) The User Service Routine (USR) controls the directory operations for the OS/8 system. A program can use the USR by means of standard subroutine calls such as those used to activate device handler subroutines. Some of the functions performed by the USR are loading device handlers, searching file directories, creating and closing output files, calling the Command Decoder, and chaining of programs. The details on the operation and use of the USR are contained in the OS/8 Software Support Manual (DEC-S8-OSSMB-A-D). For normal OS/8 _______________________________ usage, the USR function is unseen by the user and need be of no concern. 1-4 OVERVIEW When OS/8 is operating, the Command Decoder, Keyboard Monitor, and USR are swapped into core from the system device as required. When their operation has been completed, the previous contents of core are restored. The memory-resident portion of OS/8 is extremely small (256 words), allowing for a maximum use of memory by user programs. 1-5 CHAPTER 2 SYSTEM CONVENTIONS OS/8 observes the following conventions in the names of devices, files, and units of storage. 2.1 PERMANENT DEVICE NAMES During configuration, the OS/8 BUILD program assigns permanent names to the devices in a system. You can change these names by reconfiguring the system, but you must keep in mind that some CCL commands and system programs operate on the assumption that certain names are present. The DIRECT command, for example, uses the name TTY: as a default device for listings, and the CREF program assumes LOT: as a default output device. Therefore, it is good practice to keep the following names always present on the system. SYS: DSK: TTY: LOT: Table 2-1 lists all the device names used by OS/8. Table 2-1 Permanent Device Names +------------------+-------------------------------------------------+ | Permanent Name | I/O Device | +------------------+-------------------------------------------------+ | | | | SYS | System device (disk if the system has a | | | large disk -- RK8 or RF08; otherwise DTA0) | | | | | DTAn | DECtape n, where n is an integer in the | | | range 0 to 7, inclusive | | | | | LTAn | When using BUILD, LINCtapes may be called | | | LTA rather than DTA. n is an integer in | | | the range 0 to 7 inclusive. | | | | | DSK | Default storage device for all files. The | | | assignment of DSK is specified at system | | | generation time. Usually DSK is the disk | | | on a single disk system or DTA0 on a | | | DECtape system. | +------------------+-------------------------------------------------+ (continued on next page) 2-1 SYSTEM CONVENTIONS Table 2-1 (Cont.) Permanent Device Names +------------------+-------------------------------------------------+ | Permanent Name | I/O Device | +------------------+-------------------------------------------------+ | | | | TTY | Terminal keyboard and printer | | | | | PTP | Paper tape punch | | | | | PTR | Paper tape reader (Before accepting input, | | | the system prints an up-arrow (^), to which | | | the user replies by typing any key.) | | | | | CDR | Card reader | | | | | LPT | Line printer (Performs a form feed before | | | it begins printing output from a new | | | program.) | | | | | CSAn | Cassette drive n, where n is an integer in | | | the range 0 to 7, inclusive | | | | | MTAn | Magnetic tape drive n, where n is an | | | integer in the range 0 to 7 inclusive | | | | | DF | DF32 disk | | | | | RF | RF08 disk | | | | | RKAn | RK01 or RK05 disk unit n, where n is an | | | integer in the range 0 to 3 | | | | | TV | VR12 scope (PDP-12 only) | | | | | BAT | Pseudo device which reads from BATCH input | | | stream (see BATCH section in Chapter 2) | | | | | RXAn | Diskette n (floppy), where n is an integer | | | in the range of 0-7 inclusive | | | | | RKBn | DECpack n, where n is an integer in the | | | range 0-1 | | | | | NULL | Device which on input returns an immediate | | | end-of-file and on output ignores | | | characters. | | | | | DUMP | Prints contents of device blocks on LPT. | +------------------+-------------------------------------------------+ 2.2 FILE NAMES AND EXTENSIONS File names may contain up to six alphanumeric characters, followed optionally by a period and an extension of two alphanumeric characters. The extension usually identifies the file by type. For example, a .PA extension after a file name indicates that the file contains a PAL8 source program. 2-2 SYSTEM CONVENTIONS In most cases, you will want to conform to the standard extensions established for OS/8. If you omit the extension on an output file specification, some system programs append assumed extensions. PAL8, for example, will add .PA to an output file. If you specify a file for input and omit the extension, some system programs will look for a file with an assumed extension. For example, if you specify a program called PUMP as input to PAL8, PAL8 looks for PUMP.PA. If it fails to find it, it looks for the file name and no extension. Table 2-2 lists the file name extensions used by OS/8. Table 2-2 OS/8 File Name Extensions +--------------------------------------------------------------------+ | .BA BASIC source file (default extension for a | | BASIC input file) | | | | .BI Batch input file | | | | .BK Backup ASCII file (default extension for a | | TECO output file) | | | | .BN Absolute binary file (default extension for | | ABSLDR, BUILD, and BITMAP input files; | | also used as default extension for PAL8 | | binary output file) | | | | .DA Data file | | | | .DC Documentation file | | | | .DI Directory listing | | | | .FT FORTRAN language source file (default | | extension for FORT input files) | | | | .HL Help file (default extension for HELP input | | files) | | | | .LD F4 load mode (default assumed by run-time | | system, F4 loader) | | | | .LS Assembly listing output file (default | | extension for PAL8 and SABR) | | | | .MA Macro source file | | | | .MP File containing a loading map (used by the | | Linking Loader) | | | | .PA PAL8 source file | | | | .RA RALF assembly language file | | | | .RB Relocatable binary source file | | | | .RL Relocatable binary file (default extension | | for a Linking Loader input file; also used | | as the default extension for an 8K SABR | | output file) | +--------------------------------------------------------------------+ (continued on next page) 2-3 SYSTEM CONVENTIONS Table 2-2 (Cont.) OS/8 File Name Extensions +--------------------------------------------------------------------+ | .SB 8K SABR source file | | | | .SV Core image file or SAVE file; appended to | | a file name by the R, RUN, SAVE, and GET | | Keyboard Monitor commands | | | | .SY System head | | | | .TE TECO macro file (default extension for a | | MUNG input file) | | | | .TM Temporary file generated by FORTRAN or SABR | | for system use (default extension for CREF | | input files and PAL8 output files) | | | | .TX Text files | +--------------------------------------------------------------------+ 2.3 UNITS OF STORAGE OS/8 uses the terms "word", "page", "record", and "block" to describe units of storage. In directory listings, for example, OS/8 lists file lengths in blocks or records. The terms are defined thus: 1 block=1 record=2 pages=256(decimal) words A word consists of 12 bits. 2-4 CHAPTER 3 OS/8 KEYBOARD COMMANDS 3.1 INTRODUCTION The OS/8 Monitor and the Concise Command Language program -- CCL.SV -- provide you with more than fifty different keyboard commands. * The Monitor provides the following commands, which you may abbreviate to the first two letters. ASSIGN DEASSIGN GET SAVE ODT RUN R START DATE The Monitor displays a dot to indicate that it is ready to accept a command. To execute a command that you have typed, press RETURN or ALTMODE. Any error that you make in the use of these commands causes the Monitor to print an error message, display the dot, and wait for you to try again. For a description of these error messages, see Table 3-1. Table 3-1 Keyboard Monitor Error Messages +-------------------------+------------------------------------------+ | Message | Meaning | +-------------------------+------------------------------------------+ | | | | BAD ARGS | The arguments to the SAVE command are | | | not consistent and violate | | | restrictions listed in 1, 2, 3 under | | | SAVE command. | | | | | BAD CORE IMAGE | The file requested was not a | | | core-image file (it could have been an | | | ASCII or binary file). | +-------------------------+------------------------------------------+ (continued on next page) 3-1 OS/8 KEYBOARD COMMANDS Table 3-1 (Cont.) Keyboard Monitor Error Messages +-------------------------+------------------------------------------+ | Message | Meaning | +-------------------------+------------------------------------------+ | | | | BAD DATE | The date has not been entered | | | correctly (using slashes), or | | | incorrect arguments were used, or the | | | date was out of range. | | | | | ILLEGAL ARG. | The SAVE command was not expressed | | | correctly; illegal syntax used. | | | | | MONITOR ERROR 2 AT xxxx | Attempt made to output to a WRITE- | | (DIRECTORY I/O ERROR) | LOCKed device, usually DECtape; or an | | | error has occurred reading/writing a | | | directory. | | | | | MONITOR ERROR 5 AT xxxx | An error occurred while doing I/O to | | (I/O ERROR ON SYS) | the system device. This error is | | | normally the result of not | | | WRITE-ENABLing the system device. | | | | | MONITOR ERROR 6 AT xxxx | A directory overflow has occurred | | (DIRECTORY OVERFLOW) | (no room for tentative file entry in | | | directory). | | | | | name NOT AVAILABLE | The device with the name given is not | | | listed in any system table, or it is | | | not available for use at the moment | | | (check the device in question), or the | | | user tried to obtain input from an | | | output-only device (such as the | | | high-speed paper tape punch). | | | | | name NOT FOUND | The file with the name given was not | | | found on the device indicated, or the | | | user tried to input from an | | | output-only device. | | | | | NO!! | The user attempted to start (with .ST) | | | a program that cannot be started. The | | | user must not restart any user program | | | or system library program that | | | modified itself while in core (bit 2 | | | of the Job Status Word is set; see | | | the GET command for details). | | | | | NO CCL! | The command was not a legal keyboard | | | monitor command. It was, however, a | | | valid CCL command; but the file | | | CCL.SV was not found, or an I/O error | | | occurred while trying to read the | | | file. | | | | | SAVE ERROR | An I/O error has occurred while saving | | | the program. The program remains | | | intact in core. | +-------------------------+------------------------------------------+ (continued on next page) 3-2 OS/8 KEYBOARD COMMANDS Table 3-1 (Cont.) Keyboard Monitor Error Messages +-------------------------+------------------------------------------+ | Message | Meaning | +-------------------------+------------------------------------------+ | | | | SYSTEM ERR | An error occurred while doing I/O to | | | the system device. The system should | | | be restarted at 7600 or 7605. Do not | | | press CONTinue, as this is sure to | | | cause further errors. | | | | | TOO FEW ARGS | An important argument has been omitted | | | from a command. For example, | | | | | | ._RUN DSK | | | | | | would generate this message, as the | | | program to be run has not been entered | | | in the command. | | | | | USER ERROR 0 AT xxxx | An input error was detected while | | | loading the program. xxxx refers to | | | the Monitor location where the error | | | was generated. | | | | | abcd? | Where abcd is not a legal command; | | | for example, if the user typed: | | | | | | ._HELLO | | | | | | the system would echo: | | | | | | HELLO? | +-------------------------+------------------------------------------+ * The Concise Command Language program (CCL) provides an extended set of Monitor commands. Some of these commands allow you to call a system program indirectly, perform an operation, and return automatically to the Monitor. This method is simpler to use than the standard calling sequence for a program. For example, the following two-line sequence causes PAL8 to assemble a source program called SCOOP.PA and send a binary and listing file to DSK, the default device. ._R PAL8 *_SCOOP.BN,SCOOP.LS