Skip to main content

Full text of "datacraft :: AA61600-03C discMoni Nov75"

See other formats


AA61600-03C 




Sepfember, 1973 



Revision A 
May, 1974 



Revision B 
March, 1975 



Revision C 
November, 1975 




COMMUNICATIONS AND 
INFORMATION (-IANDUNG 



HARRIS CORPORATION Computer Systems Division 

1200 Gateway Drive, Fort Lauderdale, Florida 33309 305/974-17OO 



Revision C 
November 1975 



LIST OF EFFECTIVE PAGES 



4s 



TOTAL NUMBER OF PAGES IN THIS PUBLICATION IS: 377 
CONSISTING OF THE FOLLOWING: 

Page Page Page 

No. Change No. Change No. Change 

Title C 5-35 B 9-12 C 

A thru B C 5-36, 5-36A C 9-13 Original 

ithruxiii C 5-37 B 9-4 B 

1-1,1-2 Original 5-38,5-39 A 9-5 C 

1_3 C 5-40 thru 5-42 B 9-16 A 

1-4 thru 1-^ Original 6-1 thru 6-2A C 9-17thru9-l9 Original 

2-1 thru 2-5 Original 6-3,6-4 ^.. , ™ A 

3_1 c 6-5 thru 6-8 Original 9-21 thru 9-24 B 

3_2 B 6-9 thru 6-18 C 10-1 Original 

3-3 thru 3-6 Original 6-18A. 1 thru Jn"?' L°in >; ^'' \ 

3-7 thru 3-9 C 6-18A.7 C 0-4 thru 10^ Or.g.na 

4.1 thru 4-2A C 6-19 thru 6-22 Original 1- 9l'^'^t 

4-3 Original 6-23,6-24 B M' I^-a Original 

4_4 4.4A A 6-25 A 12-3 thru 12-4A C 

4.5' C 6-26,6-26A C 12-5,12^ Original 

4-6,4-7 Original 6-27 thru 6-32 Original 12-7 ^.. , 

4^8 B 6-33 B 12-8, 12-9 Original 

4_9 Original 6-34 thru 6-40 Original 12-10 thru 12-13 A 

4-10 C 6-41 A 12-14 B 

4-nthru4-13 Original 6-42,6-43 B 12-15 A 

4_14 B 6-44 A 12-16 Original 

4-15 thru 4-18 C 6-45 Original 12-17 OrJnJno! 

4 18A 4-19 C 6-46 B 13-1 thru 13-3 Original 

4-20,4-21 Original 6-47 thru 6-49 Original 14-1,14-2 Original 

4-22,4-23 C 6-50,6-51 A 4-3 B 

4-24 B 6-52 C 15-1 ^. . , 

4 25 4-26 C 7-1 thru 7-i> Original 15-2 thru 15-9 Original 

1.27 B 7-7 A 15-10,15-11 B 

5-1 Original 7-8 thru 7-12 Original 15-llA. 1,A.2 C 

5-2 thru 5-5 B ' 8-1 C 15-12 thru 5-27 Original 

5_z Q 8-2 A 15-28 thru 15-29 A 

5-6A 1 A 2 C 8-3,8-4 Original 15-30 thru 15-40 B 

5-7 thru 5-8A C 8-5,8^ A A-1 C 

5-9 Original 8-7 Original A-2 !, . . , 

5_10 A 8-8 C A-3 Original 

5-lOA, 1 thru 9-1 Original A-4 B 

5-10A.4 C 9-2, 9-2A B A -5, A -6 C 

5_11 C 9-3 thru 9-6 Original A-7 B 

5-12 thru 5-16 Original 9-7 A ^-8 Original 

5-17 thru 5-22 A 9-8 C A-9A-10 C_ 

5-23 thru 5-26 Original 9-9 Original A-1 1 Original 

5-27 thru 5-33 A 9-10, 9-lOA C A-12 C 

5-34, 5-34A B 9-11 A A-13 Original 
Insert Latest Revision Pages. Destroy Superseded Pages. 



HARRIS CORPORATION Computer Systems Division 



Revision C 
November 1975 



LIST OF EFFECTIVE PAGES 



] 



Page 


Change 


Page 


Change 


No. 


No. 


No. 


No. 


A-14 


C 






A-15 


Original 






B-1, B-2 


Original 






B~3 


B 






C-1 


Original 






C-2 


C 






C-3 


B 






C-4, C-5 


C 






C-6 thru C-8 


B 






C-9, C-10 


C 






D-1 


Original 






D-2 D-3 


A 






D-4 


Original 






E-1 


Original 






IE -2 thru E-27 


B 






F-l 


Original 






F-2 thru F-7 


C 






G-1 


Original 






G-2 thru G-9 


B 






H-1 


Original 






H-2 


B 







Page Change 

No. No. 



Insert Latest Revision Pages. ^ Destroy Superceded Pages, 



HARRIS CORPORATION Computer Systems Division 



Revision C 
November 1975 



CONTENTS 
SecHon Page 



I GENERAL DESCRIPTION 

1-1 Scope . 1-1 

1-2 System Features 1-1 

1-3 Foreground Operation .1-2 

1-3. 1 Program Initiation 1-2 

1-3.2 Execution Priorities f 1-2 

1-3.3 Program Cataloging 1-2 

1-3.4 Background Checkpointing 1-3 

1-3.5 Program Communications 1-3 

1-3.6 Program Restrict 1-3 

14 Input/Output Facilities 1-4 

]-5 File System Concepts 1-4 

1-6 Batch Processing Capabilities 1-5 

]"7 Accounting System 1-6 

1-8 DMS Configurations 1-6 

II DMS OPERATION 

2-1 Scope 2-1 

2-2 Programs 2-1 

2-2. 1 Foreground Programs 2-1 

2-2.2 Background Programs 2-3 

2-3 Memory Allocation 2-4 

2-4 Priority Structure and Program Interaction 2-5 

2-4. 1 Context Switching 2-5 

2-4.2 Timeslicing 2-7 

III DISC AND FILE STRUCTURE 

3-1 General 3-1 

3-2 DMS Master Pack 3-1 

3-3 Multiple Disc Units 3-2 

3-4 Master Disc Directory 3-3 

3-5 Disc Files 3-4 

3-5. 1 Fi le Security 3-4 

3-5.2 Passwords on Load Modules 3-5 

3-5.3 File Types 3-5 

3-5.4 File Accessing Methods , 3-8 

IV SYSTEM SERVICES 

4-1 General 4-1 

4-2 Abort Service 4-2 

4-2A Continguency Return 4-2 

4-3 Input/Output Requests 4-2A 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Page 



Section 

IV SYSTEM SERVICES (CONTINUED) 

4-4 Exit Service ^"^ 

4-5 Termin Service ^"^ 

4-6 Hold Service ^"^ 

4-6A O/M Service JJ 

4-7 Chain Service • • • -JZ 

4-8 Info Service J~i 

4-9 Sfunc Service • ^-^ 

4-10 Wait Service - J-° 

4-1 1 Conv Service • ^"^ 

4-12 Special Foreground Services • Y 

4-12. 1 Program Initiation 4- U 

4-12.2 Foreground Interrupt Handling 4-0 

4-12.3 Timer Scheduling ]" 2 

4-12.4 System Common Accessing ^"4 

4-12.5 Change Limits Service 4-4 

4-13 Assign Service "J"^ 

4-14 Dynamic Core Manager (DCM) • 4- o 

4-15 Find Pack Service 4- / 

4-16 Untrcip Service • air 

4-17 System Restricted Services 4- B 

4-17. 1 File Creation 4- b 

4-17.2 File Deletion • 4-9 

4-17.3 Absolute Sector Read » 4-iy 

4-17.4 Rename File 4-20 

4-17. 5 Special Assign 4-/ 

4-17.6 Background Load Request 4-^ 

4-17.7 Write Absolute Sector 4-21 

4-17.8 Search Master Disc Directory 4-22 

4-17.9 Trigger lOEXEC 4-22 

4-17. 10 Place File on Spool-In Queue •^-^^ 

4-17. 1 1 Place File on Spool-Out Queue 4-23 

4-17. 12 Overlay Load 4-23 

4-17, 13 Execute User Routine on Interval Timeout 4-/J 

4_17, 14 Remove Execute Routine Entry 4-24 

4-17. 15 Special Delete 4-25 

4-17. 16 Special Absolute Sector Read 4-^0 

4-17. 17 Special Absolute Sector Write 4-25 

4-18 Executive Traps , /oa 

4-18. 1 Power Fail/Power Restore 4-^6 

4-18.2 Memory Protect/Instruction Trap 4-26 

4-18.3 Stall Alarm 4-26 

4-18.4 SAU Overflow/Underflow Trap 4-^6 

4-18. 5 Address Trap 4-26 

4-18.6 Interval Timer 4-^6 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Section Pag^ 

V LOGICAL FILES AND PHYSICAL DEVICES 

5-1 General 5-1 

5-2 Input/Output FuncHons 5-1 

5-2. 1 Common Device Function Codes 5-2 

5-2. 2 Disc 5-4 

5-2. 3 Magnetic Tape ^-7 

5-2.4 Teletype Terminals 5-8 

5-2. 4A TI Silent-700 Terminals with Cassettes 5-lOA. 1 

5-2. 5 Paper Tape Reader 5-1 1 

5-2.6 Paper Tape Punch 5-12 

5-2.7 Card Reader 5-13 

5-2. 8 Card Punch 5-14 

5-2.9 Line Printer 5-15 

5-2. 10 Real-Time Peripheral Equipment 5-17 

5-2. 1 1 Alphanumeric CRTs 5-34 

5-2. 12 Reader/Punch 5-37 

5-2. 12. 1 Card Reader 5-37 

5-2. 12.2 Card Punch 5-39 

5-2. 13 Printer/Plotter . 5-40 

5-2. 14 Incremental Plotter 5-41 

VI BACKGROUND BATCH PROCESSING 

6-1 Job Stream 6-1 

6-1. 1 Special Assignment (Spooled Systems Only) 6-1 

6-1.2 Reader "$" Cards 6-1 

6-1.3 File Insertion Feature ....•" 6-1 

6-2 Job Control Program 6-2 

6-2. 1 SJob Statement 6-2 

6-2.2 SEOJ Statement 6-3 

6-2. 3 SAssign Statement 6-3 

6-2.4 SDATE Statement 6-4 

6-2. 5 SLINES Statement 6-5 

6-2.6 SOPTIONS Statement 6-5 

6-2.7 SFLAGS Statement 6-5 

6-2.8 SINCLUDE Statement 6-5 

6-2.9 SCATALOG Statement 6-6 

6-2. 10 SCATGO Statement , . 6-6 

6-2. 1 1 SLOADGO Statement .6-6 

6-2. 12 SHOLD Statement 6-6 

6-2. 13 STAPEOP Statement 6-6 

6-2. 14 SADUMP Statement , . 6-7 

6-2. 15 $OPEN Statement 6-7 

6-2. 16 $CLOSE Statement .6-7 



III 



Revision C 
November 1975 



CONTENTS (CONT'D) 

c *• Page 
Section 

VI BACKGROUND BATCH PROCESSING (CONT'D) 

6-2c 17 SREW Statement ^"^ 

6-2. 18 $BSF Statement °~° 

6-2 J9 $ ADF Statement °"° 

6-2.20 SRPF Statement °"° 

6-2„21 SSWEF Statement °-° 

6-2.22 $XXYY Statement °"° 

6-2.23 SEDITLF Statement °-° 

6-2.24 $FILEMA Statement °-^ 

6-2„25 S NAME Statement . . . „ c . o . . o-^ 

6-2.26 $ Comments Statement. . . . „ „. o„. o ...... • O"' 

6-3 File Manager o. ...o. co. o.. o ..= ...• o .. o .». o o " 

6-3. 1 CREATE Statement „ . . . • » . o c . o . . o . . » . » J" ^ 

6-3,2 ESTABLISH Statement ^- ' 

6-3.3 DELETE Statement °-^ 

6-3.4 RENAME Statement • °-^ 

6-3„5 DMAP Statement °"^ 

6-3e6 DMAPS Statement J-^? 

6-3.7 DUMP and DUMPBF Statement o- j 

6-3. 8 SAVE Statement °"^ 

6-3.9 SAVEP Statement °"^ 

6-3. 10 SAVPAK Statement • °-^ 

6-3. 1 1 SAVUSR Statement °-^ 

6-3.12 LIST Statement • °-^ 

6-3.13 RESTORE Statement • °~\^ 

6-3. 14 RESPAK Statement » °'\° 

6-3.15 RESUSR Statement °" ° 

6-3. 16 SAVMDD Statement °-\° 

6-3. 1 7 REPSYS Statement . °-^ 

6-3J8 CLEAR Statement °- ° 

6-3. 19 ZEROPK Statement ^~ 5 a 

6-3.20 READPK Statement ^" o a 

6-3.21 FLAGPK Statement ^" qa o 

6-3.22 ADVANCE Statement 5" o a o 

6-3.23 REW Statement - z" qa o 

6-3.24 WEF Statement z" qa o 

6-3.25 ADF Statement « °- °A. 2 

6-3.26 BSF Statement ^" qa'o 

6-3.27 HOLD Statement a d a' ^ 

6-3.28 EXIT Statement I'Sat 

6-3„29 SAV^RESTORE Formats ^'Ioa a 

6-3.30 ERROR MESSAGES 6-18A.4 



IV 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Section Page 

VI BACKGROUND BATCH PROCESSING (CONT'D) 

6-4 Link Caf-aloger 6-]i8A. 

6-4. 1 Overlay Type Programs ,6-18A. 

6-4.2 Link Cat-ologer Control Statements 6-22 

6-4.3 Link Cataloging Process . .6-33 

6-4.4 Link Cataloging Overlay Type Programs 6-34 

6-4.5 Execution of Overlay Type Programs 6-34 

6-4.6 Link Cataloger Output Format 6-36 

6-4.7 Link Cataloging Background Programs Across the 32K 

Boundary 6-36 

6-4.8 Link Cataloger Table and Buffer Allocation 6-38 

6-4.9 Common Memory Allocation .6-40 

6-4. 10 Link Cataloging Program CHAIN Segments '.ik .6-40 

6-4, 1 1 Link Catalog Map 6-41 

6-4, 12 Code Processing 6-42 

6-4. 13 Input and Code Placement 6-46 

6-4. 14 Link Cataloger Error Message Codes 6-49 

VII ACCOUNTING SUBSYSTEM 

7-1 Scope 7-1 

7-2 User Numbers 7-T 

7-2, 1 Establishing User Numbers 7-1 

7-2.2 Changing and Removing Users 7-1 

7-2.3 Listing Users 7-1 

7-2.4 Specifying User Numbers on Program Initiation 7-2 

7-2.4.1 Programs Initiated via Operator 

Communications 7-2: 

7-2.4.2 Terminal Foreground Programs *7-2 

7-2.4.3 Foreground Programs Initiated by other 

Programs 7-2 

7-2.4,4 Background Batch Programs 7-2 

7-3 Terminal Operation 7.-3 

7-4 Disc Files 7-3 

7-5 Accounting Records 7-4 

7-6 Accounting Files 7-4 

7-6. 1 User Number File 7-5 

7-6.2 User Name File 7-5 

7-6.3 Accounting Record Files 7-7 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Se ction 

VII ACCOUNTING SUBSYSTEM (CON' D) 



Page 



7-7 



7-7 Accounting Utility Program 

7-7, 1 RUN Command iT' 

7-7.2 Accounting Period Designation Statements /-o 

7-7. 3 BLOCK Statement 7-8 

7-7.4 SAVE Statement ir^ 

7-7. 5 DELETE Statement /"^ 

7-7.6 UTILIZATIONS Statement /-^ 

7-7. 7 Usage Summary Statements '-\ 

7-7.7. I USER Statement /- 

7-7.7.2 USER/ACCOUNT Statement ........... 7-10 

7-7.7.3 ACCOUNT Statement 7-10 

7-7.8 ALPHA Statement 7-0 

7-7.9 LIST Statement • • • {-\\ 

7-7. 10 TIMES Statement /- 

7-7. 1 1 RATES Statement /- " 

VIII TERMINAL OPERATION 

8-1 Input Terminals - °", 

8-1. 1 Theory of Operation • »- 

8-2 Spooled Background Jobs °'"' 

8-2. 1 $JOB Statement . • • o"' 

8-2.2 Priority °-^ 

8-2.3 List Output Device o-^ 

8-2.4 Input File Size °-^ 

8-2. 5 Error Messages °"^ 

8-3 Acronim z~'i 

8-4 Foreground Programs ^""^ 

8-5 Temiinal Priorities I'-i 

8-5. 1 Default Priority o-;J 

8-5.2 Priority Limit °-4 

8-5.3 Fixed Priority °|2 

8-6 Batch Input Terminal Operation °-^ 

8-6. 1 Non-Spooled Mode o-^ 

8-6. 2 Off-Line Mode 8-4 

8-7 Teletype Tenninal Operation °~T 

8-7. 1 Initiating Communications • °~^ 

8-7. 2 Line Cancel • °-^ 

8-7. 3 Program Abort ^"^ 

8-7.4 Terminating Communications o-^ 

8-8 Alphanumeric CRT Terminal Operations 8-5 



VI 



Revision C 
November 1975 



CONTENTS (CONT'D) 
Section Page 



VIII TERMINAL OPERATION (CONT'D) 

8-8. 1 InitlaHng CommunlcaHons 8-^5 

8-8.2 Line Cancel and Line Editing 8-6 

8-8. 3 Program Abort [ ^[ 8-6 

8-8.4 Terminating Communications 8-6 

IX OPERATOR COMMUNICATIONS 

9-1 Operator Communications Facilities 9-1 

9-1, 1 Program Control Commands 9-1 

9-1.2 Foreground Interrupt Control 9-4 

9-1.3 Program Assignment Commands 9-4 

9-1.4 Spooling Control Commands 9-5 

9-1.5 Accounting System Commands 9-6 

9-1.6 System Status Commands 9-7 

9-1.7 Time and Date Control Commands 9-8 

9-1.8 Miscellaneous Commands , 9-8 

9-2 Operator Messages 9-16 

9-2, 1 Physical Device Errors 9-16 

9-2.2 Manual ]/0 Requests !..'!! 9-17 

9-2.3 Foreground Operational Error 9-18 

9-2.4 User Program Operator Requests 9-18 

9-3 Program Messages 9-39 

9-4 DMS System Start--Up Procedure 9-21 

X 1108 REMOTE JOB ENTRY SYSTEM 

10-1 General Description 10-1 

10-2 System Components 10-1 

10-2. 1 Resident Device Handler *...*.'!!!.'!.'! 10-1 

10-2.2 Foreground Communication Handler 10-1 

10-2.3 Background Processor , IQ-I 

10-3 Communications Control 10*2 

10-3. 1 Establishing Communications 10-2 

10-3.2 Terminating Communications 10-2 

10-3. 3 Status ',.'.', 10-2 

10-3.4 Special Functions 10-3 

10-3. 5 Special Message from 1 108 !.*!!'*! JO-3 

10-3.6 1 108 Down ] . 10-3 

10-4 Transmitting a Job 10-3 

10-4. 1 Initializing RJE '.'.'.'.'.'.'.'/.'.. 10-3 

10-4.2 Background Job Stream 10-4 

10-4.3 SREMOTE Card '..'..'.'.'. 10-4 

10-4.3. 1 Class of Service 10-4 

10-4.3.2 Listing Option , , [ 10-5 



VI I 



Revision C 
November 1975 



CONTENTS (CONT'D) 



Section 



Page 



X 1 108 REMOTE JOB ENTRY SYSTEM ( CONT' D) 



10-4.3.3 Size OpHon 10-5 

10-4.4 Source Input '0-5 

10-4. 5 Error Messages ^^"5 

10-5 Remote Output 10-5 

10-5. 1 Print Files JO-6 

10-5.2 Punch Files 10-6 

XI SYSTEM GENERATION 

1 1 -1 Scope of Documentation 1 1 -1 

11-2 General H-l 

XII PHASE-I - SYSTEM CONFIGURATION 

12-1 General 12-j 

12-2 Parameterization 12-1 

12-2. 1 Required Definitions 12-1 

12-3 Peripheral Devices 12-1 

12-3. 1 Terminals 12-2 

12-3.2 Defining Peripheral Devices 12-3 

12-3.3 Terminal Control Blocks 12-4 

12-3.4 Maximum Number of Programs 12-6 

12-3.5 Disc Storage Characteristics 12-6 

12-3.6 Disc Storage Area Definition 12-6 

12-3.7 Disc ]/0 Queue Size 12-10 

12-3.8 Magnetic Tape Options 12-10 

12-3.9 System Service Linkage 12-10 

12-3. 10 Dynamic Cell Pool 12-10 

12-3. 11 External Interrupt Definition Blocks 12-11 

12-3. 12 Spooling Parameters 12-11 

12-3. 13 Blocked ]/0 Parameters 12-1 1 

12-3. 14 Background Default Options 12-1 1 

12-3. 15 In-Core Directory Table 12-12 

12-3. 16 Accounting Parameters 12-12 

12-3. 17 Real-Time Peripherals 12-12 

12-3. 18 Dispatcher Interrupt Definition 12-13 

12-3. 19 VERSATEC Printer/Plotter , 12-14 

12-4 Background Default File/Device Assignments. 12-15 

12-5 Assembly Option Configuration 12-15 

12-5. 1 SAU Option • 12-15 

12-5.2 Bit Processor Option 12-15 

12-5. 3 Machine Type 12-15 

12-5.4 Spooleci/Interactive Option 12-15 

12-5,5 Remote Job Entry Option 12-16 



VMI 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Section Page 

XII PHASE-I - SYSTEM CONFIGURATION 

12-5.6 Accounting OpHon 12-16 

12-5.7 50 Cycle Power Option 12-17 

12-6 Final Module Preparation 12-17 

12-6. 1 System Linkage Module - SYSGEM 12-17 

12-6.2 SYSDAT and BGDATA 12-17 

12-6.3 DSR 12-17 

XIII PHASE II - SYSTEM DEVELOPMENT 

13-1 General 13-1 

13-2 Phase II Procedures 13-1 

13-2. 1 Bootstrap Module of Device Loader 13-1 

13-2.2 SGS Absolute Load Module 13-1 

13-2.3 SGS Disc Initialization Load Module 13^2 

13-2.4 SGS Load Module of Resident DMS 13-2 

13-2.5 Load Modules of Operator Communications Segments 13-3 

13-2.6 Saving Master Disc Director Entries for Multiple Discs. . . . 13-3 

13-2.7 Creation of Dynamic Disc Modules 13-3 

13-2.8 Deletion of Temporary Files 13-3 

XIV PHASE III - DISC INITIALIZATION 

14-1 General 14-1 

14-2 Procedures 14-1 

14-2. 1 Loading SGS 14-1 

14-2.2 Initial Job Control Statements 14-1 

14-2.3 Disc Initialization 14-3 

14-2.4 Preliminary DMS Steps 14-3 

XV BACKGROUND PROCESSOR OPERATING PROCEDURES 

15-1 Macro Assembler 15-1 

15-1.1 Linkage with DMS 15-1 

15-1.2 Assembly Examples . 15-2 

15-1.3 Assembler Messages and Error Codes 15-3 

15-2 FORTRAN IV Compiler 15-4 

15-2. 1 Linkage with DMS 15-5 

15-2.2 Compiler Examples 15-6 

15-2.3 FORTRAN Diagnostic Messages 15-7 

15-2.4 Run-Time Diagnostics 15-10 

15-3 Library File Editor 15-12 

15-3.1 Use 15-12 

15-3.2 Library File Editor Error Message Codes 15-14 



IX 



Revision C 
November 1975 



CONTENTS (CONT'D) 

Section Page 

XV BACKGROUND PROCESSOR OPERATING PROCEDURES ( CONT' D) 

15-4 Utility Package 15-14 

15-4. 1 Linkage with DMS 15-16 

15-4.2 Error Message Definition 15-17 

15-5 Debug 15-18 

15-5. 1 Background Debug 15-18 

15-5.2 Foreground Debug 15-20 

"15-6 Cross Reference 15-20 

15-6. 1 Input/Output Assignments 15-20 

15-6.2 Unes , 15-21 

15-6.3 Date 15-21 

15-6.4 Cross Reference Examples 15-21 

15-6. 5 Error Messages . 15-22 

15-7 FORGO , 15-22 

15-7. 1 Unkage with DMS 15-22 

15-7.2 Execution Job Stream , 15-23 

15-7.3 FORGO Error Comments 15-24 

15-8 SNOBOL . „ 15-24 

15-8. 1 Linkage with DMS 15-24 

15-8.2 Execution Job Stream J5-24 

15-8.3 SNOBOL Error Comments 15-25 

15-9 RPG II 15-25 

15-9. 1 Linkage with DMS 15-25 

15-9.2 Compilation Job Stream 15-25 

15-9.3 Execution Job Stream 15-26 

15-9.4 RPG II Error Comments 15-26 

15-10 Indexed Sequential Utility 15-26 

?5-10. 1 Linkage with DMS 15-27 

15-10.2 Execution Job Stream ''5-27 

15-10.3 UTILITY Error Comments 15-27 

15-1 1 Sort/Merge Utility 15-27 

15-11, 1 Linkage with DMS 15-27 

15-11.2 Execution Job Stream 15-28 

15-11.3 Utility Error Comments 15-28 

15-12 Print File 15-28 

15-12. 1 Commands 15-28 

15-12.2 Adding PRINTF to the Processor File 15-29 

15-12.3 Examples. 15-29 

15-13 VERSATEC Plotter Package 15-30 

15-13. 1 VERSAPLOT - I Support Library 15-30 

15-13.2 VERSAPLOT - II Support Library 15-31 

15-13.3 VPLOT - Versaplot Second Pass Processor 15-31 

15-14 COMPLOT Plotter Package 15-33 

15-14, 1 COMPLOT BASIC SOFTWARE Library 15-33, 

15-14.2 Harris Library Routines 15-35 



Revision C 
November 1:975 



CONTENTS (CONT'D) 

Section Page 

XV BACKGROUND PROCESSOR OPERATING PROCEDURES (CONT' D) 

15-14.2. 1 SubrouHne PLTOUT 15-35 

15-14.2.2 SubrouHne STPLOT 15-37 

15-14.3 Foreground Programs INTPLT and S. PLOT 15-38 

APPENDIX A DMS Tables A-1 

APPENDIX B Accounting Record Structure B-1 

APPENDIX C System Error Messages C-1 

APPENDIX D System Flags and Options D-1 

APPEND:{X E System Data Module E-1 

APPENDIX F Background Data Module F-1 

APPENDIX G System Generation Job Stream G-1 

APPENDIX H Device Bootstraps H-1 



XI 



Figure 



Revision C 
November 1975 



ILLUSTRATIONS 

Page 



2-5 

2-1 Typical Memory Layout 2_6 

2-2 Sample Active Program List ^~r 

2-3 Sample Active Program List After Timeslice Switch • ^-^ 

3 2 

3-1 Sample Master Pack Layout • • * • 'i, 

3-2 File Name Uniqueness in Accounting Systems • ^"° 

4-1 Changing Protection with Rename Service • ^"^^ 

6-19 

6-1 Overlay Program • • • , 20 

6-2 Multi-Phase Overlay Program - u 

6-3 Multi-Level Overlay Program. - I 

6-4 Multi-Phase, Multi-Level Overlay Program °-^J 

6-5 Overlay Program - Control Statements • f7 Z\ 

6-6 Multi -Phase Overlay Program - Control Statements «... o-fU 

6-7 Multi-Level Overlay Program - Control Statements. o-JI 

6-8 Multi-Phase, Mu I H-Levef Overlay Program - Control Statements t-6l 

6-9 Link Cataloger Output Format 

6-10 

6-11 



6-37 



Link Cataloger Table and Buffer Allocation 6-39 

Code Placement Format • • ° ~^° 



7-6 



7-1 User Fi le Layout • • 

7-2 Sample AC$NAM and AC$USR Files 

12-1 Typical Disc Layout ]^-9 

12-2 RTP Devices (Equipment Chassis) vT Xa 

12-3 VERSA TEC Configuration Parameters '^"'^ 

14-1 Disc Initialization File Format ^^'"^ 

15-1 Versaplot Function Test J5-34 

15-2 PLOT Command Format |^-^° 

15-3 Sample Plot • '^"^^ 



X I I 



Revision C 
November 1975 



TABLES 

Table Page 

3-1 File Types S-Z 

4-1 General System Services 4-1 

4-2 Program Status Word 4-7 

4-3 Device Type Codes 4-8 

4-4 Summary of FROGS Galls • 4-14 

4-5 Executive Traps 4-t26 

4-6 SAU Trap Control 4-27 

5-1 Standard Logical File Numbers & Default Background Assignments 5-2 

5-2 Standard Physical Device Numbers 5-2 

5-3 VO Function Codes 5-3 

5-4 Standard Disc Files 5-4 

5-5 Line Printer Carriage Control 5-16 

6-1 Error Message Definition 6'r18A.4 

6-2 Link Loader Input Codes 6-46 

6-3 Link Loader Special Action Codes 6-47 

6-4 Error Messages 6-49 

7-1 RATES Parameters 7-12 

8-1 Acronim Error Codes • 8-6 

9-1 Operator Communications Commands 9-10A 

9-2 Operator Communications Error Messages 9-14 

9-3 Operator Communications Modules 9-14 

9_4 Physical Device Error Messages 9-17 

9-5 Manual ^/O Request Messages 9-18 

9-6 Foreground Error Messages 9-18 

9-7 Program Abort Messages 9-19 

9-8 System Boot Sense Switch Options 9-23 

9-9 System Boot Control Switch Options 9-24 

10-1 SREMOTE Error Messages 10-5 

12-1 Terminal Control Block 12-4 

15-1 Compile-Time Diagnostic Messages 15-7 

15-2 Run-Time Diagnostics 15-1 1 

15-3 Library File Editor Error Messages 15-15 

15-4 Debug Commands 15-18 

B-1 Standard Accounting Record B-2 

B-2 Accounting Record Contents B-3 

D-1 $OPTIONS Bits D-2 

D-2 $FIAGS Bits D-3 



XIII 



SECTION 1 
GENERAL DESCRIPTION 

1-1 SCOPE 

This documenf contains the basic operational and programming considerations 
pertinent to the Series 6000 Disc Monitor System (DMS). 

1-2 SYSTEM FEATURES 

DMS is a real-time operating system that provides foreground multiprograrnming 
concurrent with sequential batch processing in the background. The foreground is designed for 
qpplication-reloted programs which could control a mill, process real-time data from an air- 
borne missle, or interact with multiple terminal users; these programs receive highest priority 
and their requirements are met first. Batch processing is never time-critical, so the background 
is serviced when processing time and memory are available. 

Salient features of the DMS are: 

• Dynamic loading of foreground programs 

• Dynamic memory allocation services 

• Optional spooled I/O for any output devices 

• Optional spooled job stream input from any input device 

• Complete accounting system 

• Full file security including read, write and delete protection 

• Re-entrant foreground program capabilities 

• Program priority structure that governs the allocation of memory, disc, and 
processing time 

• Time slicing between programs of equal priority 

• Program communications via System Common or parameter passing 

• Timer scheduling of periodic foreground programs 

• Automatic checkpoint and restore of the background memory area 

• Re-entrant editor package for terminal users 

• Complete memory protection of all inactive programs from currently active 
programs 

• Concise job control language for batch processing 

• Complete operator control over the system environment via the console 
typewriter or CRT 



1-1 



• FORTRAN IV interface roufines for foreground services 

• Sequential and direct access methods for data files on disc 

• Automatic disc file compression and blocking 

• Queued I/O methods for disc storage devices 

• Link cataloger that prepares and outputs programs to disc in a format designed 
for rapid loading and relocation 

• System file manager that maintains program and data files in source and 
object formats 

• System generation procedure that adapts DMS to each configuration 

The manner in which DMS operates and the services that it provides are described 
in the following paragraphs. 

1-3 FOREGROUND OPERATION 

A foreground program is a program executed under control of the DMS Dispatcher 
at a priority above the background. A foreground program can utilize the DMS I/O handlers 
and all other system services. 

1 -3. 1 Program Initiation 

Foreground program can be initiated by external interrupt, by timer schedule, by 
console keyboard, by remote terminals, and by other foreground programs. Selected foreground 
programs can be designated as core-resident;such programs remain in core even when they are 
inactive so they can be initiated quickly. Other foreground programs are designated as non- 
resident; they are allocated memory and loaded from disc as they are needed. Optionally, these 
non-resident foreground programs can make themselves temporarily resident. Foreground programs 
which do not modify any memory within themselves can be designated as re-entrant. If multiple 
requests are made for initiation of a re-entrant foreground program, then they will all share the 
same body of the program and execute concurrently within the priority structure. 

1 -3. 2 Executio n Priorities 

When any foreground program is initiated, its execution priority is specified to DMS. 
This priority determines the order in which programs are serviced, governs the allocation of 
memory and processing time and determines the order in which entries are placed in the disc 
queue. The priority of the external interrupt that is used to initiate a foreground program has no 
influence on the execution priority of that program. In many cases, several foreground^ programs 
have equal importance and require similar system response. These programs can be initiated with 
equal priority values ond memory processing time will be shared between them on a time slicing 
basis. Foreground program execution priorities range from 1 through 254 with 254 being the lowest 
and therefore serviced last, but immediately before background batch processing, whose priority is 
fixed at 255. 

1 -3. 3 Program Cataloging 

Any program that is to be executed under DMS must first be output onto a disc file. 
This means that it must be presented In object format (as output from the Assembler or Compiler) 
to the Link Cataloger which produces a load module of the program and saves it on disc. The 

1-2 



I Revision C 

November 1975 

load module consists of fhe program linked with all necessary subroutines in a basic relocarable 
, format that can be loaded very rapidly. 

The Cataloger also saves several program attributes and characteristics with the load 
module on disc. The memory size needed to execute the program, the program type, the 
execution mode, and the starting address are preserved for all programs. For foreground programs, 
initial device and file assignments may be specified to the Cataloger and saved on disc. 

The Cataloger technique thus provides DMS with all the information concerning each 
program such that, when a foreground program is initiated, the program can be allocated memory, 
loaded, relocated and executed quickly, 

1 -3. 4 Background Checkpointing 

Whenever the available memory space is not sufficient for a foreground program that 
is being initiated, the checkpoint procedures is automatically invoked All /O initiated by 
background is allowed to complete, background execution is suspended, and the entire content of 
the background memory area is saved on disc. That memory is then available for foreground 
programs and dynamic core requests by foreground programs. When foreground activity subsides, 
and the background memory area becomes available again, the background is reloaded and its 
processing resumed, 

1 -3. 5 Pr ogram Communications 

DMS provides several techniques through which data and status information can be 
transferred from one foreground program to another. Initially, all foreground programs are 
passed an initiation parameter which is loaded in the A-register when the program is started 
This parameter is specified by the program making the initiation request or by the operator it 
the initiation was by console keyboard. 

For small quantities of data", such as program status, the Program Switch Word is a 
convenient communication medium. Every active program has a switch word that it can set to 
any specified value usinq a s/stem service. A corresponding servce is available that allows a 
program to obtain the content of the Program Switch Word of another program. 

For larger quantities of data, a reserved area of System COMMON storage is 
available. The block has the dedicated label SYSCOM «"d ;hat label cannot be used by any 
program for its local COMMON blocks. All programs declaring the COMMON block SYSCOM 
are linked to this system communication area. For still larger quantities of data, or wherp 
immediate access is not required, programs may itilize disc files for communications. 

1 -3. 6 Program Restrict 

A system integrity safeguard is provided by DMS in conjunction with the Program 
Restrict/Instruction Trap Option. Any program operating in the Restricted Mode will be trapped 
and aborted by DMS in the event that it attempts to transfer to, or alter a memory location 
outside its allocated space, or that it attempts to execute a privileged instruction, such as Halt. 
This feature protects DMS and all other programs from inadvertent destruction due to a program 
error The restricted mode is the normal execution mode for all background and regular tore - 
ground programs. Re-entrant foreground programs running in the Restricted Mode are a lowed 
to access any location except the resident system. Programs which must execute special 
instructions, such as input/output, or alter memory outside their allocated space, can be 
cataloged to execute in the Privileged Mode. 



1-3 



1-4 INPUT/OUTPUT FACILITIES 

All input/output operations under DMS are originated by a system service call 
in which the calling program specifies a logical decive number, a function code, and any 
parameters necessary to define the operation. The Input/Output Controller resolves the 
logical device assignments, preforms some validity checks on each I/O request, and then 
transmits the descriptive information to the appropriate device handler. The handler determines 
v/hether the device is available and, if so, initiates the requested operation. Control is 
then returned to the user as the I/O operation v^ill be completed using the device interrupts. 
While waiting for I/O operation to be completed, a program can either continue processing 
data which is not dependent on the I/O operation, or it can relinquish the use of the central 
processor to lower priority programs during the wait. 

The Input/Output Controller maintains the allocation and status Information for 
all. devices. The card reader, line printer, paper tape devices, remote teletypes, and 
magnetic tape transports are considered as allocatable devices; i.e., they cannot be used In 
an orderly fashion by two programs simultaneously. Such devices are allocated to the first 
program requesting to "open" the device. That program then has exclusive use of the device 
until it "close:;" the device, or until the program Is terminated. The console teletypewriter 
Is not allocated to any single program since it must always be available for operation 
communications functions. All disc drives are considered to be shared devices and receive 
special treatment. All disc Input/output requests are placed in a queue, and the queue is 
serviced on a priority basis. 

Symbolic output may be spooled out to any allocatable device providing that 
the DMS system and the device are configured as spooled. This means that I/O from the 
program is sent to a disc file, and when the "device" Is closed by the program, the file Is 
copied to the specified device by a re-entrant spooling program. The disc file used In this 
operation is dynamically created when the "device" Is opened, and deleted when the file has 
been completely copied to t!ie device. 

1-5 FILE SYSTEM CONCEPTS 

The File System allows the disc storage space in a Series 6000 configuration to 
be distributed among a large number of multi-sector files which can be referenced by 
symbolic name. A password facility allows the user to secure a file such that it cannot 
be read, wrlttcin, or deleted by any program which does not supply the proper password. In 
addition. In accounting configurations, the individual user can maintain total control of his 
file through use of the user-number which is attached to the file. The file creator may allow 
at his discretion, other users to read, write or delete file, and each of these abilities can be 
specified separately. The proper password, if any, must of course, be supplied. 

A single file can be established in any specified length on any specified disc 
pack in the system; and each file is always allocated contiguous sectors. The Master Disc 
Directory (MDD) contains complete information on file names, file extents, file types, 
passwords, and in accounting configurations, the file creator's user-number and file access 
bits. The Space Allocation Map (SAM) maintains storage allocation data for each disc pack. 
The directory resides on disc on the master system pack, and the individual maps reside on 
their respective packs, from which they are read into memory when needed. 

Any program that needs to access a disc file must first "open" the file. When a 
file is opened, the entry for that file is located in the directory via a hash-coding technique 
and read into memory. The password, if any. Is checked, and in accounting configurations, 
the user number and file access bits are checked to determine whether the file can be read 



-4 



or written or neither or both by this user. The file extents are saved In memory and the 
disc pock on which the file resides is located. If the pock is not currently mounted on 
any drive, then the operator will be asked to mount the pack on any available disc unit. 
The file type is checked to determine the blocked/unblocked status of the file. The 
calling program can then access the data within the file or write new information into it. 
If the file is typed as blocked, multiple records are automatically blocked into a sector. 
In addition, symbolic data is compressed by removing strings of blank characters. In this 
mode, the calling program has no control over physical disc sectors and can only read/write 
single records. For unblocked files DMS starts the transfer of the beginning of a sector and 
transfers data until the user's word count is satisfied. In the direct access mode, the calling 
program must specify the record number within the file before making the data transfer 
request. For blocked files, this record number Is located in the blocked data via an optimized 
search technique. For unblocked files, the record number is used as a relative sector 
number within the file. 

Files can be created by the Link Cataloger, Library File Editor, File Manager, 
ACRONIM, and any user program. The Link Cataloger creates files when it cataloges load 
modules of system and user programs. The Library File Editor permits link module edititiig 
of the Link Library file by performing such functions as add, delete, replace, and list. The 
File Manager performs batch background file managing; provides a means of saving and 
restoring files using magnetic or paper tape; and prints a disc storage map Indicating the 
current files and various parameters about each. ACRONIM provides the remote terminal 
user with many file utility operations such as creation, deletion, copying, etc. 

Sector III of this manual describes the disc and file system in further detail. 

1-6 BATCH PROCESSING CAPABILITIES 

The batch processing capability of DMS allows the user to perform data reduction, 
scientific computation, and program preparation in the system background without interfering 
with the operation of interactive or real-time foreground programs. Batch input streams 
may be spooled in from any input terminal configured in the system. This allows the 
remote terminal user as well as the batch card reader to submit background job streams for 
execution. Background jobs are queued based on terminal priority and control card 
information. 

Batch processing Is performed as directed by job control statements expressed 
in a concise Job Control language. They are used to specify the program options and 
device assignments and to request the execution of system and user programs. Standard 
processors available for background execution are as follows. 

• DMS Link Cataloger 
DMS File Manager 
DMS Library File Editor 

• DMS Debug 

• Utility Package 

• Basic Assembler 

• Cross Reference Program 



1-5 



• 



• 



• FORTRAN IV Compiler and Support Library 

• RPG II 

• SNOBOL 

1-7 ACCOUNTING SYSTEM 

The Accounting System is a functional subset of DMS which provides for device 
and system utilization accounting. This is a optional part of DMS and can be configured in 
or out whenever a system is generated. 

In an Accounting System, DMS requires the usis of a user-number to identify all 
activities. The use of this user-number within the file system has been discussed previously. 
Additionally, the user-number is associated with all records of usage of the system facilities. 
That is, whenever a program is run, the user-number Is used to identify the resultant 
Accounting Records. Accounting Records are maintained for all devices within the system, 
including all peripheral devices, system disc drives, and CPU core and time usage, The 
format of these records is discussed in Appendix B. 

Also provided with each DMS Accounting Configuration is the DMS Accounting 
Utility Program "ACCUP" which provides a convenient means of summarizing the accounting 
information and maintaining the accounting file. Section VII should be consulted for 
further information on Accounting. 

1-S DMS CONFIGURATIONS 

Due to the extreme flexibility of DMS, and the extensive scope and power It 
possesses, the Disc Monitor System can be configured into a number of different systems. 
Of course, all DMS systems are tailored to the individual customer's Series 6000 hardware 
configuration, which provides the variety of peripheral devices, external interrupts, hardware 
options, and operation characteristics. However the DMS system itself can be supplied In 
various options. These options and their effects on this document are discussed below. 

The major DMS option is whether the system is spooled or unspooled. In order 
to do any spooling operations, or to run interactive remote terminals, including using the 
operator communications device as an interactive terminal, the DMS system must be 
configured in the spooled mode. The basic unspooled DMS does not support the interactive 
terminals or spooling, but does constitute a powerful monitor system useful for multiple 
foreground and single batch background multiprogramming. The spooled option, which adds 
approximately 1200 locations to the size of the resident DMS system, makes DMS 
additionally a powerful time-sharing and high volume batch operating system. 

Another option, available on ly with the spooled option. Is the accounting 
system. The accounting system provides device utilization information, identifiable to 
individual users for all system devices including disc and CPU. User Identity Is 
established through use of a required user-number, which must be used for all operations 
on the DMS system. Additionally, the accounting system provides for an extremely 
flexible file security system, based on user-numbers, ^hich allows the creator of a file to 
allow any combination of read, write, or delete access to be given to other users. 

This manual covers the full spooled accounting configuration of DMS. However, 
where applicable, items which are part of only a particular configuration are noted in the 
text. 



]-6 



SECTION II 

DMS OPERATION 

2-1 SCOPE 

This section is intended to give the user of DMS some general background 
knowledge about the operation of the monitor system. This Includes the concept of 
foreground programs, batch background, and how DMS itself operates. 

2-2 PROGRAMS 

DMS can run any number of programs concurrently. That is not to say that 
they all can execute CPU instructions simultaneously, which would be impossible with only 
one CPU, but actually that DMS selects a program to run at a given instant based on 
needed resources, priority, etc. This interaction will be discussed in paragraph 2-4. 
Since the outcome appears to be multiple programs executing concurrently, DMS can be 
called a "multi -programming" system. What are actually running are any number of 
foreground programs, and one background or "batch" program. 

A "program", whether the background or a foreground, always consists of an 
entry in an "Active Program List " (APL) and a block of storage called a "Program 
Service Area" (PSA). Associated with the Program Service Area is a block of instructions 
and data, which is a user program. Thus, as far as DMS itself is concerned, it is 
executing a Program Service Area, which in turn defines the instructions to be executed 
by pointing to the block of program code. The Program Service Area and Active Program 
List will be discussed later in this section. 

2-2. 1 Foreground Programs 

A foreground program is a user program that has been catalogued (i.e., "linked") 
to produce a load module on disc. All foreground programs reside on disc, and may also 
become core resident when DMS is loaded. Foreground programs are those which perform 
a specific task or tasks when requested. For instance foreground programs might control 
processes within a factory; control various functions of a nuclear reactor; respond to external 
stimuli coming from an airborne missile; control interactive terminals; or be used to compiute 
some repetitive calculations based on laboratory experiments. 

Under DMS, foreground programs can be activated in a number of different ways. 
These include: 

• Computer operator request 

• Request from any other program 

• External interrupt 

• Time of day activation 

• Periodic activation of a specified frequency 

• Remote terminal user request (spooled version of DMS only) 



2-1 



Once a foreground program has been acMvated, it shares fime with other 
programs as discussed below until it has completed its task. This could be an/where 
from a few milliseconds to a several hours. A foreground program remains resident 
in memory from the time it is activated, until it has completed its execution and 
"EXITed" back to the system. 

There are three distinct types of foreground programs under DMS. These 
are Resident, Non-resident, and Non-resident Re-entrant. Resident foreground programs 
are allocated memory and loaded into core when DMS is loaded from disc. They 
remain resident at all times, even when they are not being used. Resident foreground 
programs are used where rapid response time is necessary. That is, it saves the disc 
lookup and load time when the program is activated. However, they do use up 
resident memory. 

Non-resident foreground programs are user tasks that reside on disc and are 
allocated memory and loaded from disc whenever their activation is requested. When 
the Non-resident foreground program "EXITs" to the system, its core is released and 
made available for other programs. This is the most common type of foreground program. 

Multiple copies of Non-resident foreground programs are allowed when the 
second or subsequent request is made from another program, the operator console, or a 
remote terminal. Multiple copies cannot stackup in memory via the scheduler or 
external interrupt requests. 

Non-resident foreground programs may, at their request, become temporarily 
resident. That is they remain in core after "EXITing" to the system similar to resident 
foreground programs. This is accomplished through use of the TERMIN System Service 
described in paragraph 4-5. 

The third type of foreground program is the Non-resident Re-entrant fore- 
ground program. Re -Entrant foreground programs are those whose code is written such 
that it can be concurrently executed by more than one user. That is, the code does 
not modify itself, or use any fixed data storage cells within the program body. All 
variable storage must be done in some external block which is associated with the 
individual program. Under DMS, each user of a Re-entrant program has his own 
Program Service Area. If there is more than one such user of a Re-entrant foreground 
program at any given instant, then all of the respective PSA's are connected with the 
same program body. 

Re-entrant foreground programs running under DMS must use either the 
Program Service Area or a Dynamic Core Block for all data storage to insure re~ 
entrancy. Such foreground programs need not be concerned with the number of 
concurrent users; in fact they do not know such Information. Re-Entrant foreground 
programs are written as any other foreground programs might be; with the restrictions 
that they must not use data storage within the program or modify the program text in 
any way. As an example, this excludes use of the BSL (Branch and Save Long) 
instruction, since it modifies the program body. If a foreground program meets these 
requirements, then it may be typed as a Re-entrant foreground program when cataloged 
(see paragraph 6-4) and the DMS system will handle the multiple users. 

What actually happens with Re-entrant foreground programs under DMS is 
that the first request for such a program results in loading the program and a distinct 
Program Service Area. Another request for the same program results in only the 
creation of another PSA, which points to the same block of code as the other service 



2-2 



area. When a particular user of the program (PSA) exits, only the PSA memory is 
released. DMS maintains with the Re-entrant program body a count of the current 
number of users of the program. This count is incremented every time a new PSA 
comes in for the program and decremented when a user (PSA) exits. When this value 
drops to zero, the program body itself is removed from core. A subsequent request for 
the program will cause a reloading of the program from disc. 

One additional feature provided for foreground programs is that whenever a 
foreground program exits (i.e., calls the EXIT or TERMIN System Service), DMS will 
Close/Deallocate all of the files that may have been opened by the program, and return 
all Dynamic Core Blocks that the program allocated back to the system. This feature 
insures system integrity and proper resource management, and relieves the programmer 
of the necessity of performing these tasks at the end of his program. This performance Is 
slightly different than that for background programs, as will be shown in the following 
paragraph. 

2-2. 2 Background Programs 

Background Programs are those user system programs which are designed 
to run in a "BATCH" environment, where execution is never time -critical. All of 
Datacraft's standard software processors are designed to run in background (excluding 
ACRONIM and BASIC which are Re-entrant foreground programs). Thus, all compilations, 
assemblies and link catalogings are run in the background. 

The background memory area is a fixed size block of memory beginning 
at the high end of the resident DMS and continuing to some arbitrary location in 
available memory. This fixed value can be changed via the operator communications 
keyin "MB" (Modify Background) as discussed in Section IX. Whenever foreground 
programs are allocated memory that overlaps background, then the entire background 
memory area is written to disc (checkpointed). This will only happen, of course, 
after all current background I/O operations have been completed. 

All background processors reside in this same area of core and start 
at the initial background location. Thus there is never more than one background 
program in core at any time. 

A Background "Job" merely consists of a series of background program 
executions. For Instance, consider the following background Job, which is a 
Fortran compilation and execution. 

$JOB 

$FORTRAN 

(Fortran program) 

SCATGO 

SEOJ 

Initially, the background processor Job Control ("JOBCTL") is executed 
to process the $JOB and "^FORTRAN statements. Next the Fortran Compiler Is 
executed to process the Fortran source program. When it EXITs, Job Control is again 



2-3 



executed to process the SCATGO statement. Next, the Link Cataloger .s executed to 
produce a load module of the user program on disc. The Cataloger calls in the user _ 
program for execution. When the user program EXITs to DMS, Job Control is once again 
executed to process the $EOJ statement. This completes the execution of the job. 

The reader will note from the above discussion, that whenever a background 
program EXITs to the system, the Job Control processor is activated in its place. This is 
an important difference from foreground operation. Note also that this ts the orily^ 
operation performed when a background processor exits. No files are closed and no 
Dynamic Gore Blocks are deallocated. This allows Information from one processor to be 
passed on to another processor during the execution of a background job A useful 
application of this operation is in a job with multiple compilations and/or assemblies, 
the Binary Output Disc file will be left open and correctly positioned from one 
assembly to the next. 

There is one instance, however, when background files are closed arid 
Dynamic Core Blocks returned. This is when the Job Control program EXITs, which 
happens after processing a SEOJ statement. Thus the end of a background job produces 
the same cleaning up of system resources that is done when any foreground program 
EXITs. 

2-3 MEMORY ALLOCATION 

As stated In the preceding paragraph, the background memory area is 
fixed In size and location. However, memory for foreground programs and Dynamic 
Core Blocks Is allocated as discussed in the following paragraphs. An example 
of the division of memory is shown in Figure 2-1. 

Whenever a request for memory comes to the memory allocator, whether 
it is for a foreground program, a Program Service Area, or a Dynamic Core 
Block, the allocator searches from the highest memory location (in the foreground 
area) down until it finds the first available block of memory that will contain 
the request. If the core block reaches down far enough, into the background area, 
then background must be checkpointed as discussed in paragraph 2-2. 2 However, 
if the request that would cause background to be checkpointed is actually a request 
from background for a Dynamic Core Block, then the request is not processed and 
notification returned to the calling program that core is not now available. 

Using Figure 2-1, if a request for a core block of less than or equal to 
3000 words was received by the allocator, it would be allocated from the block at 
location 18000-21000 - in fact, if the request were less than 3000 words, the allocated 
block would be up against the location 21000 barrier and the remaining free space 
would begin at location 18000. 

If a request for more than 3000 words were received. It would be 
satisfied by allocating a block of the required size Immediately below location 17000. 
This also would necessitate checkpointing background, since the requested block would 
continue below location 15000. 



2-4 



Location 
(Decimal) 



24K 

23000 

21000 

18000 

17000 
15000 



8000 



Figure 2-1 
Typical Memory Layout 



System Common 
(Approximate 1000 words) 



m 

Foreground Program 

(2000 words) 



Available Space 
(3000 words) 



Foreground Program 
(1000 words) 



Available Space 



Background Area 
(7000 words) 



Resident System 
(DMS) 



2-4 



PRIORITY STRUCTURE AND PROGRAM INTERACTION 



As was memtioned previously, DMS maintains an entry in the Active Program 
List (APL) for each program in the system, including an entry for background, which 
handles whatever background processor is active. These APL entries are illustrated in 
Appendix A, but for purposes of discussion, here we need only be concerned that an entry 
contains the program's priority and status word. The Program Status Word is illustrated 
in Table 4-2. 

Active Program List entries are ordered by priority, with background always 
occupying the lowest slot, since it has the lowest priority (255). A sample Active Program 
List is shown in Figure 2-2. If two entries have equal priority, then their ordering is 
for the moment insignificant. This situation will be discussed in paragraph 2-4. 2. 



2-4. 



Context Switching 



Before a discussion of how DMS selects programs can be made, we must first 
define a "significant event". A Significant Event is any operation whose result could 
cause a program whose execution was suspended for some reason to once again continue 
execution. For instance. If a program were waiting for a certain I/O operation to be completed, 
then the completion of that operation would be considered a Significant Event. 



2-5 



Figure 2-2 
Sample Active Program Li si- 



Foreground Program 
"CAT" 

PRI = 100 



Foreground Program 
"DOG" 
PRI = 200 



Foreground Program 
"MOUSE" 

PRI - 210 



Foreground Program 
"RAT" 



PRI = 210 



Background 
PRI = 255 



When a Significant Event occurs under DMS, the routine performing 
the event executes special instructions which cause a Dispatcher Interrupt. ^ This^ 
Dispatcher Interrupt is the lowest priority external interrupt in a DMS configuration. 
This is to insure that all interrupt processing is complete before the currently active 
program is interrupted by the Dispatcher, The Dispatcher Interrupt must interrupt 
program execution and must not interrupt an interrupt routine. 

When a Dispatcher Interrupt occurs, as caused by a Significant Event, 
DMS is said to go through a Context Switch. During a Context Switch the following 
occur. Firstly, all register and program execution Information (program counter and 
condition register) are stored in the currently active program's Program Service Area. 
Next, the Dispatcher scans the Active Program List from the top down, examining each 
program's status word until It finds a program that can be executed. This top down 
scanning maintains the priority structure of DMS. If no program can be run, then the 
dispatcher enters an idle loop awaiting another Significant Event which will produce a 
Dispatcher Interrupt. A Context Switch is also performed, of course, wheriever the 
currently active program can no longer continue, such as when it must wait for the 
completion of an I/O operation. 



2-6 



Consider the following examples of Context Switching. Referring to 
Figure 2-2, program "CAT" is active and executing. Programs 'DOG" and "MOUSE' 
are both in a WAIT state, waiting for the completion of an I/O operation. If at some 
time, an external interrupt occurs which signifies the completion of program "MOUSE s 
I/O operation, then the program 'MOUSE" will become executable, although it will 
not actually be active yet. The particular interrupt routine will consider this a 
Significant Event and trigger the Dispatcher to perform a Context Switch. The Dispatcher 
will scan the Active Program List and first check program "CAT" and, finding it 
executable, will restart it. At a later time, program "CAT" starts an I/O operation 
and desires to wait for its completion. A Context Switch will occur and the Dispatcher 
will scan the Active Program List from the top. It will find both programs "CAT and 
"DOG' waiting for I/O operations to complete and thus it will put program 'MOUSE" 
into execution. 

2-4.2 Timeslicing 

Timeslicing is a feature of DMS wherein Foreground Programs of equal priority 
will share execution times so that they all have available about the same percentage of 
total execution time available to that priority level on the Active Program List. This is 
accomplished through use of the 120 Hz Clock. A timeslice period is defined as a set 
number of 120 Hz clock "ticks". This number can be modified via an operator comm- 
unications keyin. (timeslicing can also be turned off by this keyln. ) The default Is two 
"ticks" or l/oO of a second. Whenever this timeslice period Is completed, DMS checks 
to see if there is another program which is at the same priority as the currently active 
one. If so, DMS effectively moves the currently active program to a position on the 
Active Program List below all other programs of that priority, declares a Significant Event, 
and triggers the Dispatcher to perform a Context Switch, 



2-7 



Consider a conHnuation of the previous example. If the timeslice period is 
over while program "MOUSE" is active, then DMS will interchange the entries for 
programs "MOUSE" and "RAT", and produce a list similar to that shown in Figure 2-3. 
At this point a Significant Event, and therefore a Context Switch, would occur, and 
providing program "RAT" had executable status, it would be made active. 



Foreground Program 

"CAT" 

PRl = TOO 



Foreground Program 
"DOG" 
PR I =200 



Foreground Program 

"RAT" 

PRI = 210 



Foreground Program 
"MOUSE" 
PRI = 210 



Background 
PRI = 255 



Figure 2-3. Sample Active Program List After Timeslice Switch 



2-8 



Revision C 
November, 1975 



SECTION III 
DISC AND FILE STRUCTURE 



3-1 GENERAL 

DMS will support up to 32 disc drives per system on which can be mounted a 
total number of 255 unique disc packs, of which one must remain mounted and is called 
the Master Pack. On single disc systems, only the Master Pack is used. However, if at 
least two disc drive units are present, then DMS supports up to 254 removable disc packs 
which can be mounted on the drive (s). If is important to note that Dotacraft Series 
5200 Cartridge Disc Units containing both a fixed and removable platter (Model 5204 and 
5208) ore considered as two disc units for DMS operation. The fixed platter is one unit 
and the cartridge is a second unit. 

The space on each disc pack can be divided into variable length segments, 
called disc files. Disc files may then be referenced symbolically by name during program 
execution under DMS . 

3-2 DMS MASTER PACK 

Ail DMS configurations have a master disc pack. The master pock is pack 
number one. It contains all of the system information directories, etc., to maintain 
operation of the DMS system. The remaining space is allocated to user file storage. 

The master pack must remain mounted on the master disc drive at all times to 
Insure proper DMS operation. 

The master pack contains the following items (Refer to Figure 3-1 for sample 
layout giving relative sizes): 

• Absolute disc loader, which resides on sector 0, used to load the resident 
DMS from disc to core. 



• 



• 



Background Default Assignment Storage, which is a one sector table which 
contains all of the default assignments for background jobs. 

Space Allocation Map (SAM) for the master pack, which maintains a 
record of which sectors are used and which sectors are available for user 
file storage. The SAM is always two sectors long. 

• Master Disc Directory (MDD) which contains an entry for every user file 
on any pack within the system. The MDD entry gives file location, 
password, security, and type information. 

• Background Checkpoint Area, which is the area on disc used to hold the 
copy of the background memory area when background is checkpointed. 

Optionally, this area can be on any other permanently mounted disc pack 
in the system. 

• Resident DMS - This is the disc copy of the core resident DMS system, which 
is loaded by the absolute disc loader whenever DMS is loaded from disc. 

3-1 



Revision B 
March, 1975 



Figure 3-1. Sample Master Pack Layout 



Sector N 







User 






File 






Storage 


825 






824 




Resident 
DMS 


665 




System 


664 




Background 
Checkpoint 


64 




Area 


63 


Space Allocation Map 


62 
61 




Master 
Disc 


2 




Directory 


1 


Background Default Assignments 







Absolute Disc Loader 



3-3 



MULTIPLE DISC UNITS 



On configurations employing multiple disc units, disc packs containing user 
files may be interchanged on the "satellite" drives (all except master pock) Removable 
disc packs must- all be identified by a Pack ID Number, which is between 2 and 235, 
inclusive. Pack ID Numbers are established on removable packs through use ot the CLhAK 
statement of the File Manager (Refer to Paragraph 6-3.14). 

The first four sectors of "satellite" packs are reserved for system information, 
and the remaining are available for user file storage. These first four sectors contain a 
two sector Space Allocation Map, a Pack ID Number, and a special bootstrap simulator. 



3-2 



The bootstrap simulator causes the Series 6000 Control Console lights to be flashed in a 
unique pattern if an attempt is made to bootstrap (or load) a program or operating system 
(such as DMS) from the pack. 

All files created on "satellite" packs are identified by entries in the Master 
Disc Directory on the master pack. Whenever a file is referenced by a DMS program 
that is located on a removable pack, DMS determines whether or not that pack is 
currently mounted on a disc unit. If not, the computer operator is asked to mount the 
pack on any available drive. When this has been done, the operator notifies the system 
via a keyin that the pack has been mounted, and that program's execution can then 
continue. 

3-4 MASTER DISC DIRECTORY 

The Master Disc Directory (MDD) contains an entry for each user disc file, in 
a DMS system. Each such entry contains the following information. (A complete MDD 
entry layout is given in Appendix A.) 

• File Name 

• Pack Number 

• File Extents (First and last sector numbers of file) 

• File Type 

• File Access Bits (Accounting System only) 

• File Password 

• User-Number of user who created the file (Zero for non-accountrng systems) 

• Load Module Core Requirements 

• Load Module Absolute Starting Address 

The latter two items are described in the discussion of the Link Cataloger, 
paragraph 6-4. File Type, File Access Bits, File Password and User Number are discussed 
below in Paragraph 3-5. 

The particular sector in the Master Disc Directory In which the entry for a 
given file is located Is determined by a hash-coding algorithm. That Is, by applying 
some arithmetic operations to the file name, a relative sector number within the directory 
is computed. This hash-coding allows rapid file access because It eliminates searching 
more than one sector of the directory to find the entry for a specified file. 

The size of the Master Disc Directory Is variable and is set at SYSGEN time. 
However, a single restriction is that one parameter, the maximum number of entries In the 
directory, must be a prime number. This topic is discussed further In Section XII. If 
the user finds particular sectors of his directory are filling up, then it Is recommended 
that the size of the directory be Increased, to allow the hashing algorithm to spread the 
entries further apart. This must be done via System Generation. Refer to paragraph 
12-3.6. 



3-3 



3-5 DISC FILES 

A disc file is a contiguous segment of disc storage, given a symbolic name, 
optionally a password, and in accounting systems, a user-number, all of which ore used 
to identify the file. Disc files can be any size from one sector up to the maximum 
capacity of the disc pack. Once a file has been created, its size cannot be changed. 
The file can only be deleted and re-created. 

When a disc file is to be created, the user must specify the name, password 
(if any), file type, size, disc pack number on which the file is to be located, and, in 
accounting configurations, the file access bits, if any. Initially, the file name, password, 
and user -number are checked against existing files, and if the name Is not already in use, 
the DMS system finds a block of contiguous disc space of the required size by searching 
the Space Allocation Map of the specified pack. A first-fit technique is used. That is, 
the Space Allocation Map is scanned from the beginning until the first available slot is 
found. An entry in the Master Disc Directory for the file is then mode, and file creation 
is complete. The allocated disc space is not cleared when the file is created. An error 
condition or message is returned to the user if, for any reason, the file cannot be created 
as specified. 

As described above, DMS disc files are allocated in units of the Space 
Allocation Map. The SAM is always two sectors long and each bit is used to represent 
one or more sectors. Thus the SAM size is 2 x 112 x 24 or 5376 bits. When a disc 
pack has more than 5376 sectors, as most do, then each SAM bit is used to represent 
more than one sector. For example, on normal density (204 cylinder) Datacraft Series 
5200 Cartridge Disc units, there are 8160 sectors. Thus for these discs, each SAM bit is 
used to represent two sectors. This limits disc storage allocation to units of two sectors. 
Thus if the user asks for a file of three sectors, actually four sectors of disc space are 
allocated; the user getting three with one wasted. On larger, moving head multl -layer 
disc units, each space allocation bit may represent more sectors. 

3-5. 1 File Security 

DMS file security is maintained through use of a four character password, and 
additionally in accounting systems, a user -number and read, write and delete access bits. 
All of this information is stored in the Master Disc Directory entry for the file. 

In non-accounting systems, file system integrity is maintained through use of 
the password. A password can be any string of one through four alphanumeric characters, 
provided the first is alphabetic. When a password is supplied with file creation, or is 
later added through a file Rename operation, then all references to the file must supply 
the correct password. That is, when the file is OPENed for I/O operations, or attempts 
are made to Delete or Rename the file, the correct password is required. 

An additional feature of the DMS file system allows multiple files to have 
the same name, so long as they have unique passwords. That is, within one DMj system, 
there can exist file CAT with password X and another different file CAT with password 
ABCD. However, If there exists a version of the file without a password, which is 
considered a "public" file since anyone can access the file regardless of the specified 
password, then there can exist no other files with that name. For example, if the files 
CAT existed at stated above, then another file CAT with no password, (i.e., o "public" 
version) could not be created. Correspondingly, if there existed a file DOG without a 
password, then no other files named DOG could be created, even when a password was 
given. 

3-4 



In accounting versions of DMS, there exists a much more extensive file 
security system, in addition to that discussed for passwords in the previous paragraph. 
This involves the use of user-numbers and file access bits. When a file is created in 
an accounting system, the user-number of the program creating the file (refer to bection 
VII) is included in the directory entry along with any file access bits that may have been 
supplied by the creator. If no access bits are set when creating the file, then the tile is 
totally private; that is, it can be Read, Written, or Deleted/Renamed only by programs 
executing with the creator's user-number. The creator may specify, however, thay anyone. 
else be allowed to perform a particular operation of the file. For instance. Read, by 
setting the appropriate access bit(s). There is a distinct access bit for Reading, tor 
Writing, and for Deleting/Renaming the file. Exact specifications of ''j^ese bits is 
discussed in the appropriate paragraphs of Sections IV, VI and the ACRONIM General 
Specification (AA61681 -00). 

An extension of the use of multiple file names in addition to that discussed^ 
above in conjunction with passwords, is provided in an accounting system. F'"!, ^Je 
difference between "public" and "private" files for accounting systems must be defined., 
A "public" file in this context is any file which has one or more of the read, write, o^ 
delete access bits set. A "private" file is one which has none of these set and can b^ 
referenced only by the original creator. Within the restrictions discussed above tor 
passwords, if there exists a valid name and password combination, there can then exrst 
any number of private files employing this file name and password, so long as fhe user 
numbers are different. If, however, there is a valid name/password combination that is, 
"public" (has any access bit set) then there can be no other occurrences of this name 
and password together. For example, consider a file ABC with password X which is 
totally private (i.e. has no access bits set) with user -number Nl. Then users NA NJ, 
etc can all create files ABC with password X provided they are all totally private. 
However, no one would be allowed to create a file ABC having password X with any ^ 
access bits set, which would be a public version. Correspondingly, if there existed til? 
DEF with password Y having public read access set, then no one else could create a 
file DEF having password Y. Figure 3-2 gives a generalized description of what can ai^d 
cannot exist. 

3-5. 2 Passwords on Load Modules 

Whenever a load module (program) is created on disc by the Series 6000 
Link Cataloger, it is given the special password "GORP". The purposes of this are two- 
fold One is that it allows users to create other data and word files of the same name, 
i e.', it creates a non-accounting type private file instead of a public one. Second, i!t 
prevents accidental destruction of program files by requiring use of the password when _ 
doing writing or deleting operations. The System Loader uses the password GOKP when 
reading any load module from disc. Hence, the user need not be concerned with its 
presence except when a purposeful attempt at deletion or renaming of the program is 
desired. 

3-5. 3 File Types 

When a file is created, the user specifies a File Type. As far as DMS 
operation is concerned, file types 1, 4, 5 and 6 are all equivalent. This file type 
distinction Is provided soley for purposes of the individual installation. DMS does, 
however, differentiate file types 2, 3, 7, 8 and 9. These distinctions are required to 
allow the system to determine the types of load modules and correctly load program files. 
The meaning of various File Types is given in Table 3-1. 



3-5 



Figure 3-2 
File Name Uniqueness In Accounting Systems 



Given the same 
file name If 

there exists ^ 

Then the 
following is: ^ 


File w/o 
Password 
No Access 
Bits Set 


File w/o 
Password, 
Some Access 
Blt(s) Set 


File with 
Password 
No Access 
Bits Set 


File with 
Password, 
Some Access 
Bit(s) Set 


No password w/o 
access bits and 
different user 


Valid 


Invalid 


Valid 


Invalid 


No password with 
access bits and 
different user 


Invalid 


Invalid 


Invalid 


Invalid 


Same password 
w/o access bits 
and different 
user 






Valid 


Invalid 


Same password 
with access 
bits and 
different user 






Invalid 


Invalid 


Different 
password w/o 
access bits & 
different user 


Valid 


Invalid 


Valid 


Valid 


Different 
password with 
access bits & 
different user 


Invalid 


Invalid 


Valid 


Valid 


Different 
password w/o 
access bits & 
same user 


Invalid 


Invalid 


Valid 


Valid 


Different 
password with 
access bits & 
same user 


Invalid 


Invalid 


Valid 


Valid 



3-6 



Revision C 
November 1975 



Table 3-1 
File Types 



2 

3 
4 
5 
6 
7 
8 
9 



User Data or Work File 

Background Relocatable Load Module 

fockground Absolute Load Module 

Object Library File 

Source Library File 

System Work File 
Resident Foreground Load Module 
Non-Resident Foreground Load Module 
Re-entrant Foreground Load Module 



An additional file type specification is provided through use of the blocked^ 
or unblocked types. Any of the file types I, 4, 5 or 6 can additional y be speofied as 
blocked. Once a file has been created as blocked, then all accesses to the file are 
through the resident DMS Blocked File Handler. Blocking of files provides increase 
disc Lrage density by packing multiple records per disc sector Additionally symbolic 
records have contiguous blanks replaced by a b ank suppression character on the disc file 
providing increased file capacity. For example, normal symbolic assembler source card 
images ?an be packed about 8-10 images per sector by blocking techniques while ,f the 
data were written in an unblocked file, one image per sector would be written. Further 
advantages of blocked files are given in Paragraph 3-5.4 

A further distinction within blocked files is provided by a type designation 
of spool files. Spool files are those dynamically created by the system to hold input and 
output spool files. Input spool files providing background jobs are named S:nnnn where 
nnnn is an ascending decimal number. Output spool files generated by any program are 
named S#nnnn where nnnn is again a decimal sequence number. If a file is typed as 
spooled, then the Foreground Output Spooler will delete it when ,t has comp eted the 
dumping of the file. Correspondingly, input spool files are automatically deleted by 
background when the job has been completed. 

Yet another file type designation available under DMS is the Core 
Resident Directory option. When a system is generated, a table of variable length 
is created in memory to hold those Master Disc Directory entries the user feels are 
accessed frequently enough that the extra disc access to the Master Disc Directory 
should be eliminated. For instance, if a particular configuration has a d'sctile 
(possibly a load module file) that was opened, say once a second, then '^ might be 
advantageous to have its directory entry reside in ^^;e 'n-core directory table o f'^ n°|j 
?he disc access involved in the directory look-up. When a data or program file is created. 



3-7 



Revision C 
November 1975 

it can be specified thai its directory entry is to be core resident. Refer to Section VI 
on data and program file creation. Note that this in-core directory table must be able 
to hold all directory entries that are created as "Core -Resident". The user should be 
careful not to overflow this table, which would cause a rejection of a file creation of 
this type. 

Any of the above file types may also be classified as being Permanent files. 
A file which is typed Pennanent is not moved during pack compression. A typical use of 
a Permanent type file would be to cover and flag a bad sector on a disc peck. 

3-5.4 File Accessing Methods 

Whenever a disc file is "OPENed", which is required before a program 
can access the file, the file password is checked. Additionally, in Accounting Systems, 
the user -number and file access bits are checked and saved to insure that the user is 
allowed only appropriate access to the file. 

Records written to unblocked files are always written beginning at 
sector boundaries. Thus, if all records written are less than or equal to 112 words in 
length, one record will be written per sector. When unblocked files are read, the 
record length transferred is determined by the word count of the read request, not what 
was written to the file. Thus, for example, if two 30-word records were written to 
unblocked file, and the first was read with a word count of 224, the data transferred 
would be the first 30 -word record, followed by 82 zeros, followed by the second 30-word 
record, followed finally, by another 82 zeros. End-of-file marks on unblocked files are 
written as hardware end-of -files, and occupy a full disc sector. 

On blocked files, records are written continuously on sectors, with a 
software end-of -record mark between each record. Records may spill across sectors as 
necessary, but all 112 words of a sector are used. Additionally, if a record is written 
with a Symbolic Write request, then strings of multiple blanks will be replaced bv a 
single blank suppression character and trailing blanks ignored. In contrast to unblocked 
files, which always reads the specified word count, when a record is read frorn a 
blocked file, at most one previously written record is transferred. On Symbolic Read 
requests, if more words are requested than were in the record written, the remaining 
positions are filled with blanks. End-of-file marks on blocked files are handled by 
software, and occupy one word of a sector. 

File manipulative commands can be performed on both blocked and 
unblocked files. These include advance record, backspace record, advance file, 
backspace file, and rewind. One difference, however, is that for unblocked files, if the 
word count of the record(s) being bypassed is greater than 112 then this word count must 
be specified on advance and backspace record commands. 

Random read/write capability is provided through use of the Set Current 
Record Address Function, which sets the file pointer to a specific record within the 
file. For unblocked files, this Record Number is actually just a relative sector number. 
For blocked files, an actual record number is used. Based on record numbers stored in 
each block of a blocked file, an optimized Iterative search technique is employc;d to 
locate the specified record and set the file pointer to it. 



3-8 



Revision C 
November 1975 



Random access writing of blocked files is not normally valid. That is, 
blocked files function is similar to magnetic tape. Hov/ever, an Edit Write function code 
is available for blocked binary records, allowing a specified record to be over-written 
provided the original word count and new word count are identical. 



3-9 



Revision C 
November 1975 



SECTION IV 
SYSTEM SERVICES 



4-1 



GENERAL 



System services perform fhose system functions that are required to serve all 
programs executed under DMS. These services are performed by resident system sub- 
routines that can be accessed using the Branch and Link Unrestricted (BLU) instruction. 
A Service Linkage table for all services is contained in memory locations through '37. 

The first six services are provided in a manner compatible with the Series 
6000 Disc Operating System (DOS) such that background processors can be executed 
interchangeably with either system. 

Table 4-1 lists the system services and their functions. 

Table 4-1 
General System Services 



Linkage Address (Octal) 




1 
2 
3 

4 

5 

6 

7 

10 

11 

12 

13 

14 
15 
16 
17 
20 
21 



Description** 



BLU SABORT 
BLU $]/0 
BLU $EXIT 
BLU $HOLD 

BLU SCHAIN 
BLU SINFO 
BLU $WAIT 
BLU $SFUNC 
BLU SCONV 
BLU SFROGS 
BLU SSYSTER 
BLU STERMIN 

BLU SASSIGN 
BLU $DCM 
BLU $UNTRAP 
BLU SFPACK 
BLU SO/M 
BLU $C/RTN 



System Services Function 



Abort calling program 

Request ]/0 function 

Terminate calling program 

Output operator message and 
suspend calling program 

Load program segment 

Return system information 

Wait until flag is reset 

Perform special system function 

Execute number conversion 

Special foreground services 

Restricted system services 

Tenminate without leaving 
memory 

Dynamic ]/0 device assignment 

Dynamic Core Manager 

Background & card control 

Find specified disc pack 

Output Operator Message 

Contingency Return 



^The Cataloger utilizes only the first three characters of the "BLU name", i.e., 
"BLU $ABO". I 



4-1 



Revision C 
November 1975 

The contents of the registers are indeterminate upon return from any system 
service except where used to return the results of the service as indicated m h.s 
document. It is the responsibility of the calling program to save any essential data m 
the registers before calling a system service. 

4-2 ABORT SERVICE 

The ABORT service provides a means whereby the calling P''°g''<=';" ^°" ^^^^ 
abruptly terminated and an appropriate notification output to the l^^'''^^' ' /^^^^^ue^, 
function is invoked by DMS when a program error Is detected (such as an I/O request 
with an invalid functfon code or logl'cal file number), when an OP«-^- .Commun-catjons 
command to abort a program Is received, or when this service ,s ^^^l^^^- J^^ ^^^^^"^ 
message that is output to the program's output device or file is of the format. 

XXXXXX: ABT cc ;a) aaaaaa 

where: XXXXXX is a program name; aaaaaa is a relative program 

address; and cc is a unique error code. 

After the message has been output, DMS then closes all logical files that 
were opened by the aborted program and otherwise proceeds with the termination process. 

When any background program is aborted, the Job Abort flog is set such 
that remaininci control statements associated with that job are ignored and J°b Con "■ol 
searches for the corresponding $EOJ statement in spooled configurations or he next SJOB 
or $EOJ in unspooled systems. (If the Job Stream is assigned to the console tele- 
typewriter, a $JOB is not required. ) When a foreground program is aborted only the 
cu'Jrent execuHon of the program is aborted, and nothing is done to prevent reinitiation 
of the same program. No interrupts are enabled as a result of an ABUKI. 

Assembly Language Call 

BLU $ABORT 

4 -2 A Contingency Return 

The C/RTN service provides a means whereby a foreground or background program 
may regain control upon an SAU trap or system abort. The only requirement is that the programs 
must supply the service password in the D register when the service is called. The password 
consists of 6 ANSCII characters, and Is denoted below by "KEY". The user program is allowed to 
be qiven control of up to 32 aborts, the 33rd abort is unconditionally fatal. Following an operator 
(eight OPCOM or terminal user) abort, any abort (including a second operator abort) is also un- 
conditionally fatal. After the user program is given control of an abort, the next abort is total 
unless the user again makes a call to C/RTN. 

The user program is allowed to be given control of an unlimited number of nonaborting 
SAU traps. C/RTN requests are made via the following calling sequence: 



4-2 



Revision C 
November 1975 



TMD 


="KEY" 


TLO 


USRRTN 


BLU 


$C/RTN 


DATA 


PARAMETER 



D = service key 

K - address of user routine to v/hich 

control is to be given 



USRRTN 



DATAO 
DATA 



The user may specify whether the system is to return control to the user only in 
the case of an abort, or in both cases of aborts and non-aborting SAU traps. The user may 
additionally specify v/hether system abort messages are to be printed by the system. Valid par- 
ameter values and their meaning are given below. 

l!,i case of an abort, the system will branch to USRRTN4-2 with USRRTN containing 
the system abort code and USRRTN+1 containing the abort location in bits 15-0. 

In case of a non-aborting SAU trap, the system will branch to USRRTN+2 with 

USRRTN containing the SAU error code with bit 23 set. USRRTN+1 will contain the trap 

location in bits 15-0 and the C register in bits 19-16. The user may return to the npn-KJbort-ng 

SAU trap location by restarting all registers to the values contained upon entry to U5RR1N and 

executing a BRL*USRRTN instruction. 

Definition 
Parameter 

n Remove previous C/RTN call entry. ,, , ^ . c u ^ 

? Do not inhibit abort messages, branch to USRRTN+2 in case of an abort. 

2 Do not inhibit abort messages, branch to USRRTN+2 for both aborts 

and non -aborting SAU traps. ^ „ , . r „ 

3 Inhibit system abort messages, branch to USRRTN+2 only m case of an 

4 InhTbft system abort messages, branch to USRRTN+2 for both aborts and 

non-aborting SAU traps. 



4-3 



INPUT/OUTPUT REQUESTS 



ALPHA 



The I/O Control System performs all I/O functions on a priority interrupt 
basis, providing the ability to overlap I/O operations are internal processing. I/O 
requests are made with logical file numbers; physical devices and disc files may be 
assigned to logical file numbers through Job Control and the Cataloger for backgrpund 
and foreground programs respectively. I/O requests are made via the following sequence 
of instructions: 

TLO PARLIST (K) = address of parameter list 

BLU Sl/O Call I/O control 

Transfer has been initiated and will 
be performed on an interrupt basis 
concurrent with processing. 

XX ^logical file YY -function code 

Word count 

Buffer Address 

Reserve n words or storage 



PARLIST 


DATA 


'XXYY 




DATA 


n 




DAC 


BUFFER 


BUFFER 


BLOK 


n 



4-2A 



If a device is busy when a request is received, the calling program is 
placed in the "waiting" state until the device becomes available. When the device is 
available, the request is initiated such that it can be completed using the device 
interrupts. Control is then returned to the calling program (at ALPHA+2) with the 
condition register set to "not negative". A BON at ALPHA+2 is not necessary for 
DMS; it should be used, however for DOS. 

When any program must determine if an outstanding I/O function has been 
completed, it should request a status test. The status test function will place the 
calling program in a waiting state until the I/O function being tested has been 
completed. When the I/O function has been completed, it next checks for device 
errors and, if necessary, performs complete error processing and recovery. Finally, when 
the i/O function has been completed, the status test function returns control to the 
calling program with pertinent data regarding the referenced function in the accumulator 
(End-of-File, word count not complete, etc. ). 

Functions not requiring a parameter list (word count and buffer address) may 
be executed via the following sequence: 

ALPHA TNK 'XXYY (K) =logical file/function code 

BLU $l/0 Call I/O control 

This sequence may be employed to test status, open a file, etc. The 
acceptable function codes for each device and their precise definitions are provided in 
Section V of this document. 

4-4 EXIT SERVICE 

The EXIT service provides the normal means to terminate execution of a 
program. The EXIT function closes all logical files which have been opened by the 
calling program and awaits completion of all I/O Initiated by the terminating program. 
When a background program is terminated, Job Control Is reloaded and executed. When 
a non-resident foreground program Is terminated, its allocated memory Is released for use 
by other programs, and its entry Is removed from the list of active programs. When a 
resident foreground program Is terminated. Its entry is merely removed from the active 
program list. 

Assembly Language Call FORTRAN Call 

BLU '.EXIT CALL EXIT 

4-5 TERMIN SERVICE 

The TERMIN service Is identical to the EXIT service described above 
except that it results in the foreground program remaining In core In its allocated 
memory area. This call is redundant for background or resiJent foreground programs. 
Foreground programs using this service can later be reinitiated by normal means with the 
exception that they will not be loaded from disc. A program which has used this 
service can later do a normal EXIT when it is again active. 

Assembly Language Call 

BLU $TERMIN 



4-3 



Revision A 
May, 1974 

4-6 HOLD SERVICE 

The HOLD service allows a program to output a message to the console typewriter and 
suspend execution pending on operator response (refer to Operator Communications, Section IX). 
The typewriter message has the following format: 

program: message text 

where- program consists of one to six ANSCII characters representing the program name 
for foreground programs or the characters "BAKGND" for any message originated by a background 
program, and message text is 1-15 ANSCII characters. 

The following calling sequence is required to utilize the HOLD service: 

Assembly Language Call FORTRAN Coll 

TMK MESSAGE PAUSE XXXXXX 

BLU SHOLD OR 

STOP XXXXXX 
MESSAGE 'XX" ^"message text" This causes HOLD with STOP or PAUSE, 

plus the six-character message. 

where: XX is the octal word count of the text message (Maximum^S). 

If XX is zero, there will be no message, but the execution of the program is suspended. 

EXAMPLE: 

TMK MOUNTl 

BLU SHOLD 



MOUNTl '05 ="MOUNTA3TAPE" 

Assuming the call is made by a background program, the background will be suspended 
and the following message output: 

BAKGND: MOUNT A3 TAPE 

4-6A O/M SERVICE 

The O/M Service allows a program to output a message to the program's appropriate 
List Output File; or Device. For background programs this is the List Output Logical File (06), 
and for foreground programs this is the terminal at which the program was initiated. The type- 
writer message has the following format: 

Program: message text 

Where message text is 1-15 ANSCII characters. The following calling sequence is 
required to utilize the O/M service: 

As sembly Language Call 

TMK MESSAGE 

BLU $0/M 

MESSAGE 'xx = "Message text" 

4-4 



Revisfon A 
May, 1974 

Where: xx is the octal word count of the text message (Maximum = 5). 

4-7 CHAIN SERVICE 

CHAIN allows a large program to be segmented into multiple load modules and "chain 
loaded" under program control for execution. Different Chain modules may reference a 
COMMON data pool and may call each other in any order. The last executable module should 
call EXIT. The CHAIN calling sequence is: 

Assembly Language Call FORTRAN Call 

BLU $CHAIN CALL CHAIN (6HXXXXXX) 

DAC ="XXXXXX" 

where: XXXXXX is the identification of the module being called. For additional 
information, refer to the Link Cataloger, Section VI. 



4-4A 



Revision C 
November 1975 



4-8 



INFO SERVICE 



INFO provides any processor with system information such as date, lines per page, 
options, flags etc. An assembly language information request is as follows: 



TOK 
BLU 



Value of n 



1 



2 
3 

4 

5 
6 



8 

9 
10 
11 

12 



n 
SINFO 



Result 



The 24-blt Option word is returned in the A register. If the BLU 
$INFO request is from a background program, the word returned 
in the A register is the logical "OR" of the current background 
option word (see section 6-2.6) and any options cataloged with 
the program (see section 6-4. 2), If the BLU $INFO request Is 
from a foreground program the word returned In the A register 
consists of only those options cataloged with the program (see 
section 6-4. 2) and the remaining bits are zeroed. 

The nine-character date is returned in the E, A, and I register, 
respectively, three characters per register. See F'aragraph 6-2.4. 

The lines-per-page integer is returned in the A register. See 
Paragraph 6-2. 5. 

The 24-bit Flag word is returned in the A register. See 
Paragraph 6-2, 7. 

The current six-character job name is returned in the D register. 

The current run time is returned in the D register as a double 
precision Integer in Accounting Systems only. Time is expressed 
in milliseconds since start of job. In non-accounting systems, 
this call returns zero. 

The background -low address is returned In the E register and 
background-high address is returned in the A register. The 
Memory-high address is returned in the J register. 

The negative of program high for the current background pro- 
cessor is returned in register I. 

Invalid. A program abort will result. 

The contents of register D are saved as "Start -of -Job" time. 

The previously saved "Start-of-Job" time is returned in 
register D. 

The current time of day is returned in register A. It is expressed 
as an integer representing tenths of seconds since midnight. 



4-5 



¥-9 



SFUNC SERVICE 



The SFUNC service performs several special sysfem functions that can be 
equested by both foreground and background programs. A specific function is selected 
jsing the following general calling sequence. 

Assembly Language Cal 



TME 


pi 


TMA 


P2 


BLU 


$SFUNC 


DATA 


n 



where: pi, p2 contain the parameters that are defined uniquely for each 
Function and n specifies the required function as shown in the following table. 



Value of n 



1 
2 



Result 



Sets the Program Switch Word of the calling pro- 
gram to the value of p2. 

Fetches the Program Switch Word of the program 
identified by the six-character name contained in 
pi and p2. If the program is active, the Program 
Switch Word of the specified program is returned 
in register A and the Program Status Word is 
returned in (E). The format of the Program Status 
Word and the corresponding system status conditions 
are defined in Table 4-2. 

Disables the SAU overflow interrupt trap_ during the 
execution of the calling program overriding the 
option specified when the program was Link Cata- 
loged. (TYPE=SAUT). The parameters pi and p2 
are meaningless for this function. 

Re-enables the SAU overflow interrupt trap during 
the execution of the calling program. This function 
terminates the effect of the preceding function. 

Determines the peripheral device number of the ^ 
device assigned to the logical file core contained in 
bits 11-6 of p2. Upon return, (I) contains the 
address of the File/Device Control Block, which^ 
corresponds to the specified file code. The initial 
word of the F/DCB contains the peripheral device 
number in bits 5-0. If this device number is zero, 
then the file code is assigned to a disc file; the 
ANSCII name of the file can be obtained from words 
two and three (addressed as 2,1 and 3,1). 
Register A contains the device type of the assigned 
device according to Table 4-3. If the logical file 
is not assigned to any device, then the service 
returns with (I) = 0. __^_ 



4-6 



Example: 



TMD 

BLU 

DATA 



="TEST lA' 

$SFUNC 

2 



When control is returned after executing this call, the E register will 
contain a -1 if the program TESTIA is inactive. If TESTIA is active, then E will 
contain a value other then -1 and A will contain Its Program Switch Word. 

Table 4-2 
• Program Status Word 



Bit 



823 =1 
B22 =1 

B21 =1 

B20 =1 
B19 =1 
B18 =1 

B17 =1 

B16 =1 

B23-19=0 
B 17-0=0 



Indication 



& 



Checkpointed 
Waiting 

Suspended 

Awaiting Initiation 
Awaiting Allocation 
Abort Inhibited 

Abort Pending 

Terminated 

Executable 



Comments 



Program has been checkpointed on disc (BAKGND 
only). 

The program is discontinued until a specified flag 
becomes non-negative. The flag assress is contained 
in bits 15-0. 

The program has been discontinued indefinitely. An 
Operator Communications command is required to 
resume its execution. 

An initiation request has been mode for the program, 
but it has not yet been processed. 

The program is a candidate for foreground memory 
allocation. 

The program is undergoing an initiation or term- 
ination sequence during which an abort cannot be 
processed. 

An abort request has been made for the program, 
but it has not been processed. 

Program has exited via TERMIN service. 



The program is contending for computer processor 
time which it will be allocated according to 
priority. 



4-7 



Revision B 
March, 1975 



Table 4-3. Device Type Codes 



Code 
(Decimal) 


Type of Device 





Disc 


1 


Console TTY 


2 


Remote TTY 


3 


Remote CRT 


4 


Paper Tape Reader 


5 


Paper Tape Punch 


6 


Line Printer 


7 


Card Reader 


8 


Card Punch 


9 


Mag Tape 


10 


Synchronous Interface 


n 


Real Time Peripheral Equipment 


12 


Incremental Plotter 


13 


Printer/Plotter 



4-10 



WAIT SERVICE 



The WAIT service allows a program to relinquish all processing time until a 
flog word is set to a positive or zero value by some other program or interrupt routine. 
When this service is called by a foreground program, control is transferred to another fore- 
ground program or to the background as dictated by program priorities. When called by a 
background program, the system inters the null state until an interrupt occurs, enabling some 
program to resume execution. 

The WAIT function that is associated with this service is used extensively by the 
I/O Control System and other DMS routines to provide multiprogramming. For example, when 
an ]/0 request cannot be initiated for a program because the required device is busy, then 
IOCS invokes the WAIT function and the program is discontinued until the busy flag associated 
with the required device is reset. The WAlT service allows this function to be adapted to more 
general applications. It can be used when a data processing program must wait until a data 
acquisition foreground program has input some quantam of data (and then resets the flag). 

Assembly Language Call 

TLO FLAG 

BLU $WAIT 

4-8 



where: FLAG is the flag word and can reside in the calling program or 
in SYSCOM. 

4-n CONV SERVICE 

The CONV service performs the number conversion functions. The service 
is utilized with the following calling sequence: 

Assembly Language Call 

TMA VALUE 

BLU SCONV 

DATA n 

VALUE DATA X 

where: n determines the type of conversion. 
X is the value to be converted. 



Value of n 


Function 


1 


The value in (A) is converted to its decimal 
ANSCII equivalent and returned in register I, E 
and A. A negative is Indicated by (-); a positive 
sign Is indicated by a blank space (K). 




(I) = Sign, K 1st digit 
(E) = 2nd, 3rd, 4th digits 
(A) = 5th, 6th, 7th digits 


2 


The value in (A) is considered to be a 24-bit 
unsigned integer, and is converted to its octal 
ANSCII equivalent. The result is returned in 
registers I, E and A. 




(I) = K 1st, 2nd digits 
(E) = 3rd, 4th, 5th digits 
(A) = 6th, 7th, 8th digits 



4-12 



SPECIAL FOREGROUND SERVICES 



The foreground system services perform those functions required to coordinate 
foreground activity. These services can also be called by background programs. The 
general calling sequence for foreground services is as follows. 



Assembly Language Call 

TMR parameters 

BLU $FROGS 

DATA n 



FORTRAN Call 

Call FROGS (n, parameterl,parameter2,. . . ) 



4-9 



Revision C 
November 1975 



v/here: n Identifies the specific foreground system service parameters that 
ore dependent on the specific service. These services and the corresponding value of n 
are described in the follov/ing paragraph, and summarized in Table 4-4. 

4-12. 1 Program Initiation 

Any foreground program executing under DMS has the ability to initiate 
another foreground program which can be specified to operate at a higher, lower, or 
identical priority to the calling program. The calling sequence for this function is as 
follows: 

Assembly Language Call FORTRAN Call 

TMD ="program" Call FROGS (l,6HPROGRA,priority, parameter) 

TOT priority 

TMK parameter 

BLU SFROGS 

DATA 1 



wr 



„here: "program" or PROGRA identifies the program name in six ANSCII 
characters, priority specifies the execution priority and must range between 1 and 254^ 
and "parameter" specifies a 24-bit value which is passed to the specified program and 
loaded in the A-register when it begins execution. Upon return, the A-register will contain 
the address of the APL entry for the program being initiated or -1 if the APL list was tull. 

Control is returned to the calling program once the initiation procedure has 
been started, but not necessarily completed. In accounting systems, the user number of 
the calling program is automatically used as the user-number for the program being initiated. 

Example: 

TOI 1 Call FROGS (l,6HDTALOG, 1,5) 

TMD ="DTALOG" 

TOK 5 

BLU SFROGS 

DATA 1 

• • • • • • 

This example will initiate program DTALOG to execute at priority 1 with 
parameter of 5. 

4-12.2 Foreground Interrupt Handling 

Foreground system services are provided to allow program control of selected 

priority interrupts those reserved for foreground program initiation during system 

generation. To utilize this type of interrupt, a program must be first "connected" ^o ''ne 
interrupt level i.e., a software linkage must be established such that the program will be 
initiated when the interrupt becomes active. The CONNECT service used to make this 
linkage has the following sequence. 



4-10 



Assembly Language Go 1 1 



TMD 


= '■ program 




name" 


TOI 


■xyy 


TOK 


n 


BLU 


SFROGS 


DATA 


2 


DATA 


parameter 


where: 


"program name 


the program. 





FORTRAN Call 

Call FROGS (2,6HPROGRA, 'xyy,,n,parameter) 



"program name" - consists of six ANSCII characters that identify 

X - represents an octal digit specifying group 
number. 

yy - represents two octal digit specifying level 
(within appropriate group). 

n - represents the system priority at which the 

specified program will be executed; must range 
between 1 and 254. 

parameter - represents a 24-bit value to be passed to 

specified program as parameter at initiation. 

The CONNECT service disables and arms the specified level before 
returning to the calling program. When the connected program is initiated, the user- 
number for Accounting Systems will be the same as that of the program making the 
CONNECT call. 

The ENABLE service can be used to enable the priority interrupt so that it 
can be activated by an external signal. The ENABLE function first verifies that the 
specified interrupt is valid and that o program has been connected to it. If these 
conditions are met, the ENABLE function enables the interrupt and returns to the calling 
program. The calling sequence to enable an external interrupt is as follows. 



Assembly Language Call 



TOI 
BLU 
DATA 



interrupt 
SFROGS 
3 



FORTRAN Call 

CALL FROGS (3, interrupt) 



CONNECT. 



where: interrupt identifies the interrupt group and level as described for 



The DISABLE service disables the specified priority interrupt and thereby 
prevents its activation. The DISABLE funcj-ion first verifies that the designated interrupt 
is valid and then disables the interrupt. The calling sequence is as follows: 



Assembly Language Call 
TOI interrupt 



FOR TR AN Call 

CALL FROGS (4,;nterrupt) 

4-n 



BLU 
DATA 



$FROGS 
4 



The RELEASE service removes the software linkage extablished by CONNECT 
and disables as well as disarms the specified interrupt. A RELEASE must be issued 
before another CONNECT can ne made to the same interrupt level. The calling 
sequence for RELEASE is as follows: 



Assembly Language Call 

TOI interrupt 

BLU $FROGS 

DATA 5 



FORTRAN Call 

CALL FROGS (5,interrupt) 



Example: 



TMD 


="ALARM1 " 


TOI 


'121 


TOK 


1 


BLU 


SFROGS 


DATA 


2 


TOI 


'121 


BLU 


$FROGS 


DATA 


3 



CALL FROGS (2,6HALARM1, '117,1) 



This example connects program ALARMl to the interrupt of group 1, level 
17, and then enables that interrupt. When the interrupt becomes active, the program 
ALARMl will be executed at DMS priority 1. 

The user should consult Section XII, System Configuration, for information 
on specifying certain external interrupts as usable by these services. 



4-12.3 



Timer Scheduling 



The timer scheduler provides the capability of repetitively executing 
foreground programs at fixed time intervals. The SCHEDULE service con be called by 
any program to add any foreground program to the timer schedule. The calling program 
must specify the program name, the activation intercal in 120 Hz Clock counts, and its 
execution priority as shown in the following calling sequence. The user number in 
Accounting Systems will be the same as that of the calling program. 



Assembly Language Call 



FORTRAN Cal 



CALL FROGS (6,6HPROGRA,priority, 
timer counts, parameter) 



TMD =" program 

name" 

TOI priority 

TOK timer counts 

BLU $FROGS 

DATA 6 

DATA user parameter to be passed to "program name" 



4-12 



If this program has already been entered, the condition code is set to a 
negative (-) condition. If the timer schedule is full, the condition code register Is set 
to a zero (0) condition before returning to the calling program and the request is ignored. 
Otherwise, the program is added to the schedule and the condition code register is set 
to a positive (+) condition. 

TMD ="SCANX" CALL FROGS (6,5HSCANX,5,50,100) 

TOI 5 

TOK 40 

BLU $FROGS 

DATA 6 

DATA 100 

In this example, the program SCANX will be executed at priority 5 once 
every 40 timer counts. There are 120 timer counts per second. The parameter passed 
to SCANX is 100. 

A DELETE service is also provided that removes the specified program from 
the timer schedule. This service is called with the following instruction sequence. 

Assembly Language Call FORTRAN Call 

TMD ="program CALL FROGS (7, 6HPROGRA) 

name" 
BLU SFROGS 

DATA 7 

* • • • • « 

An additional service is provided to cause a foreground program to be 
initiated after a specified delay. To use this service, the calling program must give the 
number of timer counts in the future at which time the program is to be Initiated. By 
using this service in conjunction with the INFO time of day service, a program can cause 
another program to be initiated at a specific time of day. 

Assembl y Language Call FORTRAN Call 

CALL FROGS (1 0,6 HPROGRA, priority, 
timer, parameter) 



TMD 


=" program 




name" 


TOI 


priority 


TOK 


timer counts 


BLU 


SFROGS 


DATA 


10 


DATA 


parameter 



If this program has already been entered, the condition code Is set to a 
negative (-) condition. If the timer schedule is full, the condition code register is set 
to a zero (0) condition before returning to the calling program; and the request is 
ignored. Otherwise, the program is added to the schedule and the condition code 
register is set to a positive (+) condition. 

A WAIT service is also provided to enable the calling program to place 
itself in a suspended state for a specified Interval. This interval Is specified as a number 
of timer counts. This service is called with the following sequence: 



4-13 



Revision B 






March, 1975 






Assembly 


Language Call 


FORTRAN Call 


TOK 


timer-counts 


CALL FROGS (1 


BLU 


SFROGS 




DATA 


11 




4-12.4 System Common 


Accessing 





The label SYSCOM is reserved for a special common storage area in upper memory by 
the DMS. This area provides a communications region for programs executing under DMS. The 
size of the SYSCOM area is established during system generation. 

Any program that needs to reference this area must contain a common statement specifying 
the block name SYSCOM. The proper address for SYSCOM references will ^^en be constructed 
by DMS when the program is loaded. Any program can then extract data from SYSCOM and pro- 
cess it A program operating in the Restricted Mode cannot alter memory outside its allocated 
area and thus cannot normally modify the contents of SYSCOM. However, a pair of foreground 
system services are available that provide a restricted foreground program with temporary write- 
access to SYSCOM. The PROVIDE service modifies the contents of the upper limit register tor 
the calling program such that is can alter SYSCOM. The RESTRICT service restores the upper 
limit register to its previous value. 



Assembly Language Call 



PROVIDE: 



RESTRICT: 



BLU 
DATA 

BLU 
DATA 



$FROGS 
8 

$fr6gs 

9 



FORTRAN Call 
CALL FROGS (8) 



CALL FROGS (9) 



4-12.5 Change Limits Service 

A program may alter its restricted status by the following call: 



TME 
TMA 
BLU 
DATA 



NEWLO 
NEWHI 
$FROGS 
12 



Upon return from the service, the program limit registers are set to NEWLO and NEWHI 
respectively, and E and A contain the old values of the limits. If the new limits include part of 
the operating system, the program will be executed as a privileged program until the limits are 
again changed such that they no longer include any part of the system. 

Table 4-4. Summary of FROGS Call 



Value of n 



1 

2 

3 

4 

5 



Function 



Initiate program. 

Connect to External Interrupt 

Enable External Interrupt 

Disable External Interrupt 

Release program connected to External Interrupt 

4-14 



Revision C 
November 1975 



Table 4-4. Summary of FROGS Call (Cont'd. ) 



Value of n 



7 
8 
9 
10 

n 

12 



FuncHon 



Place program on timer schedule for periodic 
initial-ion. 

Remove program from timer schedule. 

Provide write -access to SYSCOM. 

Restrict write -access to SYSCOM. 

Initiate program at specified time. 

Suspend program execution for specified period. 

Change limits of restricted program. 



4-13 



ASSIGN SERVICE 



The ASSIGN service provides dynamic I/O unit assignments for both foreground and 
background programs. It modifies the calling program's own File/Device Control Block area 
(Assign Table). The service is utilized with the following calling sequence for regular disc tiles: 

TOI LFN 

TMD FILENAM 

BLU $ASSIGN 

The following sequence is used for physical devices: 

LFN 



TOI 
TZE 
TOA 

BLU 
BON 



PDN 

$ASSIGN 

ERROR (PDN is not in system) 



The following sequence Is used for dynamic file creation of spooling files in spooled 
systems only: 



TOI 
TMA 

TME 



BLU 
BON 



LFN 
SDN 



(spooled device PDN in bits 23-18, file size In sectors 
or zero in bits 17-0) ( See text below) 
=' 60000000 ( for spooled fi le create/return to user on error) or 
=' 70000000 (for spooled file create/abort on error) or 
='40000000 (for regular file create/return to user on error) or 
= ' 50000000 (for regular file create/abort on error) 
$ASSIGN 
ERROR (PDN Is not spooled PDN in system) 



4-15 



Revision C 
November 1975 

where LFN is a valid Logical File Number {'77> LFN > 0); FILENAM is a 6 character 
ASCII file name; PDN is a valid Physical Device Number (76 > PDN > 0); and SON is a valid 
DN that is also a spooled device. (Physical device configured as terminal in spooled systems.) 

10' 

a) the LFN is invalid 

b) the PDN is invalid 

c) the SDN is invalid (spooled file create.) 

If the specified logical file is open, the ASSIGN service will close/deallocate it 
before making the assignment. An ABORT will result if the Assign Table is full or the Assign- 
ment = is made. 

The spool mode of the Assign service is used for making assignments to spool output 
files. It is available only in spooled configurations of DMS and an abort will result if its use 
is attempted in unspooled systems. 

The file will be dynamically created by the system using ascending ASCII numbers 
for file names. The file and its name are not actually generated until the file is initially 
opened. If the spool mode is selected, the file will automatically be spooled out to the 
device and deleted when output is complete. A second write operation to a spool file im- 
mediately following a write which returned EOT status to the user will be considered to be 
spool file overflow. From this point on, write requests to this spool file will be treated as 
null requests. An operator message will be output at the time the overflow occurs. When the 
file Is closed and automatically spooled out, an overflow message will be output following 
the file. If the regular dynamic file create is used, the file Is dynamically named and created, 
but is not spooled or deleted. The assigned file name may be referenced by the $SFUNC service 
(mode 5). The file size field may be zero if the default size is desired. Otherwise, a size 
as specified in sectors is placed here. If the size specified is not an exact multiple of the 
blocked file blocking factor, it will automatically be rounded up to the next exact multiple. 

The following sequence is used to squeeze out unused entries from the File/Device 
Control Block Area. 

TNI 1 

BLU $ASSIGN 

The squeeze call is used to remove all assignments for Logical Files which are 
closed. In order to reuse these logical files after a squeeze, they must be re-assigned. 

4-14 DYNAMIC CORE MANAGER ( DCM) 

The Dynamic Core Manager provides dynamic core allocati or/deal location services. 
These are accessible from both foreground and background with one exception: a background 
program will not be allocated a memory block so large that the background program must be 
checkpolnted to permit allocation of the block, but instead will be returned a memory space 
not available" condition. This problem may be remedied by modifying the size of background 
with an "MB" operator communications command. 

The Dynamic Core Manager may be called via the following calling sequence: 



TME 


P' 


TMK 


p2 


BLU 


$DCM 


DATA 


n 



where pi, p2 contain parameter(s) that are defined uniquely for each function; n 
specifies the particular function as follows. 



4-16 



November 1975 



Value of n 



Function 



3 
4 



Allocate a core block. The size in words Is 
specified by pi. p2 contains a 24-bit identification 
value so that the calling program can locate the 
core block at a later time. (See following function). 
Upon return, register K contains the memory location, 
of the allocated core block. Error conditions are indi- 
cated by 

K=:_l insufficient memory available 
=-2 ID already exists (core is not allocated) 
=-3 insufficient memory exists to ever honor 
the request. 

Find core block. p2 contains the identification 
parameter used when the core block was allocated. 
Upon return, register K contains the memory location 
of the specified core block. 

Release Core Block. p2 contains the indentification 
parameter of the core block to be released. 

Release all core blocks. All core blocks allocated to 
the given program are automatically released. This 
function is always called by the Executive EXIT logic 
when a program terminates. 

Allocated 4-word cell. Returns in register K the loca- 
tion of a special 4-word cell from the available cell 
pool. These are used primarily by special system pro' 
grams to pass spooled file information. 

Release 4-word cell. p2 contains the location of a 
4-word cell to be returned to the available pool. 



Note that in order to access dynamic core blocks allocated by DCM, the calling program 
must be operating in the privileged mode and care must be taken so as not to destroy 
other programs in memory. 



4-15 



FIND PACK SERVICE 



A service is provided to allow the calling program to locate the disc number 
on which a specific pack is mounted. This is called via the following call: 

TOI address of 120 word scratch buffer or zero 

TOA pack number being located 

BLU SFPACK 

The disc drive numner on which the pack is mounted is returned in register 
A. If the I register is zero when called, then the 120 word buffer will be allocated from 
the Dynamic Core Manager. 

If the specified pack is not currently mounted, then the operator will be 
asked to mount it. When mounted, the disc number will be returned as above. 



4-17 



tevision C 
sicvember 1975 

^-16 UNTRAP SERVICE 

UNTRAP provides the ability to have background processors read cards containing 
f^S in column one from the assigned job stream device without having control taken av/ay by 
lob Control. 

Whenever a record is requested by a processor from job stream that has a dollar 
ign in column 1, IOCS will set the system TRAP flag end return END-OF-FILE status to the 
:alling program. In addition, the record containing the dollar sign will be oaded into the 
jser' s buffer. If the calling program wishes to continue reading from this fi e Without havmg 
:ontrol removed by Job Control, it must clear the TRAP flag by making a call to UNTRAP. Ad- 
ditional records may then be read. 

UNTRAP will not clear the TRAP flag if the record just read was either $JOB or 



5EOJ. 



Assembly Language Call FORTRAN CALL 

BLU $UNTRAP CALL UNTRAP 

4-17 SYSTEM RESTRICTED SERVICES 

These services provide any background or foreground program the ability to perfrom 
restricted system functions. The only requirement is that the programs must supp'y'''ie service 
password in the D register when the service is called. The password consists of 6 ANSCII 
characters, and is denoted in the following paragraphs by "KEY". 

4-17. 1 File Creation 



this service provides the ability to create a disc file of any size. The create service is 
called via the following sequence: 

TO I address of 336 word scratch buffer or zero 

TLO PAR LIST 

TMD "KEY" 

BLU SSYSTER 

DATA 1 

PARLIST DATA pack ^ (on return contains disc number of pack) 

DATA file size (words) 

DATA 2 word ASCII file name 

DATA 2 word ASCII file password or zeros 

DATA file type (bits 23-16), memory requirement (bit 15-0) 

DATA file protect bits (bits 18-16), absolute starting address (bits 15-0) 

DATA absolute address for start of space allocation 




Bit 18 set for read protection. 
Bit 17 set for write protection. 
Bit 16 set for delete protection. 

If any of these bits are absent in accounting systems, then the corresponding accesses 
are provided for other users on this file. 

4-18 



November 1975 



The file type specification is defined as follows: 

set for blocked file 

set for spool file 

set for core directory entry 

set for permanent file 

is the file type ('01 thru '11), see Table 3-1, FILE TYPES 

If the content of the I register is zero when the call is made, a 336 word buffer is 
dynamically allocated by the system for use by the create service, and the condition register .s 
set to indicate whether the request was honored, and if not, why it was not. The condition 
register is set as follows: 

C = Positive -File name already used. 

Q = Zero -Request honored. File was created. 

C = Negative -Insufficient space on pack for file. 

C = Overflow -Insufficient core available for 336 word buffer. 



Bit 23 




Bit 22 




Bit 21 




Bit 20 




Bits 19- 


-16 



4-18A 



Revision C 
November 1975 

The calling program can check the C register to determine what change or correctitjns 
^are required to create the file. 

If the content of I is non-zero when the call is made, any error condition (Positive, 
Negative, or Overflow) will cause the calling program to be aborted. 

If the requested pack is not mounted, an operator message is output and the pack must 
be mounted prior to program continuation. 

If it is desired to allocate the file at a particular sector number on disc, this value should 
be put into the absolute start for space allocation parameter and the pack number must be negated. 

If, in the case of a blocked file creation request, the file size specified is not an exact 
multiple of the blocked file blocking factor, it will automatically be rounded up to the next 
exact multiple. 

4-17.2 File Deletion 



This service provides the ability to delete any disc file providing the password is known. 
The delete service is called with the following sequence. 

TO I address of 336 word scratch buffer or zero 

TMD "KEY" 

TLO PARLIST 

BLU $SYS 

DATA 2 

PARLIST BLOK 2 

,r DATA 2 word ASCII file name 

DATA 2 word ASCII file password 

The returns from this service function In the same manner as those of the create service, 
i. e. , if the content of I is non-zero when the call is made and an error occurs, the calling pro- 
gram is aborted; if the content of I Is zero the C register is set as follows: 

C = Positive -File was not present. 

C = Overflow -Insufficient core for scratch buffer. 

C = Zero -Request honored. File deleted. 

4-17.3 Absolute Sector Read 



This service provides the ability to read data from any disc location. Input to the service 
is based on an absolute disc sector number (0-n, where n is number of sectors on disc) and word 
count. Absolute Read is called via the following sequence. 



PARLIST 



TO I 


address of buffer to rea 


TLO 


PARLIST 


TMD 


"KEY" 


BLU 


$SYS 


DATA 


3 


DATA 


disc number 


DATA 


absolute sector number 


DATA 


word count 



4-19 



4-17.4 



Rename Fiie 



This service permits to changing the name or type of any disc file. The 
service is called as follows.. 

TO I address of 336 word scratch buffer or zero 

TMD "KEY" 

TLO PARLIST 

BLU *SYS 

DATA 4 

PARLIST DATA 2 word old file name 

DATA 2 word file password k ornN 

DATA new type/memory requirement or zero (TYPE/MtM RE:U) 

DATA new protectiorv^absolute start value or zero (PROTtLI/ABb blAKi; 

DATA 2 word new file name or zero (NEW NAME) 

DATA 2 word new file password or zero (NEW PASSWORD) 

If the TYPE/MEM REG word is non-zero, its contents replace the corresponding 
data in the Master Disc Directory (MDD) entry. If it is zero, the data is left unchanged. 

If the PROTECT/ABS START word is non-zero, the protection bits in bits 
18-16 replace those in the MDD entry and the contents of bits 15-0 replace the current 
value of ABS START in the directory. In order to change the file to complete access 
(bits 18-16 are zero) bit 19 of this word may be set to produce a non-zero value and 
hense set the corresponding information. The contents of bits 19-16 are ignored in non- 
accounting versions. See Figure 4-1. 

Figure 4-1 
Changing Protection with Rename Service 



PROTECT/ABS START 



19 



18 



17 



16 



15 



If Non-zero, this becomes new 
Absolute Program Start Value and 
bits 18-16 replace bits 22-20 in word 
3 of MDD entry (See Appendix A) 

If set, causes delete access to be 
prohibited 

If set, causes write access to be 
prohibited 

If set, causes read access to be 
prohibited 

Should be set to cause contents of 
bits 18-16 to replace those in MDD 
entry, word 3 bits 22-20, Normally 
used when public access is desired 
(Bits 18-16 = 0). 



4-20 



If the NEW NAME words are non-zero, then they will become the new file 
name. Otherwise the name will remain unchanged. 

If the contents^ of both words of NEW PASSWD are zero, the old password 
will be left unchanged. If however, they are non-zero, then the first 4 AN5CII 
characters of these two words will become the new password. The password may thus be 
changed to zero by making both words zero except for some non-zero value in bits 15-0 
of the second word of NEW PASSWD. 

The return from this service function in the same manner as the create service. 
The condition codes are; 

C = Overflow - Insufficient core available for scratch buffer. 

C = Zero -Request honored - File renamed. 

4-17.5 Special Assign 

This service is used by certain system programs instead of Dynamic Assign to 
change assignment for LFN 77 (program file). This is not a user service and is listed for 
reference only. The calling sequence is as follows. 



TLO 


PARLIST 


TMD 


"KEY" 


BLU 


^SYS 


DATA 


5 



PARLIST DATA 2 word ASCII file name to be assigned 

The specified file name is assigned to the special program file LFN '77. This 
allows reference to the file via LFN 77. 

4-17.6 Background Load Request 

This service provides the linkage to the system loader to load background 
processors. It is called as follows. 

TLO PARLIST 

TMD "KEY" 

BLU $SYS 

DATA 6 

PARLIST DATA 2 word ASCII program name 

The specified program name is loaded into background and executed. The 
service may be called only by background programs. 

4-17.7 Write Absolute Sector 

This service is the companion of Absolute Read by allowing data to be 
written at any specified disc sector. The service is called as follows. 

TOI buffer address of data to be written 

TMD "KEY" 



4-21 



Revision C 
November 1975 



TLO PARLIST 

BLU $SYS 

DATA 7 

PARLIST DATA disc number 

DATA absolute secl-or number 

DATA word-count 

If the specified word-count is zero, a write end-of-file operation is performed. 
Caution should be observed with this service, since it allows a program to write over an^ 
sector of_any disc, provided the service "KEY" is supplied. 

4 - 1 7. 8 Se arch Master Disc Directory 

This service is a orogram to test if a given file name/password is present in 
the system. It is called as follows. 

TLO PARLIST 

TMD "KEY" 

BLU $SYS 

DATA 8 

PARLIST RDAT 2 (0) (changed by system to non-zero) 

DATA 2 word ASCII file name 

DATA 2 word ASCII file password 

BLOK 2 (words for temporary usage by service) 

The specified file name and password are located ( if present) in the Master 
Disc Director/. If the entry is present, the J register returns the address of the directory 
entry which vili have been placed in the calling program' s PSA. The condition register 
reflects the results of the operation: 



C = Positive 
C = Negative 



-File name found and password is OK. 
-File name/password not found in directory. 



Due to the arrangement of the PSA, subsequent system service calls may overwrite 
the contents of the MDD entry causing erroneous infomnation to be utilized. 



4-17.9 



Trigger lOEXEC 



This service permits programs to trigger the I/O EXEC wait flag, causing the 
I/O Executive to scan all terminals in order to perform required actions. This is needed 
only by special foreground interactive processors and it should not be necessary to use this 
in any user program. The service is called as follows: 

TMD "KEY" 
BLU SSYS 

DATA 9 



4-17. 10 



In an unspooled system, this call has no effect. 
Place File on Spool -In Queue 



This service permits any program to place a file on the background spool 
input queue. It is available only in spooled versions of DMS. The file to be placed on 
the queue must not have a password, and must consist of symbolic images representing a 
background job. The first image should be a valid $JOB (see Section VI) or the job will 
be ignored. The service is called as follows: 



4-22 



Revision C 
November 1975 



TMD 
TLO 
BLU 
DATA 



"KEY" 
PARLIST 
$SYS 
10 



PARLIST 



2 word ASCII file name 
Priority in queue (1 -254) 

An abort will result" if fhe priority is not valid. In an unspooled system, this call has no effect. 



DATA 
DATA 



4-17. n Place File on Spool -Out Queue 



spooled 
The file 
suitable 
when th 



This service permits proqrams to place a disc file name on the spool -out queue for any 
or terminal device in spooled versions of DMS. It is non-existant in unspooled systems, 
to be placed on the queue must have no password and must consist of symbolic images 
for the destination device. If the file is typed as a spool file, then it will be deleted 
e output operation has been completed. The service is called as follows: 

TMD "KEY'^ 

TLO PARLiST 

BLU $SYS 

DATA 1 1 

PARLIST DATA 2 word ASCII file name 

DATA priority in queue (1 -254) 

DATA device number to be spooled to 

If the specified device is not a spooled or terminal device capable of output, the request 
is ignored. In an unspooled system, this call has no effect. 



4-17. 12 Overlay Load 

This service provides the Overlay Cataloner an entry in the system to force a load of 
overlay segments. Its use Is not intended for regular user programs. 

4-17. 13 Execute User Routine on Interval Timeout 

This service permits a sophisticated usage of the 120 Hz clock in virtually any situation 
where some action after an elapsed timer interval Is desired. Execution of the user routine is 
based on the following conditionals; (1) The timer Interval specified ^]5'if V?f'^l°? u/Ad no=n 
PROGRAM STATUS WORD . AND. CONDITIONAL WORD 1 .XOR, CONDITION WORD2=0. 
The calling sequence is: 

TMD "KEY" 

TLO PARLIST 

BLU SSYS 

DATA 1 3 

PARLIST DAC ADDRESS OF USER ROUTINE 

DATA CONTROL WORD (SEE BELOW) 

DATA TIMER INTERVAL IN 120 Hz COUNTS 

DATA CONDITIONAL WORD 1 

DATA CONDITIONAL WORD 2 



4-23 



Revision B 
March, 1975 



If f-he control word is any positive value, conditions ore tested for execution periodical E 
(as in the case of a scheduled program); if negative the special entry in the schedule tables for 
this service is removed upon interval timeout whether execution conditions are satisfied or not. 
The branch to the user routine is at dock interrupt level, and is a BSL. The user routine need 
not save registers and must not exit via a BRL*. If the program is restricted, use must be made of 
the service described in 4-12. 5 as necessary to prevent a branch at interrupt level to an address 
within the limit register bounds. 



4-17. 14 Remove Execute Routine Entry 
be done: 



To remove an entry in the scheduler table made by the above call, the following must 



TMD 


"KEY" 


TLO 


PARLIST 


BLU 


$SYS 


DATA 


14 



PARLIST . . . 

The parameters in PARLIST must have exactly the same values as when the entry described 
in 4-17, 13was made. This permits as many entries per program as desired provided no two are 
identical. 



All entries associated with a given program are removed from system tables on an exit o| 



abort. 
EXAMPLES: 



Suppose program A initiates some activity on an external piece of hardware, which in 
turn triggers an interrupt to initiate program B to signal completion of the activity. Program A 
might set a flag, do a BLU $WAIT and program B might reset the flag and just exit, at which 
point program A would continue execution. To prevent a hangup if the hardware fails to respond. 
Program A might use the following call to $SYS: 



PARLIST 



TMD 


"KEY" 


TLO 


PARLIST 


BLU 


$SYS 


DATA 


13 


DAC 


ERADR 


DATA 


-1 


DATA 


120 


'20 


WFLAG 


'20 


WFLAG 



If after one second, program A is still waiting on a flag, release address is WFLAG 
(only bits 22 and 15-0 in the program status word are queried in this example). A BSL would 
be made to ERADR, and the entry would be removed from the table. If the hardware responds 
normally, and program B is initiated before one second elapses, program A could remove the 
entry it made as it resumes execution. 



4-24 



Revision C 
November 1975 



CPARi ^°"J^°"^P^^' a program could make a permanent enfry in the scheduler table, 
jmKLlbl + I) - +, and in effect have its own clock interrupt service routine; i. e. , a branch 
to the user --oufine periodically. Conditional words 1 and 2 would both be set to zero to give 
an unconditional branch condition. 

4-] 7. 15 Special Delete 

programs/'''' ^^'^'^^ '' ""'^"^ ^^ ''^''^°'" '^'^^'^ Programs. Its use is not intended for regular user 

4-17, 16 Special Absolute Sector Read 

This service is identical to the Absolute Sector Read (4-17. 3) except that a disc I/O 
error will not cause the ca Img program to be aborted. If a disc I/O error occurs bit 20 of the 
A register will be set and the actual word count transferred is returned in bits 0-15 of the A 
register. The Special Absolute Sector Read is called via the following sequence 



PAR LIST 



4-17. 17 Special Absolute Sector Write 



TOI 


address of buffer to read 


TLO 


PAR LIST 


TMD 


"KEY" 


BLU 


$SYS 


DATA 


16 


DATA 


disc number 


DATA 


absolute sector number 


DATA 


word count 



into 



This service is identical to the Write Absolute Sector (4-17. 7) except that a disc I/O 
error will not cause the calling program to be aborted. If a disc I/O error occurs, bit 20 of 
register A will be set and the actual word count transferred is returned in bits 0-15 of the A 
register. The Special Absolute Sector Write is called via the following sequence: 



PARLIST 



4-18 EXECUTIVE TRAPS 



TOI 


address of buffer to be written 


TLO 


PARLIST 


TMD 


"KEY" 


BLU 


^SYS 


DATA 


17 


DATA 


disc number 


DATA 


absolute sector number 


DATA 


word count 



The executive trap routines are system modules of the resident portion of DMS. The 
standard interrupt assignments for executive traps are defined in Table 4-5. 



4-25 



Revision C 
November 



1975 





Table 4-5 


. ExecuHve Traps 




LI 


nkage Address (Octal ) 


Group, Level 


Function 




60 


0,0 


Power iail 




61 


0,1 


Power Restore 




62 


0,2 


Memory Protect 




63 


0,3 


Instruction Trap 




64 


0,4 


Stall Alarm 




65 


0,5 


Interval Timer 




66 


0,6 


SAU Trap 




67 


0,7 


Address Trap 



4-18. 1 Power Foil/Power Restore 

When power fails, the power fail/restore routines saves registers and halt the machine. 
When power is restored the message "Power Fail " is output to the operator communications device 
and the machine again halted. Upon restart, the DMS system is rebooted from the disc. 

4-18.2 Memory Protect /Instruction T rap 

When the memory protect key switch is enabled, the DMS system has two modes of 
operation. The non-resident services (e.g., ACRONIM, Job Control and File Manager) operate 
in an unrestricted mode, that is, these services have access to any location in memory. Other 
non-resident services or background programs operate in the Restrict/Unprivileged mode, i.e., 
the programs may not reference any locations below the first location of the program nor above 
the highest location. Programs operating in the Restrict/Unprivileged mode are prevented from 
executing certain instructions as defined in the Computer Systems Reference Manual. 



Wh 



en a 



of 04. 



memory protect violation occurs, the abort service is called with an abort codt. 



When a instruction trap occurs, the abort service is called with an abort code of 03. 



4-18.3 Stall Alarm 



When a stall alarm violation occurs, the abort service is called with an abort code of 5. 

4-18.4 SA U Overflow/Underflow Trap 

The SAU Trap routine processes overflow/underflow conditions as described in Table 4-^, 
4-18.5 Address Trap 



The address trcp interrupt is triggered whenever the preset address is referenced in any 
manner (including ABC channel transfers). If a program is active when the interrupt occurs, the 
program is suspended and message giving the trapped address, program name, and the contents of 
the registers is output on the operator communications device. If there Is no currently active 
program when the interrupt occurs the program name in the output message is "NONE", and no 
action other than the message Is taken by the system. 



4-18.6 Interval Timer 



The Interval Timer option (T-register) is required by accounting versions of DMS to 
compute program execution CPU time. In non -accounting systems, the timer is not used and 
thus is available to user programs. 



4-26 



Revision B 
March, 1975 



Table 4-6. SAU Trap Control 



Error 


Meaning 


Result 


Flag* 


SAU 01 


Square Root of a negative number 


X=0. 


OA 


SAU 02 


Overflow during fix 


A-F. S. P. 








or F.S.N.** 


OA 


SAU 03 


Division by zero 


X-F. S. P. 


OA 


SAU 04 


Arithmetic Underflow 


X-0.0 


UA 


SAU 05 


Arithmetic Overflow 


X-F.S. P. 








or F.S.N. 


OA 


SAU 00 


Unrecognized SAU Trap 


X-0.0 


OA 



Notes: 

1. F. S. P. denotes full scale positive value {X--'27777777 , '27777577 or 
A= '27777777), 

2. F. S. N. denotes full scale negative value (X= '40000000, '00000577 or 
A= '40000001). 

3. When the specifies result Is "F. S. P" or "F. S. N", the value selected 
will hove the same sign as the result would have had, had there been no 
overflow. 

4. SAU 00 is returned for any SAU traps that do not fall Into the above 
catagories. 

*Flag indicates the cataloger "TYPE" flag that is used to determine action following 
the error. 



TYPE SPECIFICATION 



Flog 


Abort on error 


No abort on error 


Message on error 


No message on error 


OA 
UA 


OA 
UA 


NOA 
NUA 


OM 
UM 


NOM 

NUM 



^'Because of the asynchronous nature of the SAU, this SAU trap normally occurs one 
instruction after the error causing Instruction (FXA). Thus, if an error Is possible during 
the execution of an FXA, care should be taken so that the A register is not accessed 
before the trap routine is able to adjust the result value. The standard FORTRAN Support 
libraries already do this. 



4-27 



SECTION V 
LOGICAL FILES AND PHYSICAL DEVICES 

5-1 GENERAL 

A logical file is a series of data records transmined to or from a specified 
physical device. A logical file number is a number (0-n) used by a program to reference 
a particular input or output file. A physical device number is a number (0-n) dedicated 
to a particular device or a named disc file. 

In DMS, physical device numbers are established by the position a device 
handler's name in the peripheral device coordination table. By use of the Job Control 
statement $ASSIGN, a logical file number may be assigned to a particular device. A 
given logical file number may be assigned to only one physical device at a time. However, 
multiple logical file numbers may be assigned to a given physical device at the same ^ 
time. By assigning a logical file number to physical device 0, the operator may nullify 
all operations to that logical file, v/hich might be used to suppress all output to that file, 
for example. 

The peripheral device coordination table is a resident table. Logical file 
assignments associated with a given program are contained within the program service 
area's file/device control table and resident only when that program is resident. There 
is only one program service area associated with background, common to Job Control and 
all background programs, since only one background program can be active at a given 
time. The background service area remains resident at all times. 

Disc files are equivalent to physical devices. Disc files however, are 
referenced by name instead of numbers, e.g., ^ASSIGN 10=SNOOPY. A physical device 
control block contains only two words of information. A disc file control block contains 
eight words including the file name, the first and last sector address, the current record 
address, the current End-of-File address, and the disc file protection status. An EOF 
within a disc file is functionally equivalent to an EOF mark on magnetic tape. 

If a disc file is defined as "BLOCKED" when created, the disc file handler 
will automatically perform record blocking and symbolic data compression. 

For consistency between background processors and related system service 
programs, certain logical file numbers are reserved. These logical file numbers (LFN) 
are defined in Table 5-1. 

For convenience and consistency between various systems, a suggested 
standard table of physical device numbers (PDN) is given In Table 5-2. 

5-2 INPUT/OUTPUT FUNCTIONS 

Input/Output as discussed in Section IV, employes a logical file number and 
function code in requesting I/O operations. The following paragraphs define valid j/O 
function codes for each standard peripheral device. Table 5-3 provides a condensed list 
of I/O function codes and their relation to standard devices. 



5-1 



Revision B 
March, 1975 



5-2. 1 



Table 5-1 
Standard Logical File Numbers & Default Background Assignments 



LFN (Octal) 


Definition 


Default Assignment 


00 


Job Stream 


device 07 


01 


Operator Communications 


device 01* 


04 


Binary Input 


device 04 


05 


Binary Output 


file LR 


06 


List Output 


device 06 


07 


Symbolic Input 


device 77 (Job stream) 


10 


Symbolic Output 


file Wl 


12 


Link Library File 


file LL 


15 


Link Ready File 


file LR 


16 


Link Go File 


file GO 


* Not Reas 


signable 





Table 5-2 
Standard Physical Device Numbers 



PDN (Octal) 


Device 


01 
04 
05 
06 
07 
10 
11 
12 
20 
21 
22 


Console Teletypewriter 
High Speed Tape Reader 
High Speed Tape Punch 
Line Printer 
Card Reader 
Card Punch 
Magnetic Tape '^l 
Magnetic Tape "2 
TTY #0 (Console) 
Remote TTY or CRT *\ 
Remote TTY or CRT #2 



Common Device Function Codes 



The two status checking function codes (00 and ^77) provide flexibility in the 
processing of I/O calls. 

If Function code 00 is specified in the call and the device is busy, the 
calling program is placed in a waiting state until the current I/O operation is completed 
and the ready status is set. Control is then returned to the calling program with the C 
register set not negative. This is the regular status check and is normally done after all 
I/O operations to guarentee completion. 

If function code ^77 is specified in the call and the device is busy, control 
is returned immediately to the calling program with the C register set to "negative", which 
is designed as a special purpose "busy check". 



5-2 



Table 5-3. I/O Function Codes 



Revision B 
March, 1975 



ACTION CAUSED BY FUNCTION CODE 




OPENS ASSIGNED FILE 



CLOSES ASSIGNED FILE 



Sefs CRA CFA 



Record 



Advances to EOf 
and SBti CFA ond 
CRA 



Soh CRA CfiA 
- WC/WPS 



Repoi<lioni la 
Record of Cur 
Fil« 



AdvoncAs to EOF 
ond Seh CFA, CRA 
and EOF* 



BQckspocei t 



"RPF TR" 
Hold Meitoge 



"6SF TR" 
Mold h^«iSoge 



"BSR TR" 
Hold Menage 




Set Current 

ftacord 

Addreis 



Seek C^( 
Htcatd 



Sat Curreni 
File Address 



Sets CRA CRA 
' WC/WPS 



Advances to End 
of Record 



Sen CRA S 
CFA J9 



Rewinds Tronsport 
ond Sett CRA, 
Cf A ond EOF* 



Sen CRA - 
Specified Secro 
Nu.Tibet 



Poiiiions Tope ro 
Sepcitied Record' 
wirhin File 



Sots CFA CRA 



DEALLOCATES FILES OR DEVICE 



Open File ond Open File a 

-I Stotus Set Options 



CRA - Current Record Address 
CFA - Current File Addreis 
FSN - First Sector Number 



LSN - Loit Sector Nvmber 
WC - Word Count 
WPS - Wordi Per Sector 



MRS - Htxf Relal 



ve Sector Number 

I I - 



85R - Bockspoce Record 
BSF - Bocl(>poee File 
RPF - R eposition File 

IXn Aborr 



5-3 



Revision A 
May, 1974 



In either case, the A register contains the following information. 
A /jq,= - Device not busy. 

A «o= 1 -Word count not complete. 

A «,= 1 - End-of-File detected. 

A, 9"! - File Open. 

A,c~A^ = Number of words read on input. 

Table 5-4. Standard Disc Files 



File Name 


Definition 


LL 

LR 
Wl 
W2 
GO 


Link Library File (Blocked) 
Link Ready File (Blocked) 
Work One File (Blocked) 
Work Two File (Not Blocked) 
Link Go File (Not Blocked) 



5-2.2 



Disc 



The DMS disc handler processes three types of disc access requests: 
absolute read/write, standard I/O non-blocked-file requests, and standard I/O blocked- 
file requests. 

Absolute read/write requests are initiated by system routines and honored 
without restraint, bypassing normal IOCS file control logic. 

Blocked and non-blocked IOCS requests are distinguished by the handler 
from information obtained from the master file directory when the file is opened. 

A blocked data record consists of a one -word record gap followed by 
n-words of data. Each record gap contains a 12-bit backward and 12-bit forward word 
count. Blocked records are packed in a dynamic blocking buffer until it is filled. 
Buffer size is specified at system generation to be one or more sectors. Blocked records 
may spill from block to block, but may not be longer than 4096 words, in compressed 
form. 

Symbolic data is compressed by converting all consecutive blanks into a 
one-byte blank count. 

Each block contains two pointers. Word-0 contains the record number and 
block address pointer of the first record in the block, and word-1 references the lost 
record of the block. Word-0 of block-0 contains the sector number of last recorded 
block. These pointers allow rapid random access of a blocked file. 



5-4 



Revision B 
March, 1975 



Status (00 and 77) ~ The registers are returned as follows: 
Register A 

A23-1 If file is busy. 

A22 -- 1 If word count was not completed. 

^^21 ^- 1 If EOF record was detected on read or advance. 

A19 = 1 File open. 

A16 = A21 = 1 If file extents were exceeded on an input, output, or 

advance, or if the last recorded record of a blocked 
file plus one was requested on input, output, advance 
or set record address. 

A15-0 = Number of words transferred. 

• Register C -^ F (A) 

• Register I contains the first sector number of the referenced file. 

• Register J contains the last sector number of the referenced file. 

• Register K contains the next relative sector number of the referenced file. 

• Register E contains the current relative record address (0-n) of the specified 
file. For non-blocked files (E) will be the same as (K). 

Symbolic Read (01) - If the file extents or the last blocked record address 
are exceeded, input is suppressed and status bits 21 and 16 are set; otherwise, the transfer 
is performed. If blocked, the current compressed record is decompressed and transferred; 
and any remaining buffer is filled with blanks. If an EOF record is detected, status bit 
21 Is set. 

Symbolic Write (02) - If the file extents will be exceeded by this transfer, 
output is suppressed and status bit 16 is set; otherwise, the specified word count Is trans- 
ferred to the current sector address of non-blocked files. For blocked files, the symbolic 
data is compressed (one or more consecutive blanks are compressed to a one-byte blank 
count) and blocked into a dynamic blocking buffer. When the buffer Is filled it is written 
on disc. 

Binary Read (03) - For non-blocked files, Binary Read is identical to 
Symbolic Rea3] For blocked files the current binary record Is unblocked into the user 
buffer. 

Binary Write (04) - The specified data record is transferred to the dynamic 
core block for blocked files and transferred directly to disc for non-blocked files. 

Edit Write (05) - For non-blocked files function 05 is the same as binary 
write (04). i-or blocked tiles, this function sets an edit flag allowing an over-write of the 
current record. (NOTE: This function implies binary write and the same word count as 
the record being edited must be used. ) 

Write EOF (06) - An EOF sector is written on non-blocked files and an 
EOF record (zero word record) is written on blocked files. 

Open File (07) - Verifies the existence of the referenced file name and sets 
the open status (Bit liJ). For blocked files, not already open, a dynamic blocking buffer 
is allocated. The initial open of any disc file initiates a rewind of that file. On the 
initial open of the file, the password, if any, must be supplied left Justified in the E & A 
registers. 



Revision C 
November 1975 

On return from a successful open request, "E", will contofn the blocking sector 
count (0 in unspooled systems) and "A" will contain the file type and memory requirement for 
the file; 

B23 set for blocked file 

B22 set for spool file 

B21 set for core directory entry 

B20 set for permanent file 

B19-16 file type ('01 -' 1 1 ) see Table 3-1 

B15-0 program memory requirements (non-zero only for programs) 

Close File (10) - For blocked files, the current block is written to disc If 
it is not empty. 

Reposition File (11) - Record pointers are set to the CFA, or "current file 
address" (i.e., the record following the previously encountered EOF record), or to a 
rewind state if no EOF was encountered. CFA is set by reading an end-of-flle, advancing 
to an end-of-file, or the "set current file address" function (21). 

Backspace File (12) - The current record address is set to the record address 
of the previous hUF record, or to the rewind position if no EOF was encountered. 

Advance File (13) - File pointers are advanced to the record following the 
next EOF record (blocked tiles) or sector (non-blocked files). 

Backspace Record (14) - For non-blocked files, the specified word count 
(if supplied In the 1/01:011) is converted to a sector count (112 words/sector) and 
subtracted from the current record address. Where no word count is specified, one sector 
is assumed. For blocked files the current record pointers are moved back according to 
the blocked record gap which contains a backward and forward word count. 

Advance Record (15) ~ File pointers are moved forward in the same manner 
as the backspace: In the non-blocked file, on EOF will not be detected by an advance 
reocrd. 

Rewind File (16) - Current record address and current file address pointers 
are set to zero. 

Set Curr ent Record Address (17) - The current record address specified as 
parameter one of the user parameter list is^tored as the CRA of the file. For blocked 
files this function is valid only for previously written files or for sequential write requests 
beginning immediately following the last recorded record, i.e. (SETCRA ==0, write, 
SETCRA =^1, write, etc. ) If the specified record is greater than the last recorded record, 
the file Is left positioned to the end of recorded data and status bits 21 and 16 are set. 

Seek Current R eco rd A ddres s (20) - Null. 

Set Current File Address (21) - The current record address is saved as a 
"Current File Address" Ti"."e7, start of a logical file). This function allows mu I tl -pass 
processors such as the assembler to set CFA at the start of pass-one and Issue a "reposition 
file" (11) for subsequent passes, precluding the requirement for a work file. 



5h5 



Revision C 
November 1975 „ 

Close/Deal I ocat-e (22) - Causes the file to be closed (function 10), then 
deallocated. In the case ot blocked files, the d/namic blocking buffer is deallocated to 
release the core. 

Special Open (23) - Identical to Open File 07 except that if the referenced 
file is not there, control is returned v/ith (C)=overflow & negative instead of aborting. 

5-2.3 Magnetic Tape 

One or more tope controllers ore handled by a re-entrant mag tope handler, Eac;h 
of these controllers may control one or more drives. A private service routine is used to interflace 
with each drive. 

The following is a list of valid ]/0 functions and their definitions for the mag tape 
handler. 

Status (00-77) - Register A contains the common status word. The following ad- 
ditional status is returned: 

• Bit 22 of register A Is set to Indicate that the previous ]/0 request was not com- 
pleted as requested. 

• Bit 16 of register A is set if software end-of-tape is detected. See function ZO tor 
a definition of software end-of-tape. 

• Register K contains the current file number of the specified transport, where the 
file beginning at load point is file number zero. This file number is incremented 
once for each end-of-file detected or written in the forward direction and decremented 
once for each end-of-flle detected In the reverse direction. 

• Register E contains the current record address, a relative record number (o-n) within 
the current file. A negative value indicates that the tape was backspaced over an 
end-of-flle and a valid record number is no longer available. 

• Register I contains a pointer to a seven-word block containing additional statqs 
information: 

The contents of these 7 words are as follows: 

0, 1 hardware status word at completion of previous I/O request 

1,1 hardware expanded status word at completion of previous ]/0 request 

2, 1 current hardware status word (status 00 only) 

3, 1 current hardware expanded status v/ord (status 00 only) 

4, 1 number of retries on last ]/0 request 

5, 1 total number of retries since device was opened 

6,1 net number of foreward requests processed since encountering hardware endr 

of-tape marker. A negative value indicates an end-of-tape marker not yet; 

encountered. 

Notes- A value of -2 as hardware status or hardware expanded status indicates that the particular 
status is not available due to hardware limitation or failures. Status 77 will not return current 
hardware status. 

Symbolic Read ( 01 )/Symbolic Write (02) - Internal symbolic data is assumed to be ANSCll, 
3 C/V>/, and is transmitted to or from tape as 24-bIt binary. Conversion to or from BCD is 
controlled via a tape-options table resident in the system or passed on via a special open 
request. Symbolic conversion is always 3 cpw, right justified in 8-bit bytes. Seven track 
tapes are converted to/from 6-bit BCD and nine track to/from 8-bit extended BCD. The 
transport type is specified at system generation. See Section 6-2. 13, STAPEOP statement. 
For a description of error handling, see function 20 (set Error Options). 



5-6A. 1 



Revision C 

November 1975 

Binary Read (03) - The specified number of words are requested from fhe appropria»-e transport. 

Mode and densiTy are taken from a tape option table in the resident system or passed on via a 

special open request. For a description of error handling, see function 20 ( Set Error Options). 

Bi nary Write (0 4) - The specified no. of words are transferred to the appropriate transport. Mode 
and density are taken from a tape option table in the resident system or passed on via a special 
open request. For a description of error handling, see function 20 ( Set Error Options). 

Erase (05) - Parameter two of the users parameter list specifies an erase repeat count (n) such that 
(n) (3.5 inches) of tape are erased. After reaching software end-of-tape ( See function 20), a 
maximum of one 3.5 inch erase will be perfomed per function call. If the repeat count is not 
satisfied, WCNC status will be set and the word count returned on a status call will indicate the 
number of erases performed. 

PARLIST DATA ' XX05 

DATA repeat count (n) 

Write EOF (06 ) - An end-of-file record is written. The current file number is Incremented and 
the current record address and current fi le address are set to zero. 

Qpend Fi le ( 07 ) - An open bit is set in the user's device control block. The tape-options word 
is copied from TFie system tables on the initial open. 

Close File (10) - Null 

R eposition File ( 11) - The tape is repositioned to the first record of the current file (end of the 
previous End-of-File Record). 

Backspace File (12) - The tape is positioned to the start of the previous End-of-File record. The 
current file number is decremented, the current record address is set to -1 and the current 
file address is set to zero. 

A dvance File ( 13) - The tape is positioned to the end of the next End-of-File record. The file 
number is incremented and the current record address and current file address are set to zero. 

B ackspace Record ( 14) - The tape is positioned to the start of the previous record. 

A dvance Record ( ]5) - The tape is positioned to the end of the next record. 

Rewind ( 16) - The tape is repositioned to load point. The file number, current record address and 
current file address are set to zero. 

Set Current R ecord Address ( 17) - The tape is repositioned to the record number specified in the 
parameter list. The first record of each file is record zero. If the specified record does not exist 
in the current file, the tape is positioned at the beginning of the next file, the file number is 
incremented and the current record address and current file address are set to zero. 

PARLIST DATA ' XXU 

DATA record number 

Set Error Options (20) - The error options are set as specified. Any options not specified are 
res et to the system def aults. The number of options specified is indicated by word two of the 
parameter list. In other words, to change option word 4, the parameter list word 2 would be set to 
4 and the first four option words must be specified. Option words 5-8 will be reset to the system 
defaults in this case. The parameter list is of the form: 

5-^A. 2 



Revision C 
November 1975 

PAR LIST DATA ' XX20 

DATA N ( Number of options specified) 

DAC OPTNLST (Address of option list) 

OPTNLIST DATA WORD 1 

DATA WORD 2 
DATA WORD N 

The Error Options are defined as follows: 

Word 1 - Read Error Positioning/Hold Message 

- 1 - position before faulty record a fter retry limit 
is exceeded. 

2 - position after faulty record after retry limit is 
exceeded 
If bit 23 set - position as specified and output operator hold message 
repeat previous read operation if released 
reset - position as specified and return to user program 

Standard system defaults ore positioning before faulty record and outputting operator hold 
message (1, bit 23 set). 

Word 2 - Write Error Positioning/Hold Message 

~ 1 - position before faulty record and any erase attempts, after 
retry limit is exceeded 
2 - position before faulty record but after any erase attempts 
after retry limit is exceeded 
- 4 - position after faulty record after retry limit is exceeded 
If bit 23 set - position as specified and output operator hold message -repeat 
previous v/rite operation If released 
reset - position as specified and return to user program 

Standard system defaults are positioning before faulty record (but after erases) and out-putting: 
operator hold message (2, bit 23 set). 

Word 3 - Number of Retries Allowed on Read Error. 

This is the number of re-read attempts which will be allowed upon detection of 

a read error. This number must be less than 256. The standard system default is ^5. 

Word 4 - Number of Retries Allowed on Write Error. 

This is the number of re-write attempts allowed at one spot on the tape upon 
detection of a write error. This numbermust be less than 256. The standard system 
defualt Is 2. 

Word 5 - Number of Erase/Re-Writes Allowed on Write Error. 
If the write retry limit is exceeded (word 4), 3.5 inches of tape will be erased and 
the write attempts repeated on the new spot on tape. This word specifies the number 
of erase/re-write attempts to be allowed and must be less than 256. The standard 
system default is 3. 

Word 6 - Software EOT locatior/Hold Message. 

This word defines where the "software EOT" is located as well as the action taken 
when it is reached. "Software EOT" is defined as the net number of forward tape 
operations allowed after detecting hardware EOT. The number specified must be 
less than 256. If bit 23 is set, an attempt to position past software EOT will output 
an operator hold message. If the program is released the handler will assume a new 

5-7 



Revision C 
November 1975 

tape has been mounted and the operation will be performed If bit 23 is not ^^^^'/.^J^fPI^-^t'^" 
will be performed and status bit 16(EOT) will be set. No hold message ,s output ,fbt 23 ,s not 
Tet. The standard system default is not foward operations allowed = and output hold message 
at EOT (0, bit 23 set). 

Word 7 - Close/Deallocate Special Action. 

This word defines any special action to be taken upon close/deallocate 

(function 22). 

- no special action 

1 - rewind tope upon c lode/deal locate /, n , 

r^ 2 - output operator message "UNLOAD TAPE T#) upon close/deallocate. 
This is only a message and does not suspend the program. 
3 - rewind tape and output message 
If bit 23 set - program will be suspended until tape drive is switched 
off-line 
reset - program does not wait for drive to go ott-line 
The standard system default is no special action (0). 

Word 8 - Software Write Protect. 

- -allow writes to be processed normally nr .■ 

- 1 - oil write functions (02, 04 05 and 06) are treated as null functions. 

If bit 23 set - output hold message "WP VIOLCATION" upon write 

attempt - if released, the write operation will be performed 
or ignored as specified 

The standard system default is no special action (0). 

Set Current File Ad dress (21) - This function causes the current record address to be saved as a 
fa ke "start of f ile" so that a subsequent Reposition file will reposition the tape to this record 
address. This pennits the assembler, for example, to assemble a string of programs without End- 
of-File separators or an auxiliary work file for pass two. 

Close/Dealloca te (22) - The tape drive is deallocated from the calling program. Any special 
action previously requested with function 20 is perfonned. 

Special Open (23) - The open bit is set in the user's device control block and if the call is of 
^e long form th Fiecond parameter contains the tape options word to be used. 1 he form of this 
word mSst be identical to that in the Default Tape Option Table given m Appendix A. 

PARLIST DATA ' XX23 

DATA tape options word 

5-2.4 Teletype Ter minals 

One or more teletypes are handled by a reentrant teletype handler. Each 
teletype is interfaced by a private service routine, allowing local or long distance 
communications via any standard hardware mterfoce. 

Anyone of the teletypes may be specified at the operators terminal at system 
qeneration. The operators terminal may be alternately specified at system-boot time 
brseHing sense-switch one along with the desired terminal device number m control 
switches 0-5, before activating the bootstrap. 

5-8 



Revision C 
November 1975 



The specified operators fermlnal funcHons as a normal remote terminal in 
addition to being the Operator Communications console. The operator communications 
service (OPCOM) is not accessable from any terminal other than the operators terminal. 
The operator may relinquish operator communications to another terminal via the command: 

/OT,n 

where n is the desired terminal device number. 

The reentrant teletype handler honors standard IOCS requests for all 
teletypes, including the assigned operator's terminal. Additionally the following special 
action keys are acknowledged from all terminals: 

Control "X-OFF" Abort termina l job - applicable only in spooled systems, 

the "X-OFF" key causes the I/O Executive to abort 
the current terminal program, if any, and the message 
"ABT. . " io be typed. 



5-8A 



Control "RUB-OUT' 



Control "BELL' 



'/" 



It ^— II 



Control "TAPE" 



Control "TA-P€' 



Note: 

Control "FORM' 
"Line-Feed" 



Line Delete - If input is active, the "RUBOUT" key 
is considered to be a line delete; in which case the 
handler outputs a ".' " character followed by a 
carriage-return and line-feed, then reinitiates the input 
request, unless the input being cancelled was an OPCOM 
request, in which case input is not reinitialized. 

Terminal Activation - In spooled systems, an input request 
bit is set causing the I/O Executive to initiate an 
input request for the interactive terminal editor 
(ACRONIM). 

OPCOM Request - A "/" as character one of an input 
record defines an operator communications statement, 
and is ignored from all except the operator's terminal. 
If an Input request is active at the operator's terminal, 
a "/" causes the input parameters to be saved for 
restart, and input to be Initiated into the opcom Input 
buffer. This buffer is passed to OPCOM by the handler 
upon detecting an end-of-record. The original input 
is then reinitiated by the handler. If input is not 
pending when an operator communications statement Is 
Issued, it is passed to OPCOM and the handler reset 
to an idle state. 

Character Delete - Each ' "*" " causes the handlers 
Input column pointer to be decremented. If decremented 
to zero, a line delete is effected (i.e., a "I", carriage- 
return, and line-feed). 

Tape-On - The control key "TAPE" causes a tape 
reader flag to be set so that subsequent Input requests 
for the terminal will be accepted from the paper tape 
reader. 

Tape -Off - The control key "TA-P-E"' resets the tape 
reader flag so that subsequent Input requests ore 
accepted from the keyboard. Note that a properly 
prepared input tape should be terminated by a "TA-P-E". 
If not, the operator may type a "TA-P-E" during trailer, 
because reader and keyboard data are ORed, Removing 
the tape from the reader will also disable the reader. 

"TAPE" and "TA-P-E" are not relevant for unmodified 
teletype transmission over MODEMS, because tape 
input is enabled by a manual switch. 

Feed Tape - The control key "FORM" causes 6 inches 
of tape to be punched as leader. 

Start of Record - The 8-bit linefeed code ('212) is 
defined as a binary start -of -record. Linefeeds are 
Ignored for symbolic Input. 



5-9 



Revision A 
May, 1974 

"Carriage -Refurn" End of Record - The S-bif carriage return code ('215) is 

defined as a binary end-of-record. For symbolic input, 
carriage returns are ignored prior to the first input 
character; afterwards it is an end-of-record code (seven 
bit ASCII '015). 

Control "EOT" Binary EOF - The 8-bit code '204 is defined as a binary 

EOF for standard paper tape handlers, therefore the tele- 
type handler honors this code as an input EOF. 

Standard IOCS functions are listed below with a description of their meaning to the 
teletype handler. 

Status (00) - Normal status is returned in register A and register C is set as a function 
of A. 

Symbolic Read (01) - The user buffer is blanked and up to 72 characters of input are 
accepted, terminated by a carriage return. A carriage return is defined as an end-of-record 
code, so that a blank line is input if no characters precede the carriage return. Line feed 
codes are ignored. 

A line feed is issued as an input ready signal each time an input request is made. 
A "$EOF" statement is defined as an EOF input record. 

Symbolic Write (02) - A leading line feed followed by up to 72 characters (trailing 
blanks are suppressed), and a carriage return are output. Cq is assumed to be a forms control 
character and is not output. If Cq = "1 " a triple line feed precedes the output and if Cq = "0" 
a double line feed precedes it. 

Binary Read (03) - The tape mode is set and the tape reader enabled. Following the 
start -of-record code ('212) 6-bit binary bytes are accepted and packed four per word until the 
user's word count is complete or an end-of-record code ('215) is detected. The 8-bit code 
('204) is detected as an end-of-file condition. 

Binary Write (04) - A start -ot-record code ('212) is output, followed by the user's data 
unpacked as four 6-bit bytes per word, until the user's word count is complete. The record is 
terminated with an 8-bit end-of-record code ('215). 

JJn&a mgtted Write (05) - The lower eight bits (7-0) of every word ore output with no 
conversions. The bits 23-8 are ignored. 

Write End -of -File (06) - The message "EOF. . " is output, preceded by a line feed and 
followed by an EOT and carriage return. The EOT ('204) is a non -printing character, defined 
as a binary EOF code. 

Open (07) - An open flag is set, causing 6 inches of tape leader to be output before 
the first record if the output is binary. 

Close (10) - Null. 

Reposition File (11) - The message "RPF, . " is printed and the user placed in wait 
until the "TAPE" key is pressed by the operator. 

Backspace File (12) - Null. 



5-10 



Revision C 

November 1975 

Advance File (13) - The message "ADF. . " is printed and the user placed in 
a wait until the " lAft" key is pressed. 

Backspace Record (14)- The message "BSR, . " is printed and the user placed 
in a wait until the "TAPE" key is pressed. 

Advance Record (15) - The message "ADR. . " is printed and the user placed 
in a wait until the "lAPb" key is pressed. 

Rewind (16) - Null. 

Unformatted Read (17) - Data is input from the terminal and stored in bits 7-0 in 
the user's bufter, with no data or format conversions. Bits 23-8 are set to zero. 

Seek Current Record Address (20)- Null. 
Set Current File Address (21)- Null. 



program. 



Close/Deallocate (22)- Closes and deallocates the device from the calling 



Special Open (23)- Null, 



5-2. 4A TI SIient-700 Terminals with Cassettes 

One or more Si lent-700' s are handled by a re-entrant Silent-700 handler. Each 
Silent-700 is interfaced by a private service routine, allowing local or long distance communis 
cations via any standard hardware interface. 

Note: Silent-700' s without cassettes (KSR models) should be regarded in all 
respects as teletypes (see section 5-2.4). This section only pertains to ASR models with cassettes. 

All functions using the keyboard printer of the Silent-700 are similar to those for 
a teletype with the following differences: 

Special Action Keys: 

"RUB-OUT" is not used. To obtain a Line Delete either the "DEL" or the 
"ESCAPE" key may be used. 

"^- " is not used. To obtain a Character Delete the underscore key may be 
used ( "US" or "_")• ' 

"Control TAPE", "Control NOT TAPE", and "Control FORM" are not used. 
"Line Feed" is ignored on all input. 

Standard IOCS functions are listed below with a description of their meaning to 
the keyboarci/printer section of the Silent-700. 

Status (00) - Normal status is returned in register A and register C is set as a 
function of A. 

Symbolic Read(OI) - The user buffer is blanked and a line-feed is issued to indi- 
cate an input request is pending. A carriage return is used to terminate input. 

5-10A. 1 



Revision C 
November 1975 

A "5EOF" or a "Control EOT" is recognized as an End-of-File. 

Symbolic Write (02) - Up to 80 characters from the user' s buffer are output 
(trailing blanks are suppressed). The first character is the user's buffer is not printed but is 
used as forms control: 

"1" causes a triple line feed 
"0" causes a double line feed 
"+" causes no line feed. 

all others cause a single line feed. 

Binary R ead (0 3) - Null. 

B inary Write (04) ~ Null 

Unformatted Write (05) - The lov/er eight bits (0 thru 7) of each word are output 
with no conversion, no line -feed or carriage return. This continues until the word count ,s 
complete. 

Note- Several characters are processed by the Silent-700 as commands. Because 
of this, these characters will not be output for any Write function code. Instead a NUL character 
(octal 000) will be output. These characters are: 

DLE - octal 020 

DC1 - octal 021 

DC2 - octal 022 

DC3 - octal 023 

DC4 - octal 024 

Write End-of-File (06) - The message "EOF. . " is output. 
Open (07) --^Null 
Close (10) - Null 

Reposition File (1 V) - The message "RPF. . . " is output. 
Backspace File ( 12) - The message "BSF. . " is output. 
Advance File ( 13) - The message "ADF. . . " is output. 
Backspace Record (J4) - The message "BSR. . " is output. 
Advance Record ( ]5) - The message "ADR. . " is output. 
Rewind ( 16) - Null 

U nformatted Read ( 17) - Data is input from the terminal and stored in bits 7 
thru of the user' s buffer ( 1 ^aracter per word). Input data is nol^ echoed to the terminal. 
Bits 23 thru 8 are set to zero. 

Seek Current Record Addr ess ( 2 0) - Null 
Set Cu rrent File Address (21) - Null 

Close/Deallocate (22) - Closes and deallocates the device from the calling program. 

5-lOA. 2 



Revision C 
November 1975 

All other function codes are null. 

Cassette ]/0 - All cassette data is recorded in 86 character blocks. The Silent- 
700 handler v^iil automaticcaly pock records into a block to avoid waste. Therefore, records 
may be v/holly contained within blocks or they may be spread across 1 or more blocks. The 
formats of records as processed by the handler are as follows: 

Symbolic Records - Leading line feed, followed by the symbolic record without 
translation, followed by a carriage return. 

Binary Records - Leading line feed, followed by the binary record encoded at 4 
characters per word. Each character consists of 6 bits from the binary word (most 
significant bits first) padded by adding octal ' 40 to the 6 bit character. On a 
binary read, this padding is removed. The record is tenninated by a carriage return. 

End-of-File Record - An EOF record is a two character record consisting of an EOT 
(octal ' 004) and a carriage return (octal' 015), On input an EOF record is any 
record which begins with an EOT. 

Standard IOCS functions are listed below with a description of their meaning to the 
cassette section of the Silent - 700. 

Status ( 00) - Normal status is returned in register A and register C is set as a function 
of A. 

Syrr.bolic Read (01) - Input is read from the cassette until a carriage return is received. 
T he remainder of the user' s buffer is set to blanks. If the user' s buffer is too small, 
trailing data is lost. 

Sym bolic Write (02) - Data is written to the cassette from^ the user' s buffer. Trailing 
blanks are suppressed. A carriage return is output to terminate the record. 

Binary Input (03) - Data is transferred from the cassette to the user's buffer according 
to the format discussed above. Input is temnlnated by a carriage return. 

Binary Output (04) - Data Is transferred from the user's buffer to the cassette according 
fo fhe fonnat discussed above. The record is terminated by a carriage return. 

Unformatted Write (05) - The lower eight bits of each word In the user's buffer is 
wr I Hen fo the cassette w ithout any conversion (see Note under Keyboard/Printer 
Unformatted Write). Bits 23 thru 8 are ignored. A carriage return is not output, 

Write End-of-File (06) - An EOF record (EOT, carriage return) is written to the 
cassette. 

Open (07) - Null 

Close ( 10) - Any partially written cassette blocks are dumped to the cassette. This 
also occurs whenever a physical tape movement Is required. 

R eposition File (11) - A backspace file followed by an advance record is performed. 

Backspace File (12) - Record are backspaced over until an EOF record is encountered. 
A subsequent read will input the EOF record. 

Advance File (13 ) - Records are advanced over until an EOF record has been skipped. 

5-lOA. 3 



Revision C 
November 1975 

B ackspace Record ( 14) - Characters are examined backwards until a carriage return 
is read. The resultant position is immediately after the carriage return. 

A dvance Record ( 15 ) - Characters are input and ignored until a carriage return has 
been processed. 

R ewind ( 16) - The cassette is rewound to its "clear leader". It will be "loaded" to its 
Toad point upon any subsequent function request except 00-Status, 1 1-Reposition File, 
12-Backspace File or 14-Backspace Record. 

U nformatted Read ( 17) - Data is input from the cassette and stored without conversion ii 
bits 7 thru of the user' s buffer. Bits 23 thru 8 are set to zero. Transfer continues untl 
the user word count is complete. , 

S eek Current Record Address ( 20) - Null 

S et Current File Address (21) - Null 

Close/Deallocate (22) - Closes and deallocates the device from the calling program. 

All other function codes are null. 

Due to interactions between the keyboard and the cassettes and due to internal buffer! n 
of cassette blocks, the following rules must be observed. 

1. When using the Silent-700 as the operator communications device, the cassettes 
should not be used. 

2. The terminal "Control X-OFF" should not be used when cassettes are actually in us^ 
(motion). 

3. The first operation on a cassette after inserting it into the Si lent-700, after 
any manual positioning of the cassette or after a reboot should be a rewind. 

4. The record control tape format switch must be in the CONTinous mode. 



5-'0A. 4 



Revision C 
November 1975 



5-2. 5 Paper Tape Reader 

The following "is a list of valid I/O functions and their definitions for the 
paper tape reader. 

Symbolic Read (01) - Data is accepted on an interrupt basis (one character 
per interrupt) until a carriage return character is detected. If a carriage return is 
detected before the word count is complete, the user's buffer is filled with blanks. If the 
word count is satisfied before receiving the carriage return, the trailing data within the 
record is ignored. The data is converted to ANSCII and packed three characters per 
word as it is received. If an up-arrow (f ) is detected during input, the record is 
ignored and the input operation is reinitialized. A delete code {'o77) is ignored. Leading 
line feed and carriage returns serve as record delimiters and are ignored. 

Symbolic Write (02)- Invalid function code. 

Binary Read (03 )- The binary tape format is four 6 -bit frames per word. 
Each binary record is preceded by an 8-bit line feed ('212) and terminated by an 8-bit 
carriage return ('215). Data is accepted on an interrupt basis (one character per 
interrupt). After detection of a line feed, data is packed in the user's buffer, four 
frames per word. On detection of a carriage return, input is terminated. If the user's 
word count is satisfied before detecting a carriage return, the status word (B15-B0) will 
indicate the actual number of words transferred and B22 is set. 

Binary Write (04) - Invalid function code 

Unformatted Read (05) - Eight-bit bytes are input on an interrupt basis 
and stored, one byte per word into bits 7-0, without conversion until the specified word 
count (byte count) Is satisfied. 

Write EOF (06) - Invalid function code. 



5-]] 



O pen (07) - Null. 

Reposition File (11)- Operator hold message "RPF TR" is tyPed- The 
operator shouFg repos i t i on the ta pe to the end of the previous End-of-f.le record and 
release. 

Backspoce File (12)- Operator hold message "BSF TR'' is typed. The 
operator shouFa repos i t i on the ta pe to the start of the previous End-of-f.le record and 
release. 

Advance F i le (13 )- Tape is advanced past the next End-of-File record. 

B ackspace Record (14 )- Operator hold message "BSR TR" is typed. 

Advance Record (1 5)- Tape is advanced past the next carriage return. 

R ewind (16) - Null. 

Set C urrent Record Address (17 )- Invalid function code. 

Seek Current Record Address (2 0)- Invalid function code. 

Set Current File Address (21 )- Invalid function code. 

Close/Deallocate (22)- Null. 

S>ecial Open (23)- Null. 
5-2.6 Paper Tape Punch 

The following is a list of the I/O functions and their definitions for the 
paper tape punch. 

Symboli c Read (01 )- Invalid function code. 

'iymbolic Write (02)- The handler outputs three 8-bit frames for each word 
of the user's Buf f er. A l^5Hn^ line feed ('212) and a trailing carriage return (215) are 
generated by the handler. Data is unpacked and transferred on an interrupt bas.s unt.l 
the word count is complete. 

Binary Read jOS)- Invalid function code. 

Binary Write (04)- The handler outputs four 6-bit frames for each word of 
the user's buffer. AfTS^TTTine heed ('212) is punched as a start of record and a 
carriage return ('215) as an End -of -Record. 

Special Action (05)- Unformatted Write. The handler outputs one 8 -bit 
frame for eacK word ( / -O) i n the user's buffer. Transfer continues until the word count 
is satisfied. Start and End-of -Record codes are suppressed, permitting the user to generate 
any type of formatted type. 

Write EOF (06)- Punches End-of-File code (EOT = '204) as the start code, 
followed by a" carriage rehTrn. This generates a zero word record with EOF as the 
start-of-record. 

5-12 



Open File (07)- Punch power is turned on and 18 inches of leader (blank 
tape) is generated. 

Close File (10) - Punches End^f-File code (EOT = '204), generates 18 
inches of trailer (blank tape), and turns off punch power. 

Reposition File (11)- Invalid function code. 

Backspace File (12)- Invalid function code. 

Advance File (13)- Invalid function code. 

Backspace Record (14)- Invalid function code. 

Advance Record (15)- Invalid function code. 

Rewind (16) - Null. 

Set Current Record Address (17) - Invalid function code. 

Seek Current Record Address (20 )- Invalid function code. 

Set Current File Address (21 )- Invalid function code. 

Close/Deallocate (22)- Closes the device as with function 10 above, if not 
already done, and deallocates the device from the calling program. 

Special Open (23)- Invalid function code. 

5-2. 7 Card Reader 

Card input is buffered and converted according to the IOCS input request. 
Some special checks are made by the handler before allowing a transfer to the user 
buffer. 

A card image of "$26" in columns 1-3 is thrown away and the H026 code 
conversion flag is set. A "$29" card sets the H029 flag. H029 is assumed as default. 
A 9/8 multi -punch in column one is defined as an EOF record. 

All other records are passed to IOCS and tested for "$" job control 
statements. If they pass these tests, data Is passed to the user buffer according to the 
following function requests. 

Symbolic Read (01)- A single 80 column card Is converted from 026 or 
029 code to Infernal AnSCiI, three characters per word, until the user's buffer is filled 
(byte 81, and all other words greater than 27 (if any) will be blank). 

Symbolic Write (02 )- Invalid function code. 

Binary Read (03)- Consecutive cards are accepted and passed to the user's 
buffer, until the specified word count is satisfied or until an End-of-Record card is 
detected. Binary cards are formatted as follows: 



5-13 



• Column 1 -Reserved for a special action code: A 9/8 multi-punch 
signifies an End-of-File record, and a 9/7 multi -punch Is a partial 
code signifying that this card does not complete the binary record. 

• Column 2 - blank. 

• Columns 3 through 6 - Reserved for a user sequence number. 
The handler ignores 2-6. 

• Columns 7 through 80 - Contain 12-bit binary data allowing 37 data v^'ords 
per card, at 2 columns per v/ord. 

Binary Write (04)- Invalid function code. 

Hollerith Read (05)- A single 80-column card is transferred to the user's 
buffer, without conversion, and packed two columns per word. 

Write EOF (06)- Invalid function code 

Reposition File (11)- Operator hold message "RPF CR" is typed. 

Backspace File (12)- Operator hold message "BSF CR" is typed. 

Advance File (13 )- Cards are input until an End-of-File card (9/8 multi - 
punch in column 1) Is detected. 

Bac kspace Record (14)- Operator hold message "BSR CR" is typed. 

Advance Record (15 )- Cards are input and ignored until a card not 
containing a 9// multi -punch In column 1 Is detected. 

Rewind (16) - Null. 

Set Curr ent Record Address (17)- Null. 

Seek Current Record Addre ss (20)- Null. 

Set Current File Address (21 )- Null. 

Close/Deallocate (22) - The device Is deallocated from the calling program. 

Special Open (23)- Null. 



5-2.8 Card Punch 

card punch 



The following Is a list of the I/O functions and their definitions for the 



Symbolic R ead (01)- Invalid Function Code. 

Symbolic Write (02)- Converts ANSCII to Hollerith core and punches 1 
card. Conversion code is assumed to be H029 unless system option 23 is set, requesting 
H026 conversion 

5-14 



Binary Read (03)- Invalid funcHon code. 

Binary Write (04) - Punches one or more cards as a binary record. Column 1 
of each card is reserved as a special acMon code. A 9/8 MulH-punch in column 1 
indicates an End-of-File record (one card). A 9/7 multi-punch indicates a partial record. 
Columns 2 through 6 are open for a sequence number (the handler does not generate a 
sequence number). 

Special Action (05)- Punches 80 columns, 2 columns per word, unformatted. 

Write EOF (06)- A 9/8 multi -punch is punched in column 1. 

Open (07)- The device is allocated to the calling program. 

Close (10)- A blank card is punched. 

Reposition File (11)- Invalid function code. 

Backspace File (12)- Invalid function code. 

Advance File (13)- Invalid function code. 

Backspace Record (14)- Invalid function code. 

Advance Record (15) -Invalid function code. 

Rewind (16) - Null. 

Set Current Record Address (17)- Invalid function code. 

Seek Current Record Address (20,)- Invalid function code. 

Set Current File Address (21)- Invalid function code. 



program. 



Close/Deallocate (22)- The device is closed and deallocated from the user's 



Special Open (23)- Invalid function code. 



5-2.9 Line Printer 

line printer. 



The following is a list of valid I/O functions and their definitions for the 
Symbolic Read (01)- Invalid function code. 



Symbolic Write (02 )- Data is assumed to be ANSCII, 3 C/W. The first 

column IS assumed to be a carriage control character and the printer responds in the 

manner defined in Table 5-5. Special characters "1", "0", " ", or "+ " in this position 
are replaced by the appropriate control character as indicated in Table 5-5. 

Binary Read (03)- Invalid function code. 

Binary Write (04)- Invalid function code. 

5-15 



Special Action (05) - Invalid function code. 

Wr ite EOF (06 )- The message "EOF.." is printed. 

Re position File (11)- Invalid function code. 

Backspace File (12)- Invalid function code. 

Advance File (13)- Invalid function code. 

Ba ckspace Reco rd (14)- Invalid function code. 

Advance Record (15)- Invalid function code. 

Re wind (1 6)- Null. 

Se t Current Rec ord Addres s (17)- Invalid function code. 

Se ek Cu r rent Record Address (20 )- Invalid function code. 

Set Current File Address (21)- Invalid function code. 

Cl ose/Dealloca te (22)- The device is deallocated from the calling program. 

Special Open (23)- Invalid function code. 

Table 5-5 
Line Printer Carriage Control 



Carriage Control 








Character 


Action 






"Cg)" or " + " 


line advance 








"A" or " " 


1 line advance 




Accepted by- 




"B' or "0" 


2 line advance 




all printers 




"C" 


3 line advance 








"D" 


4 line advance 


■ 


Accepted only 
by obsolete 




"N" 


14 line advance 




printers 




"O" 


15 line advance 






All spacing 
is done 
before 


M pit 

"Q" 
"R" 


Channel 1 (top of form) 
Channel 2 
Channel 3 


Accepted by 
-all printers 


"S" 


Channel 4 


Accepted by 


printing. 






■ only some 




-W" 


Channel 8 


printers 




: (colon) 


Causes columns 4-18 to 
be output to the operator 
as a Hold Message, upon 
release, program executio 
continues. 


n 




Other 


1 line advance 


-f 





5-16 



Revision A 
May, 1974 



5-2. 10 Real-Time Peripheral Equipment 



The RTP Handler will handle the RTF I/O Expander and up to 30 RTF devices, each 
containing up to 16 channels, for a total of 480 controlled channels. Each RTP "Device", or 
set of 16 channels on a common controller, is assigned a particular DMS physical device num- 
ber, and can be open to, at most, one program at a time. Thus, when a program opens a parti - 
cular RTP device, it has sole control of the 16 channels on the device. 

DMS physical device numbers are associated with RTP device numbers through a resident 
DMS table which is defined at system generation (see Paragraph 12-3. 17). A second system 
table contains a bit for each channel on each RTP device which is used to determine whether 
the particular channel is interrupt or non-interrupt oriented. 

I/O is performed to the RTP devices through standard I/O calling sequences utilizing 
function codes 01 through 04. For each call, two buffers are transferred to the handler. 

As can be noted, there are two distinct methods of programming RTP equipment: 
Sequential and Random. In sequential operation the I/O transfer is begun at a particular card 
or channel on the RTP equipment and RTF equipment automatically advances through the channels 
until the entire word count has been transferred. In this case the user supplied only the initial 
channel address. In random mode, a channel address is supplied for each data word transfer, 
and automatic selection is not done by the equipment. 

When communicating through the RTP Handler, the following I/O calling sequence is 
used: 

TLO PARLIST 

BLU $I/0 



PARLIST DATA XX YY 

DAC word count 

DAC buffer address 

DAC connection into buffer address 

The first two parameters are as in all other DMS I/O operations. The '■bird parameter 
(buffer address) is the address of the buffer from/to which the data is transferred. It must be at 
least "word count" words long. The fourth parameter (connection info buffer address) tells which 
channels/slots the data transfer is to be done from/to. In the case of sequential mode transfers, 
only the first word of this buffer is referenced. In random mode transfers, each channel/slot 
number in the connection buffer corresponds to a word in the data buffer, requiring the connec- 
tion buffer - to be at least "word count" words in length. The actual format of the contents of 
both of these buffers is variable depending on the device involved, and is described In the 
following sections. 

Common information is described below: 

1. Data Buffer (First buffer address) 

Bits 15-0 contain the data in/out. These correspond to RTP bits 0-15 
respectively. 

Bits 23-18 on input operations contain the card slot address 7420/20, 7420/ 
30 only) from which the data was input. These bits are undefined in all 
other operations. 

5-17 



Revision A 
May, 1974 

2. Connection Buffer 

Bits 10-0 contain the card slot address, channel number, gain information, 
etc., as required by the particular device. These formats are given in the 
following sections Bits 10-0 correspond to RTP Bits 5-15. 

Bit 17 if set indicates that this transfer, and all others following it in I/O 
operation, are to be done in interrupt mode regardless of the settings in 
RTPTB2. 

Special Note: When mixing interrupt and non-interrupt I/O in the same I/O call to 
the handler - all non-interrupt I/O must precede interrupt I/O in 
terms of connection buffer ordering. 

Device Programming Considerations 

The following sections define particular bit configurations and considerations 
for all RTP modules. 



9472 7435/20 Digital Input 

Interrupt: Optional - external device supplied 

Data Buffer: 



23 18 

CHANNEL 
ADDRESS 




15 
16 bit input value 



Connection Buffer: 





17 
IR 




3 
CHANNEL 
ADDRESS 



Special Notes: None 



5-18 



Revision A 
May, 1974 



9473 7435/22 Digital Output 



Interrupt: Optional - external device supplied 



Data Buffer: 





15 







Not Used 




16 bit integer to be output 





Connection Buffer: 





17 
IR 


^ 

1 

^ 


3 

CHANNEL ADDRESS 






Special Notes: None 



5-19 



Revision A 
May, 1974 



9474 7435/24 AC Input 



Int-errupt: OpHonal - configuration item. 



Data Buffer: 



23 18 

CHANNEL 
ADDRESS 




7 
8 bit data value 



Connection Buffer: 





17 
IR 




3 

CHANNEL 
ADDRESS 



Special Notes: None 



5-20 



9475 7435/25 AC Output 

Interrupt: None 
Data Buffer: 



Connection Buffer: 



Special Notes: None 



Revision A 
May, 1974 





7 
SWITCH OUTPUTS 



1 = Switch Closed - Conducting 
- Switch Open 





3 
CHANNEL ADDRESS 



5-21 



Revision A 
May, 1974 

9476 7435/33 Pulse Counter 



Interrupt: On reaching total count of 65536 if detection of interrupt is desired, place 

one-word input request to device with BI7 of connection buffer to wait for input 
interrupt. 



Data Buffer: 



23 18 

CHANNEL 
ADDRESS 




15 
16-bit counter value 



Connection Buffer: 





17 
IR 




5 
C 




3 




CHANNEL 
ADDRESS 



t_ 



If set to 1, clear counter to 0. 



Special Notes: To clear counter, do a one-word (non -interrupt) with Bit 5 of connection 
Buffer Set and ignore input. 



)-22 



Revision A 
May, 1974 



9478 7435/37 Optically Isolafed Input 



Interrupt: Optional - externally supplied 



Data Buffer: 



23 



18 



CHANNEL 
ADDRESS 



16-Bit Input Value 



Connection Buffer: 





17 
IR 




3 

CHANNEL 
ADDRESS 



Special Notes: None 



5-23 



Revision A 
May, 1974 

9479 7435/38 Dry Relay Output 

9480 7435/39 Mercury Relay Output 
Interrupt: Optional - externally supplied 
Data Buffer: 





15 
16-Bit Output Value 



Connection Buffer: 





17 
IR 




3 

CHANNEL 
ADDRESS 



Special Notes: None 



5-24 



Revision A 
May, 1974 



948 T 7435/42 Interrupt Expander 

Interrupt: Yes, use Bit 17 of Connection Buffer only. 
Data Buffer (Input): 



23 

CHANNEL 
ADDRESS 


18 


2 

INTERRUPT 
LEVEL 



Data Buffer (Output): 



INTERRUPT 
ENABLE/DISABLE BITS 



t 



{1 = enable interrupt 
P = disable interrupt 



Connection Buffer: (I and 0) 



17 
Input = 1 
Output = 



CHANNEL 
ADDRESS 



Special Notes: 

1. Normal programming of Interrupt Expanders through handler is as follows: 

A Do output with B17 of connection buffer off to enable selected interrupts 

B. Place one word input request on the card slot with B17 of connection buffer set. 

C. When an interrupt occurs, determine location from buffer and repeat step B for 
next interrupt. 

2. Bit in RTPTN2 should be for Interrupt Expanders. 

5-25 



Revision A 
May, 1974 

9482 7435/45 Serial Input Module 
Interrupt: On each input character 
Data Buffer: 



23 18 

CHANNEL 
ADDRESS 




7 
8 -Bit Character 



Connection Buffer: 





17 
IR 




7 6 


5 


4 


3 

CHANNEL 
ADDRESS 




/, 



{. 



1 - Set Data Terminal Ready 
- Reset Data Terminal Ready 



/O - No change 

\l - Set TTY Reader 



'GO' 



00 - No change 
i'l'Ol - Disable Auto Read Mode 
10 - Enable Auto Read Mode 
- Invalid 



Special Notes: 



1. The "TTY" Reader "GO" and "Auto Read" Modes are used when a TTY is 
directly connected to the Serial Input Module. The Auto Read Mode, 
when enabled causes "TTY Reader GO" to be set after each character is 
input. The "TTY Reader GO" signal is normally applied to the Teletype 
Tape Reader Mechanism to control paper tape input. When using a 

Data Set, these signals are not used. 

2. Start and Stop bits on the serial character are not passed into the input 
character and parity is not checked. 



5-26 



Revision A 
May, 1974 



9483 7435/46 Serial Output Module 



Interrupt: On each character to indicate ready 



Data Buffer: 




Connection Buffer: 





17 
IR 




7 6 




3 

CHANNEL 
ADDRESS 












1 


1 





1 


1 



No change 

Reset Request-to-Send 
Set Request-to-Send 
Invalid Code 



Special Notes: None 



5-27 



Revision A 
May, 1974 

9 484 7435/47 Analog Input Module 

9 485 7435/49 Analog Input Module 
Interrupt: Yes 

Data Buffer: 



23 



CARD 
SLOT 



18 



15 



12 



EXTENDED 
SIGN 



11 
SIGN 



DATA VALUE 



Connection Buffer: 



17 
IR 



CHANNEL 

NO. WITHIN 

CARD 



CARD SLOT # 



Special Notes: 

1. Dse of this card requires a bit in the appropriate word in RTPTB3. 

2. "Card Slot" on this sheet refers to the channel address on the 9471 - 7430/30 
Common Equipment Chassis. 



5-28 



9462 7445/20 Analog Output - Sample and Hold 

9463 7445/21 Analog Output - Sample and Hold 
Interrupt: Yes 

Data Buffer: 



Revision A 
May, 1974 



23 



NOT USED 



12 



11 



12-Bit Signed Integer 



Connection Buffer: 





17 
IR 




5 

CHANNEL 
ADDRESS ON 7440 



Special Notes: None 



5-29 



Revision A 
May, 1974 



9451 7455/20 

9452 7455/21 

9453 7455/22 

9454 7455/23 

9455 7455/24 



Analog Output Modules 



Interrupt: None 
Data Buffer: 



23 12 

NOT USED 



Connection Buffer: 



11 



12-Bit Output Value 



This is optionally a 12-Bit Signed Integer 
depending on Card Model. 



CHANNEL 
ADDRESS 



Special Notes: 

1. These cards can be used on both of these devices: 

9450 7450/20 Analog Output Common 
9471 7430/30 Universal Common 



5-30 



9443 7465/20 High Level Analog Inpuf 
9443 7465/21 High Level Analog Inpuf 
Interrupt: Yes 
Data Buffer: 



Revision, A 
May, 1974 



23 



16 



UNDEFINED 



15 



12 



SIGN 
EXTENDED 



11 







12-BIt Signed Integer Data Value 



Connection Buffer: 



17 
IR 



10 



CHANNEL 
ADDRESS 



NOT 
USED 



Special Notes: For devices containing these modules (7460/XX), the entire word in 
RTPTB3 should be set to -1 [77777777^). 



5-31 



Revision A 
May, 1974 



9431 7476/20 Low Level Analog Inpuf 



Interrupt: Yes 



Data Buffer: 



23 16 

UNDEFINED 



15 



12 



SIGN 
EXTENDED 



11 



12 -Bit Signed Integer Data Value 



Connection Buffer: 





17 

IR 




9 4 

CHANNEL 
ADDRESS 


3 
GAIN 



Special Notes: 



1. The Sequential Input Function will not operate on these modules. Random 
must be used. 

2. Consult the RTP device manual (PM070 -006/037) for information or construction 
of the gain information. 

3. The entire RTPTB3 word in the DMS SYSDAT must be set to -1 {77777777^) for 
proper operation. 



9421 7485/30 Wide Range Analog Input 

9422 7485/31 Wide Range Analog Input 
Interrupt: Yes 

Data Buffer: 



Revision A 
May, 1974 



23 16 

UNDEFINED 



15 

16-Bit Signed Integer Data Value 



Connection Buffer: 





17 
IR 




15 


14 

OPEN 

TRANS 

DET 


13 

= + 

1 = - 


12 4 

CHANNEL 
NUMBER 


3 
GAIN 



t 1 L 



Polarity of Constant Current Source 
Check for Open Transducer 



Auto Range 



Special Notes: 



1. The Sequential Input Function will not operate on those modules. 
Random must be used. 

2. Consult the RTP device manual (PM 070-027) for information on the 
items in the connection buffer. 

3. The entire RTPTB3 word in the DMS SYSDAT must be set to -1 {77777777^) 
for proper operation. 



5-33 



; Revision B 
March, 1975 

Function Codes 

Sequential Read (01) - Performs an input operation to the specified device, setting 
the sequential (automatic channel increment) mode, starting with the channel number In the 
first element of the connection buffer. 

Sequential Write (02) - Performs an output operation to the specified device, setting 
the sequential (automatic channel increment) mode, and starting with the channel number 
specified in the first element of the connection buffer. 

Random Read (03) - Performs an input operation on the specified device, setting the 
random access mode. Individual channel numbers are taken from each corresponding position 
of the connection buffer for each data word input. 

Random Write (04) - Performs an output operation on the specified device, setting the 
random access mode. Individual channel numbers for each output data word are taken from 
the corresponding position of the connection buffer. 

Set Completion Variable (05) - The first buffer address of the standard parameter list 
Is the address of a variable In the users program to be decremented by one whenever an input 
or output operation is complete. Once this variable has been set Into the handler, it Is 
decremented by one each time the device completes an operation. This variable parameter 
may be cleared at any time by passing a zero address for the variable. This service allows 
user programs to monitor the status of an operation by checking a variable within the program. 

Open (07) - The particular RTP device Is allocated to the calling program and the 
device storage area Is allocated and initialized. 

Close/Deallocate (2 2) - The particular RTP device Is closed and released, allowing 
other programs to open it. TfiF device storage area is deallocated. 

5-2. 11 Alphan umeric CRT's 

One or more CRT's are handled by a re-entrant Display Handler. Each handler Is 
Interfaced by a private service routine, allowing local or long distance communications via any 
standard hardware interface. Any one of the CRT's may be designated as the operator's terminal 
at system generation (see Section XII). The operator's terminal may be alternately specified at 
system boot time by setting sense switch one along with the desired terminal device number in 
control switches zero through five, before activating the bootstrap. 

The specified operator's terminal functions as a normal remote terminal in addition 
to being the operator communication console. The Operator Communication Service (OPCOM) 
is not accessible from any terminal other than the operator's console. The operator may 
relinquish operator communications to another terminal via the command/OT,n where "n" Is 
the desired terminal device number. 

The re-entrant display handler honors standard lOCs requests for all CRT's including 
the assigned operator's terminal. Three special characters are acknowledged when in the first 
column of any input line, "/", " \ ", and "1 ". The "/" signifies an OPCOM input statement. 



5-34 



Revision B 
March, 1975 

" \" signifies a terminal abort request, and " ±" signifies a handler mode command. The 
handler treats line zero as an Input media, and lines 1 through 23 as an output page. A 
symbolic write below line 23 is handled as determined by the current handler mode. Three 
handler modes are available. In the "scroll" mode (which is the default mode), a symbolic 
write below line 23 is written on line 23 after line 1 has been deleted and lines 2-23 have 
been scrolled up one line. In the "page" mode, the screen is erased and the line is written 
on line 1. In the "wait" mode, an uparrow (A) character is output in the home position and 
the handler waits for the user to enter a transmit. When the transmit is received, the screen 
is erased and the line is written on line 1. 

The handler modes are selectable from the terminal by entering a "±S" for scroll, 
"IP" for page, and "±W" for wait mode. The modes may also be set by the use of function 
code 17* (Set Handler Mode). 



5-34A 



Revision B 
March, 1975 



When an OPCOM statement Is detected, the display handler makes sure that the 
terminal is the currently allocated console device, and then passes the statement to Operator 
Communications. If a regular IOCS input request was pending, it is re-initialized after the 
OPCOM statement has been passed. 

A terminal abort request causes the I/O Executive to abort the foreground program 
currently connected to the terminal, and clears the screen of the display. 

If an input statement is transmitted and no request is pending the statement will 
remain displayed and a handler flag set until an input request is made, at which time the 
statement is accepted and the line cleared. If an input request is made by a program and no 
data has been transmitted, the request Is saved but the device remains "not busy" to permit 
output requests. When a transmit is detected, the pending input is processed. 

Standard IOCS functions are listed below with a description of their operation. 

Status (00) - A normal status word Is returned in Register A and the condition register 
is set as a function of A. 

Symbolic Read (01) - The user's buffer Is blanked and up to 80 input characters, 
packed 3 characters per word, are accepted. A "$EOF" statement Is defined as an Input end- 
of-file. The parameter "n" specifies the word count to be input. 

Symbolic Write (02) - Up to 81 characters are transmitted to the next available line 
of the output page. Column zero (carriage control) is Ignored. Data is assumed to be packed 
three characters per word ASCII. The parameter "n" specifies the word count to be output. 

Edit Read (03) - "n" characters are accepted from the specified cursor position and 
packed in the user's buffer three characters per word. The calling sequence for this request Is: 

DAC 'XX03 

DATA n 

DAC Buffer address 

DATA /0,row,col/ where 8 bit bytes per field are used. 

The cursor position Is saved and restored to its original position at the end of the operation. 

Edit Write (04) - Outputs "n" characters at the specified cursor position. The calling 
sequence is: 

DAC 'XX04 

DATA n 

DAC Buffer address 

DATA /0,row,col/ where 8 bit bytes per field are used. 

The current cursor position is saved and restored to its previous state at the end of the output 
operation. 



5-35 



Revision C 
November 1975 



Operator NAessage (05) - Outputs six character message on line one in column 75 
through 80. The calling sequence is as follows: 

DAC 'XX05 

DATA n 

DAC Buffer address 

The character count "n" must be adequate to include "blink" and "unblink" codes, if present, 
but should not exceed six. 

Input Wait (05*) - If a parameter one (character count) of a function 05 call is zero, 
the calling program is placed in a wait until a transmit code is detected from the keyboard. 
No transfer takes place. 

Write End-of-File (06) - Writes the output message "EOF. . " on the next available 
output line. 

Open (07) - This function sets the output line number for top-ot-page (first output 
line). 

Rewind (16) - This function erases the current display page and sets the output line 
number for top -of -page (first output line). 

Set Line Number (17) - Sets the output line pointer to the specified line number. The 
calling sequence is: 

DAC 'XX17 

DATA line number (1 for first output line) 

Set Handler Mode (17*) - If the parameter of a function 17 call is negative, the 
handler mode is set as specified by the parameter. Valid parameters are: -1 for scroll mode, 
-2 for page mode, and -3 for wait mode. All other negative values are invalid. The calling 
sequence is: 

DAC ■XX17 

DATA parameter (-1,-2, or -3) 

Set/Reset Data - Panel Lights ( 17**) - jhis function turns the data-panel lights on 
or off as specified by the parameter. On CRT' s not equipped with data-panel lights, this is 
a null function. The lights to be turned on or off are specified, one bit per light, in bits 0-15 of 
the parameter word. Lights not specified remain unchanged. Bits 23-21 of the parameter word 
determine whether the specified lights are to bie turned on or off. A 6 in this position ( B23 B22 
set, B21 reset) will turn off the specified lights, a 4 in this position ( B23 set, B22 B21 reset) will 
turn on the specified lights. The calling sequence is: 

DAC •XX17 

DATA parameter 



5-36 



Revision C 
November 1975 

Gef Cursor Address ( 20) - Refurns Row/Column In register E, bytes 2 and 1 respectively 
(high order bits of E are zero) of the current cursor position. 

Set Cursor Address (21) - The CRT cursor is position to the specified row and column. 
The calling sequence Is: 

DAC 'XX21 

DATA /O,row,columiy' where 8 bit bytes are used for fields. 

NOTE 

"row" specifies a horizontal row between and 
23 where row is the input line and rows 1-23 
are the output page; and "column" specified 
the vertical column number between 1 and 80. 

Functions greater than 22 are invalid and all 
others are "null". 



5-36A 



Revision 8 
March, 1975 



5-2, 12 Reader/Punch 

The reader/punch may be considered to be logically two separate devices, either a 
card reader or card punch. Depending on the entry point referenced, the unit will perforrn the 
specifred opLtion for that logical device. A word in the SYSTEM DATA MODULE RPAMOD, 
allows access to one or both of the logical devices. The "mode word" .s defined as follows: 

"RPA MOD" DEVICE 



Negative Reader Only 

Zero Reader or Punch 

Positive Punch Only 

A reference to the punch when in "reader only" mode will generate an abort, ABT 10. 

In the "reader and punch" mode, the device will be used as a card reader until a 
$CLOSD card is read. At that time, the device is allocated to the first program needing the 
device. The logical device opened first will determine whether the device will read or punch. 

For example, to spool in a job which generates punch output the following procedure 
could be followed: 

Spooling in Jobstream 
$JOB. . . 



$EOJ 

Deallocate the spool in card reader 
$CLOSD 

BLANK CARDS 



The program will produce punch output on cards. Upon a close to the punch, the 
extra blank cards will be flushed and offset until the first non-blank card is detected by the 
reader. 

5-2.12.1 Card Reader 

Card input is buffered and converted according to the IOCS input request. Some 
special checks are made by the handler before allowing a transfer to the user buffer. 

A card image of "$26" in columns 1 -3 is thrown away and the H026 code conversion 
flag is set. A "$29" card sets the H029 flag. H029 is assumed as default. A 9/8 multi -punch 
in column one is defined as an EOF record. 

5-37 



Revision A 
May, 1974 



All other records are passed to IOCS and tested for "$" job control statements. If 
the/ pass these tests, data is passed to the user buffer according to the following function requests. 



Symbolic Read (01) - A single 80 column card is converted from 026 or 029 code to 
nternal ANSCII, three characters per word, until the user's buffer is filled (byte 81, and all 
)ther words greater than 27 (if any) will be blank). 



Symbolic Write (02) - Invalid function code. 

Binary Read (03) - Consecutive cards are accepted and passed to the user's buffer, 
until the specified word count is satisfied or until an End-of-Record card Is detected. Binary 
cards are formatted as follows: 

o Column 1 - Reserved for a special action code: A 9/8 multi -punch signifies 
an End-of-File record, and a 9/7 multl -punch is a partial code signifying that 
this card does not complete the binary record. 

o Column 2 - Blank. 

o Columns 3 through 6 - Reserved for a user sequence number. 
The handler Ignores 2-6. 

o Columns 7 through 80 - Contain 12-bIt binary data allowing 37 data words 
per card, at 2 columns per word. 

Binary Write (04) - Invalid function code. 

Hollerith Read (05) - A single 80-column card Is transferred to the user's buffer, 
without conversion, and packed two columns per word. 

Write EOF (06) - Invalid function code. 

Reposition File (11) - Operator hold message "RPF CR" Is typed. 

Backspace File (12) - Operator hold message "BSF CR" Is typed. 

Advance File (13) - Cards are input until an End-of-File card (9/8 multi -punch 
in column 1) Is detected. 

Backspace Record (14) - Operator hold message "BSR CR" is typed. 

Advance Record (15) - Cards are input and Ignored until a card not containing a 
y// multi -punch in column 1 is detected. 

Rewind (16) - Null. 



5-38 



Revision A 
May; 1974 

Set Current Record Address (17) - Null. 

Seek Current Record Address (20) - Null. 

Set Current File Address (21) - Null. 

Close/Deallocate (22) - The device is deallocated from the calling program. 

Special Open (23) - Null. 

5-2.12.2 Card Punch 

The following is a list of the I/O functions and their definitions for the card punch, 

Symbolic Read (01) - Invalid Function Code. 

Symbolic Write (02) - Converts ANSCII to Hollerith core and punches 1 card. 
Conversion code is assumed to be H029 unless system option 23 is set, requesting H026 
conversion. 

Binary Read (03) - Invalid function code. 

Binary Write (04) - Punches one or more cards as a binary record. Column 1 of each 
card is reserved as a special action code. A 9/8 multi -punch in column 1 indicates an End- 
of-File record (one card). A 9/7 multi -punch indicates a partial record. Columns 2 through 
6 are open for a sequence number (the handler does not generate a sequence number). 

Special Action (05) - Punches 80 columns, 2 columns per v^ord, unformatted. 

Write EOF (06) - A 9/8 multi -punch is punched in column 1. 

Open (07) - The device is allocated to the calling program. 

Close (10) - A blank card is punched. 

Reposition File (11) - Invalid function code. 

Backspace File (12) - Invalid function code. 

Advance File (13) - Invalid function code. 

Backspace Record (14) - Invalid function code. 



5-39 



Revision B 
March, 1975 



Advance Record (15) - Invalid function code. 

Rewind (16) - Null. 

Set Current Record Address (17) - Invalid function code. 

Seek Current Record Address (20) - Invalid function code. 

Set Current File Address (21 ) - Invalid function code. 

Close/Deallocate (22) - The device is closed and deallocated from the user's program. 

Special Open (23) - Invalid function code. 

5-2. 13 Printer/Plotter 

The printer/plotter allows two modes of operation. A "symbolic write" request instructs 
the device to function as a normal list output device. A "binary write" request instructs the device 
to perform as an electrostatic plotter. The device handler is non -re -entrant and is executed via 
the standard IOCS calling sequence. The following is a list of valid function codes and the action 
associated with each code. 

Symbolic Write (02) - Write a symbolic logical record in the print mode. The 
buffer is assumed to be ASCII symbolic code packed three characters per word, preceded by a 
carriage control character in the first position in the buffer. Although the printer/plotter does not 
perform as a standard hard copy print device, it is physically unable to allow the same degree of 
control exhibited by most "line printers". Notably, there is no VFC or "carriage tape" nor is there 
a facility for remaining on the same line and "overprinting". Thus, only a restricted set of carriage 
control characters is honored (all others are effectively treated as a blank): The valid carriage 
control characters are: 

" " (blank) - advance to next lin e and print. 

" ^ " - Advance to next page - A "form feed" is issued. 

On a device with the "fan-fold" option a physical top-of-form is issued. 
A device without the fan-fold option will advance the paper 2 1/2 inchejs. 

"0" - Double Space - Leave a blank line before printing. ' 

•■ " - Operator HOLD message . The following line is printed at the OPCOM 
device and the user program is placed in the HOLD state. 

If the word count specified is greater than the physical line length then the record will be 
truncated. All "unprintable" characters are effectively "null" and thus ignored. 



5-40 



Revision B 
March, 1975 

Binary Write (04) - The buffer is considered fo be a packed bit string. Since the 
physical plot butter is an integral multiple of bytes (8 bits) and not words, a single request to 
plot multiple lines would require that the plot records span across words (the second and sub- 
sequent records are not guaranteed to be word alligned), A "1" bit designates that the nib in 
that position should print, a " " bit designates absence of print. The word count is software 
truncated to an integral multiple of plot lines. 

Write EOF (06) - Included for system wide compatibility. Effectively a null operation. 

Open (07) - Logically opens the device. An EOT action Is taken which will advance 
the paper eight inches, clearing it from the ink reservoir. An open must be issued prior to any 
other logical I/O operations. 

Rewind (16) - Included only for system wide compatablllty. Effectively a null operation. 

Close ( 1 0) - Logically closes the device. 

Close/Deallocate (22) - Logically close the device and allow It to be assigned to 
another useT^ An tOI action will be taken to insure that the paper does not stand In the ink 
reservoir. 

All other logical Input/output operations are invalid and the program issuing such a 
request will be aborted. 

As an additional note, care should be taken to drive the printer/plotter at an even 
rate near its maximum speed; otherwise, Inertlal errors may occur (which may cause an uneven 
appearance In the quality of the print). 

5-2. 14 Incremental Plotter 

The plotter may be driven directly by a user program or the special foreground 
program "S. PLOT". The initial open after a reboot will output the message "POSITION PLOT" 
to the operator console and will suspend the program. Once the operator has positioned the pen 
to 1/2 Inch from the Z-fold, the program may be released. Thereafter, the Z-fold position is 
maintained by the handler. This enables direct plotting with or without use of the plot support 
library. 

The following Is a list of the I/O functions and their definitions. All others are null. 

Symbolic Write (02) - The handler outputs three 8-bit plot commands for each word 
in the user's buffer. — Ihe data Is unpacked and transferred on an interrupt basic until the word 
count Is complete. 

Binary Write (04) - Identical to the symbolic write (02). 

Special Action (05) - The handler outputs one 8-bIt (7-0) plot command for each word 
In the user's butter. Iranster continues until the word count is complete. 



5-41 



Revision B 
March, 1975 



Ope" File (07 ) - The handler will perform a page restore if the pen Is not correctly 
positioned at a Z-fold. The initial open after a reboot will output an operator message requesting 
the pen to be positioned. 



CI 



:iose File (10) - The handler will perform a page restore if the pen is not correctly 
positioned at a Z-told. 

Close/Deallocate (2 2) - Closes the device as with function 10 above, if not already 
done, and deallocates the device from the calling program. 



5-42 



Revision C 
November 1975 



SECTION VI 
BACKGROUND BATCH PROCESSING 

6-1 JOB STREAM 

Under DMS, the background input stream is considered the "Job Stream Input 
File". This is defined as the file or device to which Logical File 00 (Job Stream) is 
assigned. A number of special features effect the Job Stream Input File. These are 
discussed below. 

6-1. 1 Special Assignment (Spooled Systems only) 

Under DMS, one does not always know to what file or device his job stream 
is assigned. This is particularly true in the case of spooled input, since under spooling 
job stream is assigned to a particular file on disc, the name of which is not immediately 
available to the programmer. To assign any logical file to use the same file or device as 
job stream, one merely assigns the LFN to Physical Device 77g. The I/O control supervisor 
will automatically transfer the request to Physical Device 77 to the Job Stream File. Thus 
the assignment 

^.ASSIGN 7,77 

will assign the Source Input (LFN 7) to use the Job Stream Input File. This feature is not 
available in unspooled DMS configurations. 

6-1.2 Reading "$" Cards 

Whenever a card containing a dollar sign ($) in column 1 is read from the 
Job Stream file or device by any processor other than Job Control, special action occurs. 
Under these circumstances, DMS will: 1) Copy the "$" card to the resident Job Control 
buffer, 2) Set the system "trap" flag so that Job Control can process this record, 3) Return 
the card image containing the "S" to the user's buffer, and 4) Return the end-of-file 
status to the calling program. 

If the processor performs another read request to the file without clearing the 
"trap" flag via the UNTRAP service, the processor exits and Job Control will be loaded and 
will attempt to process the record. If the "trap" flag is cleared, (see paragraph 4-16) then 
further reads can be made. 

6-1.3 File Insertion Feature 

The File Insertion feature, available in spooled DMS systems only, allows 
the insertion of a specified disc file in the Input Job Stream at any point. This is 
accomplished by using the $ADD card which is written as 

$ADD FILNAM 

This card effectively causes the contents of "FILNAM" to be inserted in the job stream in 
place of the $ADD card. The $ADD card may be placed anywhere in the job stream, in 
particular, in the middle of a data deck, etc. The $ADD card is transparent to all back- 
ground processors. If "FILNAM" is non-existent, the message "»$ADD FILNAM NON-EXISTENT" 
will be output to the list output device and the job will continue. 

6-1 



I Revision C 
November 1975 

The file whfch is being ADDed must be terminated with a $RETUi^N control card. 
When DMS reads this record, the next image returned to the calling program will be the next 
line following the previously encountered $ADD card. No password may be used on ADD files, 
and $ADD cards may not be nested. 

The SADD card may not be used In jobs read in the unspooled mode (see para- 
graph 8-6. 1). 

6-2 JOB CONTROL PROGRAM 

Job Control (JOBCTL) is a special system program that is loaded and 
executed in the DMS background whenever the system is initialized and whenever any 
background program is terminated. Job Control executes in the unrestricted mode such 
that it can modify resident DMS tables as necessary to direct background processing. _ 
JOBCTL accepts control statements from the input device assigned to job Stream (logical 
file 0), outputs each statement to logical file 6, and then processes valid statements as 
described in subsequent paragraphs of this section. Invalid statements cause an abort 
with the message "JCL ERROR" output to logical file 6. Invalid statements entered from 
the operator communication device (LFN assigned to device 1) cause an operator hold 
message. A release command is required to continue. 

If job stream is assigned to some device other than the console typewriter, 
the SJOB statement is required following an ABORT condition; all other statements are 
accepted and ignored until a SJOB is received. 

Job stream can be reassigned to the console teletypewriter at any time via 
the operator communications statement (JC). This does, however, abort the execution of 
the current background job, as well as slow down the execution of other jobs by holding 
background operation to the operator console. 

6-2. 1 ' UOB Statement 

This statement transfers the job name to the Background Information Area, 
resets all background flags, options, and lines and sets logical device numbers to their 
default assignments (as specified during SYSGEN). Additionally, the job name Is printed 
on the console teletype. The format is as follows. 

^JOB name 

where: name consists of zero to six ANSCIl characters. 

On spooled systems, additional parameters may be used to specify other than 
default parameters. The general form of the spooled job card is 

SJOB name Unnn Pnnn Dnn Lnnn Innn Tnn Mnnn 

where: name consists of one to six ANSCIl characters. 

Unnn Is the user number and is valid and required only In accounting 
versions of DMS (see Section VII). 

Pnnn Is the priority; nnn must be between 1 and 254 and must conform to 

the established input terminal priority (see Section VIII). The priority 

value specifies the relative priority in the background spool Input queue. 

It does not effect the priority of background execution, which is fixed at 

255. 

Tnn is the time limit in seconds for the execution of this job (accounting systems 

only). If not used,the system default time limit is used. 

6-2 



Revision C 
November 1975 



6-2.2 $EOJ Statemenf 



This stafement signifies fhe end of the current job and must be present to 
terminate the background job. The message "EOJ" is output on the console teletype. In 
accounting systems, the CPU execution time of the job is printed on the assigned List Output 
File. The format is: 

$EOJ 

6-2.3 $AS5IGN Statement 



This statement causes the specified Logical File Number ( LFN) to be assigned 
to a Physical Device Number (PDN), a Disc File Name (DFN), or a Spooled Device 
number (SDN). Thereafter, when any background program executes an ]/0 request with 
the specified logical file number, DMS will utilize the device or disc file that was 
assigned to the logical file number with this statement. The format is as follows: 



6-3 



Revision C 
November 1975 



(NOTE: An equal H sign or comma {,) may be used interchangeably between UFN and 
PDN, DFN or SDN): 

^ASSIGN LFN, PDN, LFN, PDN, ... 
4;ASSIGN LFN=PDN, LFN=PDN, ... 

or 

ASSIGN LFN, DFN, LFN, DFN, ... 
^ASSIGN LFN=DFN, LFN=DFN,... 

or 

$ASSIGN LFN, #SDN, LFN,/SDN(file size) 
^^ASSIGN LFN=#SDN, LFN=#SDN(file size) 

Invalid values for the LFN, PDN, or SDN will result in a "JCL error" and 
termination of the Job. ( See Section 4-13, ASSIGN Service for a definition of valid 
values for LFN, PDN &SDN.) 

The latter format is used to assign an output Logical File to a Spooled File. 
A spool file will be dynamically created and will be spooled out to the specified device 
when the job is completed. If the optional "(file size)" field is oresent, ^his size in 
sectors will be used as the size of the file. Otherwise the default size will be used. The 
specified device number must be a spooled terminal device. Some examples of assignments 
are given below. 

1) <bASSIGN 5,10 

This assignment specifies that Logical File 5 (Binary Output) 
is to be assigned to Physical Device lOg. 

2) SASSIGN 6,0 

This assignment specifies that all output to Logical File 6 is to be 
iop'^red 

J) SASSIGN 16,W1 

This statement specifies that Logical File I6g is to be assigned to 
disc file "Wl". 

4) SASSIGN 3,#10(50) 

This statement specifies that output to Logical File 3 is to be 
spooled out to Physical Device iOg using a disc file of 50 sectors. 

6-2. 4 SPATE Statement 

In non-accounting versions of DMS, this statement transfers the specified nine 
ANSCII characters or less to the background information area date storage. 

6-4 



The formal- Is as follows. 

$DATE xxxxxxxxx 

In accounfing systems, the statement is ignored as the system date Is 
established when DMS Is loaded from disc. 

6-2.5 SLINES Statemen t 

This statement alters the default number of lines per page for listed output. 
The format Is a follows. 

SLINES n 

The default is returned at the beginning of the following job. 

6-2.6 ^OPTIONS Statement 

This statement sets the specified bits of the Options word; i.e., places 1 's 
in the selected bit positions (n Is a decimal integer less than or equal to 23). The 
leading dot (. ), if present, enters Zeros (0) in all bits of the word prior to setting the 
specified bits. The Options word is acquired by the service INFO. The format is as 
follows. 

$OPTIONS . 1,2,3, 4,..., n 

The usage of OPTIONS settings by standard DMS routines and processors Is 
given in Appendix D. 

6-2.7 '^FLAGS Statement 

This command functions In the same manner as the SOPTIONS statement, 
except that a different memory location Is used. The format is as follows. 

$FLAGS .0,l,2,...,n 

The FLAGS values used In assembling DMS modules and processors are listed 
in Appendix D. 

6-2.8 SINCLUDE Statement 

This statement Is used to copy program elements in link module form as 
produced by the Fortran Compiler or Macro Assembler, from one device to another. The 
basic format Is as follows. 

"illNCLUDE (Filename, password) 

If no file name Is specified, input is from Logical File 04 (Binary Input). If 
a file name is specified, this file Is rewound and used as the Input source. JOBCTL 
copies link modules from the Input file to Logical File 05 (Binary Output), which is 
normally assigned to the Link Ready disc file ("LR"), until an end-of-file is encountered. 
At that time an end-of-file Is written to Logical File 05 and this file is backspaced a 
record in anticipation of another $INCLUDE statement, an assembly or a compilation. 



6-5 



6-2,9 $C ATA LOG Statemen t 

This statement causes the Link Cataloger to be loaded and executed. The 
Link Cataloger accepts specification cards that follow the SCATALOG, builds a load 
module from the routines on the Link Ready file (together with required library subroutines), 
and outputs the load module to a disc file. The resultant load module is not executed 
as a direct result of this statement. The format is as follows. 

SCATALOG 

Refer to paragraph 6-4 for additional information. 

6-2. 10 SCATGO Statement 

This statement sets the GOFLAG, then executes the Link Cataloger which 
catalogs onto the system "GO" file for immediate execution. The format is as follows. 

$CATGO 

Refer to paragraph 6-4 for additional information. 

6-2. 1 1 $LOADGO Statement 

This statement causes the specified background program to be loaded and 
executed in the DMS background. The specified program must nave been previously 
cataloged via $CATALOG. The format is as follows. 

SLOADGO programname 

When initiated, the A register is loaded with the address of the background 
job control buffer, which contains the image which caused the program to be started, 
allowing user programs to interograte the line for options, parameters, etc. 

6-2. ]2 $HOLD Statement 

This statement causes the first 15 characters of the specified text to be out- 
put to the operator communication device and the background enters a wait condition 
until the operator intervenes (refer to Section IX, Paragraph 9-1). The format is as 
follows. 

SHOLD text 

6-2. 13 STAPEOP Statement 



This statement is used to select the tape transport mode, density, and 
characters per word specification for a specific tape transport for the duration of the 
background job, or until another STAPEOP is encountered. Execution of this statement 
will not effect ony foreground magnetic tape operation (see paragraph 5-2.3). The format 
is as follows. 

STAPEOP transport, mode, density, cpw. 

where the ordering of the parameters is insignificant and transport is of the 
form TO, Tl, T2, or 17 specifying the transport number; 

mode is one of "BINARY" or "ASCII" for no conversion or "BCD" for IBM 



6-6 



compatible BCD conversion (7-track only) or "EBCDIC" for ebcdic conversion {9-track 
only); 

( 200) 
density is of the form) 556UBPI) where "BPI" is optional and the number 
represents tape density; j 800 ( 

(I6OO; 

Cpvv is of the form 1 2 ( ( cpw) v/here "cpw" is optional and the value represents 
the number of characters per )3 C word. Note that for valid BCD or EBCDIC conversion, 

3 characters per word must be \4) specified. Characters will be right justified in the 
user's buffer, with unused portions filled with zeroes; the absence of any parameter spec- 
ifies that the system default will be used. For example, the statement 

$TAPEOP T0,1600,2CPW 

specifies that transport is to be used for default (normally binary) conversion, 
but use 2 characters per word at a density of 1600 BPI. 

6-2. 14 $ADUMP Statement 

This statement is used to produce a memory dump of a portion of the back- 
ground memory area when a background program aborts. The format is as follows. 

$ADUMP a,b 

where a is the initial relative memory location (octal) at which the dump is 
to start, and 

where b is the ending relative memory location which defines the end of the 
area to be dumped. 

Both memory addresses are relative to the start of background. If either or 
both are absent, the start or end of background, respectively, are used as the bounds 
values for the dump. Whenever a background processor aborts with this statement active, 
the dump is written to logical file 6. If a processor exit normally, the SADUMP request 
is cancelled. Thus, this statement must be used immediately prior to the execution of 
each processor which may cause an abort. 

6-2. 15 $QPEN Statement 

This statement opens logical file xx (octal) using the specified password 
yyyyyy. The format is as follows. 

$OPEN XX, yyyyyy 

The password field is required only if the file has a password. 

6-2. 16 $CLOSE Statement 

This statement closes logical file xx (octal). The format is as follows. 

$CLOSE xx 



6-7 



6-2, 17 $REW Statement 

This statement rewinds logical file xx (octal). The format is as follows. 

$REW XX 

6-2. 18 $BSF Statement 

This statement backspaces one file on logical file xx (octal), The format 
is as follows. 

SBSF XX 

6-2. 19 $ADF Statement 

This statement advances one file on logical file xx (octal). The format is 
as fo Mows. 

$ADF XX 

6-2.20 $RPF Statement 



This statement repositions the current file on logical file xx (octal). The 
format is as follows. 

SRPF XX 

6-2.21 $WEF Statement 

This statement writes an End-of-File on logical file xx (octal). The format 
is as follows. 

$WEF XX 

6-2.22 $XXYY Statemen t 

This statement performs function yy (octal) on logical file xx (octal). The 
format is as follows. 

$XXYY xxyy 

A Table of j/O function codes is given in Section V, Table 5-3. 

6-2.23 $EDITLF Statement 



follows. 



This statement loads and executes the Library File Editor. The format is as 

SEDITLF 

For additional information, refer to paragraph 15-3. 



6-8 



Revision C 
November 1975 



6-2.24 SFILEMA Sfafement 

This statement, loads and executes the File Manager. The format is as follows. 

$FILEMA 

For additional information, refer to paragraph 6-3. 
6-2.25 $NAME Statement 



as follows. 



This statement is equivalent to a $LOADGO name statement. The format is 



$NAME 



Refer to paragraph 6-2.11. For example, the statement $FORTRAN is 
equivalent to $LOADGO FORTRAN. 

6-2.26 S Comments Statement 

This statement causes no action to be performed. It is used only for intro- 
ducing comments onto the List Output File. The format is: 

$ comments 

where the blank character in column 2 is required. 

6-3 FILE MANAGER 

The File Manager performs functions that are associated with the utilization 
of the DMS file system. The user should be familiar with the material discussed in 
Section III of this manual prior to using this program. The File Manager is initiated via 
the following job control statement: 

$FILEMA 

Once loaded, the File Manager reads directive statements from the Job Stream 
Logical File. The general format for these commands consists of an alphabetic function 
starting in the first character position, followed by multiple parameters, as shown below. 

FUNCTION paraml,param2,param3, . . . 

Parameters are separated by a single blank or a comma. A double comma is' used 
to indicate that a parameter is missing, and not needed. Two consecutive blanks may also be 
used in place of a double comma to indicate a missing parameter. The format sequence "comma, 
blank, comma" is functionally the same as three successive commas. 

The format of the Master Disc Directory (MDD) may be found in Appendix C. The 
SAVE/RESTORE formats may be found in section 6-3.29. 

The File Manager will output to LFN 6 pertinent data for commands which may 
reference a group of file names. The following information may be provided for each file, 
depending on the command: 



6-9 



Revision C 




November 1975 




1. 


Data and Time 


2, 


File name 


3. 


Pack number 


4. 


First sector number 


5. 


Last sector number 


6. 


File size in sectors 


7. 


Type 


8. 


User access 


9. 


Memory requirements 


10. 


Absolute load origin 


11. 


User number 


•12. 


Password 



A new title will be output on every page. The page size may be varied with the 
job control SLINES command. To obtain a list with only one title line, a very large value on 
the lines per page job control statement should be used. 

The following is a summary of the functions available within the File Manager. 
Additional infonnation and the specific formats are discussed in the following paragraphs. 



6-3.1 



1. CREATE - 

2. ESTAB- 

3. DELETE- 

4. RENAME- 

5. DMAP- 

6. DMAPS- 

7. DUMP- 

8. DUMPBF- 

9. SAVE- 

10. SAVEP- 

11. SAVPAK- 

12. SAVUSR- 

13. LIST- 

14. RESTORE 

15. RESPAK- 

16. RESUSR- 

17. SAVMDD- 

18. REPSYS- 

19. CLEAR- 

20. ZEROPK- 

21. READPK- 

22. FLAGPK- 

23. ADVANCE - 

24. REW- 

25. WEF- 

26. ADF- 

27. BSF- 

28. HOLD- 

29. EXIT- 
CREATE Statement 



Generates a file 

Generates a file from an LFN 

Removes a file 

Change the file name only 

Disc directory of all files 

Disc directory (secjuentially) 

Generates an absolute load module 

Generates an absolute load module (no parameter record) 

Produce a backup of a file 

Produce a backup of a file (no protection retained) 

Produces a backup of all files on a pack 

Produces a backup of all files by a user number 

Verifies and list all files on a 'save' tape. 

Recreates a file previously ' saved' . 

Recreates all files for a pack 

Recreates all files for a user number 

Saves MDD entries for pack during sysgens. 

Rewrites the resident DMS on the disc. 

Identifies a new pack to DMS 

Performs a "clear" and then zero's entire pack. 

Reads a pack and outputs error messages upon read errors. 

Flags unreadable sectors of a pack with "permanent" files. 

Position to next header record (no error checking) 

Rewinds specified LFN 

Write an end-of-file on specified LFN 

Advance one file mark on specified LFN 

Backspace one file mark on specified LFN 

Suspends background with a message. 

Returns to the system,. 



This statement directs the File Manager to allocate sequential disc space and 
create an entry in the Master Disc Directory. The file name, password, and in accounting 
systems, the user-number combinations must be unique within the directory as discussed in 
Section III. Sufficient contiguous disc space must oe available for the file to be created. 
In accounting versions of DMS, the current background user number is stored with the file 
entry as the creator. The format for this statement is shown below. 



Revision C 
November 1975 



CREATE name,password,pack^,3ize,type,reacl,write,delete, sector 

name - consists of one to six characters, of which the first must be alphabetic. 

password - consists of one to four characters, of which the first must be alphabetic. 
A zero should be used to indicate that the file is "public" and no 
password is required. Once a file has been created with a non-zero 
password, any program desiring to access the file must supply a match- 
ing password when the file is opened. 

pack''' - consists of one to three numeric decimal digits specifying the pack ID 
number of the disc pack on which the file is to reside. The main disc 
on which the resident system resides is considered to be pack one. If 
the requested pack is not currently mounted, the operator will be 
informed. 

size - consists of a decimal number specifying the desired file size in sectors. 

type - consists of a single numeric character optionally preceded by "B" or 

"C" or both defining the file type as follows. 

Value Type of File 

] User data or work file. 

4 Object Library file. 

5 Source Library file. 

6 System work file. 

Bx A "B" preceding any of the above specifies that the file 

is to be typed as a "blocked file". 

Cx or A "C" preceding any of the above combinations specifies 

CBx that the Master Disc Directory for the file will be stored 

in the core resident directory buffer. 

read - An "R", "W", or "D", respectively, as additional parameters, valid 
write only in accounting systems, specifies that the associated access bit is 

delete to be set to allow users other than the creator to perform the specific 

functions on the file. All, none, or any combination of these characters 
may be present, each as distinct parameters separated by commas. 

Sector - This optional parameter is used to specify a lower bound when allocating 
disc space for a file, i. e. , the file will not be created if there is not 
room above this loca'^ion. 



6-3. 2 ESTABLISH Statement 



The ESTABLISH statement is used to build a permanent file from the specified work 
file. 

Prior to establishing a named file, the temporary work file must control recorded data. 
This recorded data can be placed on the work file in many ways. 



6-11 



Revision C 
November 1975 



For example, a link module can be placed on the work file by assembly with the binary 
output assigned to the work file. Also a module can be transferred from a selected binary input 
device to the work file using the job control service ($INCLUDE). 

ESTABLISH assumes the current record address (CRA) of the specified work file to be 
positioned at the end of the recorded data, and uses the (CRA) to determine the size of the file 
to be built. A call to the DMS system service ($SYS) is made to allocate the required disc space, 
then data is transferred from the work file and copied into successive sectors of the named disc 
file. After all records are copied, the procedure is terminated by writing an end-of-file sector. 

Statement formats are defined as follows. 

I:STAB, XX,name,password,pack%size,type,read,write,delete, sector 

XX - Decimal (or octal if preceded by apostrophe (')), Logical File code 

assigned to the work file which is to provide the data to be established. 

name - One-to-six character identifier of the file to be established, of which 
the first must be alphabetic. 

size - should be entered as zero because it is computed from the CRA. 

frassword -should be entered as defined for the create statement, w'>th the exception 

frack* that the absence or presence of the blocking specifications "B" is 

type ignored in the file type designation, and the new file Is automatically 

read given the same blocked/unblocked status as the work file, 

write 

delete 

Sector - This optional parameter is used to specify a lower bound when allocating 
disc space for a file, i. e, , the file will not be created if there is not 
room above this location. 

6-3.3 DELETE: Statement 



The DELETE statement removes a specified frle name from the directory and releases 
its allocated disc space. The format of this statement is as follows: 

DELETE name, password 

where "name" and "password" are as defined for the CREATE statement. 

6-3.4 RENAME Statement 



This statement permits the user to change the name, password, file type or, in 
accounting systems, the protection status of any specified disc file. A monitor service Is 
employed which finds and loads the Master Disc Directory entry, validates the parameters, 
replaces effected information, and restores the directory entry. The format is as follows: 

R E NAM E ol dnam e, newname,ol dpassword, newpassword, type, read, wri te, de I ete 

oldname - required to identify existing file. 

newname- optional new file name. If the field is omitted, the name remains 
unchanged. 

6-12 



Revision C 
November 1975 



oldpassword - required to identify existing file if it has a password. The 
parameter may be omitted if the file has no password. 

newpassword - if a password is specified here, it will be the new file pass- 
word. If a zero is entered in this field, the current password 
is removed and the file will not have a password. If the 
field is omitted, by entering consecutive commas, the current 
password remains unchanged. 



type 



read 

write 

delete 



A "C" or "NC" may be entered here to indicate that the Core 
Resident Directory entry status is to be added ( "C") or removed ("NC") 
from the type designation. No other file type changes are permitted. 

- These parameters are valid only in accounting systems and are usfed 
to indicate the new file access status. An "R", "W", or "D" 
correspondingly, or any combination of them, is used to indicate 
the respective file access. If no parameters follow the type field, 
then the protection status remains unchanged. The file may be 
changed to totally private (no access bits sets) by entering a single 
parameter "P" to indicate private. 



6-3.5 



DMAP Statement 



The Disc Mop Statement directs the File Manager to produce a file system disc 
allocation map on the list output logical device. The file names are sorted by alphanumeric 
sequence prior to output file. 

where n is a disc pack number and causes only the disc 
pack named to be mapped. 

where nnn is a user- number and only programs with the 
given user-number are mapped. 

where name is a file name and only programs with the 
specified name are mapped. 

with no parameter specifies that the entire directory is 
listed. 

6-3.6 

This statement performs identically to the DMAP statement defined above, except 
that the map is ordered by sector number, rather than alphabetically. 






DMAP n 


n) 


DMAP Unnn 


Hi) 


DMAP name 


iv) 


DMAP 


DMAPS Statement 



6-3.7 



DUMP and DUMPBF Statements 



These statements cause a specified cataloged program file to be loaded into 
the background memory area and dumped in an absolute load format on the assigned binary 
output file. Address relocation is performed according to specified parameters. 

The DUMP output consists of two binary records. Record one is a 6-word 
parameter record containing the program name, low, high, start and checksum. Record two 
consists of a n word data record, program low through program high. 



6-13 



Revision C 
November 1975 

The DUMPBF output consists of only the n word absolute data record, producing 
a bootstrap format record. ( The user should take care in coding a program for paper tape or 
card bootstrap loading, to insure that there are no zero instruction or data words. The bootstrap 
loaders terminate input upon detection of a zero word.) 

Statement formats are defined as follows. 

DUMP, name, relative program origin, absolute dump bias 
DUMPBF, name, relative program origin, absolute dump bias 

where: name is a one-to-six character identifier, of which the first must be 
alphabetic. 

relative program origin consists of a numeric value and is the relative program 
origin specified in the source program (0 if not specified). 

where: absolute dump bias consists of a numeric value specifying the absolute 
memory address at which the program is intended for execution. 

Address relocation is accomplished by adding the dump bias minus the program 
origin. 

6-3. 8 SAVE Statement 

The SAVE statement directs the File Manager to output the entire contents of 
a specified disc file to the binary output logical device ( Logical File number 5). This data 
consists of a header record that preserves the file definition (name, password, type, size, etc.) 
and a checksum for the record. Each data record consists of one sector of disc data plus a check- 
sum for the record producing records of 1 13 words. The header record contains a sector count for 
the file which defines how many data records follow. 

The specified file is not deleted by the process of saving it on the binary output 
device. The format of the statement Is as follows: 

SAVE name, password, Unnn, newname, newpass 

name - file name to be saved. 

password - file password is required if the file has a password. 

Unnn - is the user-number and is valid only in accounting systems. This number 
is required only if the file Is totally private (has no access bits specified) 
to select the proper copy of the file. 

newname- is an optional parameter which becomes the file name stored in the 
Save Module. This allows a file to be saved under a different name 
than on the current system. If this parameter is not present, the 
original file name is used. 

newpass- is an optional parameter which becomes the password for the file stored 
in the Save Module. This allows a file to be saved under a different 
password than on the current system. If this parameter Is not present, 
the original password Is used. 



6-14 



Revision C 
November 1975 



6-3.9 SAVE P Statement 



The SAVEP statement performs Identically to the SAVE statement discussed above 
in non -accounting systems. In accounting versions of DMS, the SAVEP statement performs the 
same function as the SAVE statement, except that all file protection bits and the user-number 
are cleared to zeros. This allows the resulting SAVE module to be reloaded on a non-accounting 
system. The format is as follov/s: 

SAVEP name, password,user-number,newname,newpass 
6-3.10 SAVPAK Statement 

The SAVPAK statement enables all of the disc files on the specified disc pack to be 
saved on the binary output logical device. The statement is equivalent to a string of SAVE 
statements for each disc file on the given disc pack. The files are saved in alphabetic order and 
the fomiat is as for the SAVE statement. The name of each file that is saved is listed on the list 
output logical device. Upon completion of the entire group save, an end-of-file is written to 
binary output, and backspaced over. The format of the statement Is: 

SAVPAK n 

where n is the disc pack number and the default n is pack one. 

6-3.11 SAVUSR Statement 

The SAVUSR statement saves all of a user' s files on all packs to the binary output 
device. The files are saved in alphabetical order and in the same format as the SAVE statement. 
The name and other information is output to list output device as each file Is saved. Upon com- 
pletion of the entire group save, an end-of-file is written to binary output and backspaced over. 
This assures proper termination of the data. The format of the statement is: 

SAVUSR Unnn 

SAVUSR nnn 

where nnn is the user number specification. 

6-3. 12 LIST Statement 

The LIST statement is used to list and verify previously saved files. The binary 
input logical file is scanned and infomiation pertaining to each saved file Is listed on the ll$t 
output device. If a data checksum error is detected, a warning message Is output, and the 
remainder of the files data records will be skipped. If a checksum error Is detected In the header 
record after three retries, a fatal message is output and the job is aborted. The format of the 
statement Is defined as: 

LIST 

No parameters are required. 

6-3. 13 RESTORE Statement 

The RESTORE statement is utilized to restore a disc file that has been previously 
saved and deleted. The binary input logical device ( Logical File 04) Is searched from the current 
position, bypassing other "SAVE" format modules, until the file with the specified name and 
password is located. The file definition information Is then obtained from the header record, 
and the file is re -defined in the directory and the appropriate disc space is allocated. The data 

6-15 



Revision C 
November 1975 

is then copied onto the disc. It should be noted that when a file is restored, it is allocated 
the same quantity of disc space that it originally occupied, but not necessarily the same 
physical area. The format for this statement is as follows: 

RESTORE name, password, pack***, sector, newname, newpass 

name- defined as in CREATE statement 

f)assword 

sector 

pack"- 

newname defined as in SAVE statement 

newpass- 

6-3. 14 RESPAK Statement 



The RESPAK statement enables all files previously save to be recreated on the disc. 
The binary input device starts from its current position and reads the next "SAVf:" header record 
for file name and password. The file will be recreated automatically and data copied into the 
disc area. If the file name is already used, a message is output to the list output device and the 
file is skipped. This sequence repeats until an end-of-file is detected while attempting to read 
a header record. Pertinent infomnation is output as each file is restored. The statement is defined 
as follows: 

RESPAK n,m 

where n is the pack number from which the files were saved. 

m is the pack where the files will be restored to. If not specified, 

n is assumed. 

6-3. 15 RESUSR Statement 



The RESUSR is similar to the RESPAK statement. Binary input device is scanned for 
all files saved with the specified user number. Upon finding a match, the file will be restored 
if not already present. The statement is defined as follows: 

RESUSR Unnn, pack* 

or 
RESUSR nnn, pack# 

where the nnn is the user number specification. 

pack* is an optional parameter which defines the disc pack to which the files are 
to be restored. If the parameter is not present, then the pack number from which the SAVUSR was 
generated is used. 

6-3. 16 SAVMDD Statement 



The SAVMDD statement saves the Master Disc Directory entries for all disc files 
on all packs other than the master pack(pack 1), onto the binary output logical device. The 
entries are saved in n2-word blocks plus a checksum word. The last block is filled with zeros 
following the last saved entry. The format of the statement is: 

SAVMDD 

and no parameters are required. 



6-16 



Revision C 
November 1975 



6-3. 17 



REPSYS Statement 



The REPSYS statement is used to replace the resident DMS on disc without going 
through the original DMS generation procedure of initializing the entire disc and restoring the 
various DMS files. 

During the REPSYS procedure, several holds occur. Each must be released with the 
OPCOM command /RB. 

Logical files 4 and 5 are dynamically assigned during the copy process. Each rejad 
or write will be exactly 1 sector or 1 12 words. 

the format of the command is defined as follows: 

REPSYS ffffff, tttttt 

ffffff is the file name containing the new DMS system catalogued as TYPE=SYSGEN. 
If the parameter is missing, the file name ' DMS' is assumed. 

tttttt is an output file name or physical device number where the current DMS 
( ' D. M. S. ' ) will be copied to. If no parameter is given, W2 is assumed. 

The generation of a second copy of the current DMS allows recovery if the new 
DMS does not function properly. 

The following is an example of a REPSYS from a file ' NEWDMS'. 

$JOB 



generation of SYSDAT) 



Inclusion of DMS modules) 



Inclusion of OPCOM modules) 



$C ATA LOG 
DNAME=NEWDMS„R 
TYPE=SYSGEN 
BEGIN 



(Cataloging of OPCOM) 



6-17 



Revision C 
November 1975 



SFILEMA 

REPSYS NEWDMS 

FILEMA: "REPLACE DMS? (OP message & hold) 

FILEMA: COPY TO W2 ( OP message & hold) 

FILEMA: COPY FROM NEWDMS ( OP message & hold) 

FILEMA: DMS REPLACED (OP message) 

RENAME OPCOM, OPX, GORP, GORP 
RENAME OPCOMl, OPXl, GORP, GORP 
RENAME OPCOM2, OPX2, GORP, GORP 
RENAME OPCOM3, OPX3, GORP, GORP 
RENAME OPCOM4, OPX4, GORP, GORP 
RENAME OPCOM5, OPX5, GORP, GORP 
RENAME OPC, OPCOM, GORP, GORP 
RENAME OPCl, OPCOMl, GORP, GORP 
RENAME OPC2, OPCOM2, GORP, GORP 
RENAME OPC3, OPCOM3, GORP, GORP 
RENAME OPC4, OPCOM4, GORP, GORP 
RENAME OPC5, OPCOM5, GORP, GORP 
$EOJ 

Error messages associated with the REPSYS command are listed in Table 6-1. 

6-3.18 CLEAR Statement 

The CLEAR statement is used to initialize a new disc pack on multi-drive DMS 
configurations. It has no meaning and cannot be used single disc systems. The format of the 
CLEAR statement is as follows: 

CLEAR pack*, disc* 

where: pack* is the pack ID number (2-255) of the pack being initialized and 
disc* is the disc number (2-64) on which the pack is now mounted. 

The message 

FILEMA CLEAR 
PK* XXX DSC *yyy? 

is output to the operator to allow verification of the input parameters. If valid, a 
release background command must be given. If invalid, background should be aborted. When 
released, the specified pack in initialized and all MDD entries giving reference to that pock are 
removed. When the initialization is completed, the message 

PACK CLEARED 
is output. 



A-lfi 



Revision C 
November 1975 

6-3. 19 ZEROPK Stafement 

The ZEROPK shatement is used to initialize a new disc pack on multi -drive DMS 
configurations. It has no meaning and cannot be used on single disc systems. The ZEROPK 
statement first performs a CLEAR (see section 6-3. 14) and then writes zeros in every sector of 
the pack from sector 4 to the end. The number of sectors zeroed per write operation is dependent 
upon background size, the disc being zeroed fastest when background size is large. The format 
of the ZEROPK statement is as follows: 

ZEROPK pack#, disc# 

where pack* and disc*^ are defined as in section 6-3. 14 (CLEAR statement) 

the message: 

i-ILEMA ZERO 

PK# XXX DSC^y/v? 

is output tc the operator to allow verification of the input parameters. If valid, a 
release background command must be given. If invalid, background should be aborted. When 
the pack is completely zeroec, ihe following message ii ouroutt i 

PACK ZEROED 

6-3.20 READPK Stcfomsnt 

The READPK statement is used to read a complete disc pack to find any sectors which 
are unreadable. When a sector is found which cannot be read, information is output describing 
the read attempt, the number of v/ords received and the sector which caused the error. The regds 
then continue with the sector following the bad one. The Formot of the READPK statement is as 
follows: 

READPK pack*^, wordcount 

where: pack* is the pack ID number (2-255) of the pack to be read. 

and: wordcount is the number of words to be read per read operation. 

This parameter is optional and if not supplied, the wordcount will be determined 
by the size of bcckground. 

6-3.21 FLAGPK Statement 

The FLAGPK stotement is used to create permanent files over any sectors on a di$c 
pack which cannot be read. The FLAGPK statement functions identically to the READPK statement 
(section 6-3. 14B), but it automatically creates permaner^t type files over the sectors determined 
to be bad. The file names are dynamically generated and are of the form Z'^NNNN with a 
password of B. S. . The format of the FLAGPK statement Is as follows: 

FLAGPK pack*, wordcount 

where pack* and wordcount are defined as in section 6-3. 14B ( READPK statement). 

If a file cannot be created over a bad sector (if another file already Included that 
sector for example), a message will be output to that effect. If a file is successfully created 
the file name created will be output. 



6-18A. 1 



Revision C 
November 1975 



6-3.22 ADVANCE Stafement 

The ADVANCE statement is used to position the binary input logical file in front of 
the next SAVE header record. No data error checking is perfonned. The statement is defined 
as follows: 

ADVANCE 

No parameters are required. 

6-3.23 REV/ Statement 

The REW statement perfonn a rewind function on the specified logical file number. 
The statement is defined as follows: 

REW n 

where n is the logical file specifications. 

6-3. 24 WEF Statement 

The WEF statement will write an end-of-file on the specified logical file number. 
The statement is defined as follows: 

WEF n 

where n is the logical file number specification. 

6-3.25 ADF Statement 

The ADF statement will advance the specified logical file number to after the next 
end-of-file. The statement is defined as: 

ADF n 

where n is the logical file number specification 

6-3.26 BSF Statement 

The BSF statement will backspace the specified logical file number to before the 
previous end-of-fiie. The statement is defined as follows: 

BSF n 

where n is the logical file number specification. 

6-3.27 HOLD Statement 



The HOLD statement outputs a 15 character message to the OPCOM terminal and 
then suspends background. The statement is defined as follows: 

HOLD MESSAGE TEXTl I ; : 

where "MESSAGE TEXT 1 1 1 " is the message to be output. Note that the format 
assumes two blank characters between HOLD and the message text. This command requires an 
OPCOM "/RB" to continue. 



L ID A n 



Revision C 
November 1975 



6-3.28 



6-3.29 



WORD 



1 



EXIT Si-atement 

The execution of the file Manager is ferminated by the statement: 

EXIT 

SAVE/RESTORE Formats 

The following is the SAVE/RESTORE format: 

SAVE/RESTORE HEADER 



6 

7 



FIRST THREE ASCII CHAR OF FILE NAME 


SECOND THREE ASCII CHAR OF FILE NAME 


23 22 

P R 

R 

I P 

V R 

T O 


21 

W 

P 
R 
O 


20 
D 

P 
R 
O 


19-0 
RECORD WORD COUNT 
ZERO= 113 


FILE SIZE IN SECTORS 


23 22 
B S 
L P 
O O 
C O 
K L 


21 

C 

O 

R 

E 


20 19-16 

P 

E TYPE 

R 

M 


15-0 
MEMORY REQUIREMENTS 


23-16 
PACK NO 


15-0 
ABSOLUTE PROGRAM ORIGIN | 


FIRST THREE ASCII CHAR OF PASSWORD 


23-16 
4TH CHAR OF PASS 


15-0 
USER NUMBER 


CHECKSUM = - 


(SUMMATION OF WORDS 0-7) 



6-18A. 3 



Revision C 
November 1975 



WORDS 

0-ni 

112-223 
224-335 



DATA RECORD LAYOUT 



DATA FOR SECTOR ONE 



DATA FOR SECTOR TWO 



DATA FOR SECTOR THREE 



784-895 
896 
897 
6-3.30 



DATA FOR SECTOR EIGHT 



23 22 21 20 19 18 17 16 
SEC#1 2 3 4 5 6 7 8 
BIT SET = EOF SECTOR 



15-0 
NOT USED 



CHECKSUM = -(SUM/V\ATlON OF WORDS 0-896 



ERROR MESSAGES 



Error checking is performed on file system functions to safeguard the integrity of the 
disc. When an error is detected, an error message is printed on the program' s list output device 
and the current job is aborted. The error messages and their complete definitions are listed in 
Table 6-1. 

Table 6-1 
Error Message Definitions 



Message 



CORE NOT AVAIL 
DISC* ERROR 
DISC READ ERROR 

DISC WRITE ERROR 

FILE NAME ERROR 

FILE NAME USED 



Error Condition 



A checksum error has been encountered from the binary 
input logical device.* 

A disc number was specified that was above the maximum 
for this configuration. 

A disc failure was detected following a read operation 
involving the Master Disc Directory or a space 
allocation map. 

A disc failure was detected following a write operation 
involving the Master Disc Directory or a space alloca- 
tion map. 

The file name from a RESTORE statement does not match 
the one contained in a header record. This message is 
also used when any file name specification does not start 
with an alphabetic character. 

The file name specified for a CREATE or RESTORE function 
is already in the directory. ** 



Revision C 
November 1975 



Table 6-] (Cent) 
Error Message DefiniHons 



Message 



FILE NON-EXIST 
FILE NOT THERE 
FILE SIZE ERROR 
FILE TYPE ERROR 
INVAL FUNCTION 

PACK* ERROR 

ABS BIAS ERROR 

DMS NOT ON FIL£ 

INVALID PDN 

DMS REPLACE 
FATAL CKSUM ERROR 

ALLOC SEC # ERR 

NEW DMS INVALID 

REPLACE DMS? 



COPY TO: 



COPY FROM: 



PACK ZEROED 
INVALID LFN 

ERROR IN USER# 



iiTnr Condition 



The user a«-tempted to delete a file which is not defined in 
the Master Disc Directory.** 

The user attempted tc ^,ave a file which was not present 
in the Master Disc Director. ** 

A zero-negative or nosi-numeric file size parameter was 
specified. 

A file-type parameter was specified incorrectly on a 
CREATE statement. 

A directive statement was encountered with a function 
other than CREATE, DEIfTE, SAVE, RESTORE, DMAP, 
EXIT, CLEAR, REPSYS, SAVEP, SAVPAK, SAVMDD or 
DMAPS. 

The pack number requested was not between 1 and 255 
inclusive. Or was not specified when more than one 
drive is available. 

An illegal (negative) value was detected in a Dump 
statement. 

The file name containing the new DMS for the REPSYS 
command is not available. 

The output device specification for a REPSYS does not 
exist. 

The REPSYS command has successfully been completed. 

Three unsuccessful attempts have been made to read a 
SAVE/RESTORE record. 

An invalid 'start of allocation' sector number has been 
detected in the Create statement. 

The file conJalning the new DMS is incorrect during 
the REPSYS command. 

Message to signify that a request is being made to over 
write the disc resident DMS. * 

The back up copy of the disc resident DMS is about to 
begin. ' 

The new DMS Is ready to be copied onto the current disc 
resident DMS. * 

The pack has been successfully cleared 

Only LFN's 4 & 5 are allowed on REW, ADV, BSF, WEF, 
commands. 

An invalid user number has been detected. 



6-18A. 5 



Revision C 
November 1975 



Message 



EOT DETECTED 



MDD SECTOR FULL 



FILE IN USE 



PASSWORD ERROR 



FORMAT ERROR 



MEM REG ERROR 



REL ORG ERROR 



LF ASSIGN ERROR 



DMS TOO lARGE 



Table 6-1 (Cont) 
Error Messages Definitions 



Error Condition 



The end-of-output-area has been detected during a 
SAVE too disc file. 

The Master Disc Directory sector to which a specified 
file has been assigned by the CREATE routine is-aiready 
full. The user must either change file name such 
that it will be assigned to another sector, or delete 
files such that the required sector is no longer full. 

An attempt was made to delete a file which was in 
use by another program. 

The user attempted to save or delete a file with an 
incorrect password specified. 

A request has been made supplying an improper sequence 
of parameters. 

The size of a program to be dumped was found to be 
greater than the allocated background area. 

An illegal (negative) value was detected in a DUMP 
command. 

An assignment to a device rather than a file was made 
prior to an Establish command. 

The DMS being replaced with a REPSYS command is too 
large to be written in the disc space where DMS currently 
resides. 



* This command requires an OPCOM" /RB" to continue. 
** This command generates a non-fatal error. 



(S-1RA 6 



Revision C 
November 1975 



6-4 LINKCATALOGER 



The DMS Link Cataloger is a restricted background processor that is supplied with 
DMS. Its purpose is to link separately assembled and compiled program modules, subprogram 
modules, and library routines. During the linking process, common addresses are assigned, 
externals and external equivalence requests are satisfied, and stringing is performed. The 
resulting output of the linking processes is a complete program module, that is stored in a format 
that enables the program to be quickly relocated in memory by the DMS loader prior to program 
execution. 

The Link Cataloger provides several methods of generating and executing a program 
that is too large for available core. One of these methods is through the use of CHAIN segments. 
A program that can be broken into several independent parts may use this method. Each part is 
cataloged as a distinct program, called a CHAIN segment. All data that is transferred between 
CHAIN segments is passed through logical files or fhrough common. The Link Cataloger has 
provisions to enable all of these CHAIN segments to share the same common area. Each program 
unit (or CHAIN segment) is executed separately, and when complete, it passes control to the 
next CHAIN segment by use of the System Service CHAIN (see Paragraph 4-7) or by use of the 
FORTRAN CALL CHAIN. 

Another method of conserving core is through the use of overlays. This method is 
often called segmenting, but should not be confused with CHAIN segments. An overlay program 
is made up of several overlay segments and a main segment which is always in core and is known 
as the root. Each overlay segment contains one or more subprograms. These segments are loaded 
into core only when a reference is made tc one of ths subprograms contained within the segment. 
Thus, one or more of these segments may be loaded into the same area of core. The only 
restriction being that the two segments may not be needed at the same time (i. e. , they muy not 
call each other). 

6-4. 1 Overlay Type Programs 

An overlay type program consists of a main segment (called a root) which Is 
permanently core resident during execution and one or more additional segments which are 
loaded into core by a FLIPER routine when they are needed. The FLIPER routine is part of the 
root. This routine is automatically Included into an overlay program. 

The structure of an overlay program is determined by the layout of overlay areas 
within the total program area. The simplest meaningful example consists of a main program 
which calls two subprograms. This example is indicated by the following diagram. 



6-)8A.7 



LOW 
CORE 



HIGH 
CORE 



MAIN PROGRAM 


FLIPER 


A 


B 





ROOT 



OVERLAY AREA 



Figure 6-1. Overlay Program 

In this example, the main program contains calls to each of the subprograms A and B. 
The root of this program consists of the main program and the FLIPER routine. There are two 
segments which may be called A and B. Segment A consists of subprogram A and segment B con- 
sists of subprogram B. Note that segments A and B share the same area of core. This area Is 
known as an overlay area. In this example It is assumed that segment A does not fill up the 
entire overlay area. It is normally true that all segments that share an overlay area are not thje 
same length. Because of this, the length of an overlay area Is determined by the length of the 
longest segment that Is to be loaded into the area. 

The main program In this example defines the base address for the overlay area. 
Because of this, all segments in the overlay area are known as children of the main program. 
And correspondingly, the main program is known as a parent of each of its children. 

A program may consist of more than one overlay area. When more than one overloy 
area exists, each area Is identified by a phase number. Phase zero is that overlay area closest 
to the parent segment. Phase one is the next overlay area; it resides just above phase zero In core. 
Phase two Is the next area, etc. The following diagram is an example of a three phase overlay 
program. 



6-19 



MAIN PROGRAM 


FLIPER 


A 


B 




C 


D 




E 


F 





} 



ROOT 



- PHASE j2f 



PHASE 1 



PHASE 2 



Figure 6-2. MulH -Phase Overlay Program 



In this example, all of the segments A, B, C, D, E, and F are referred fo as children 
of the root. Because of this multiphase structure, It is possible for more than one segment to be 
present in core at one time. For example, the segments A, D and E may all be present at one 
time. Therefore, it is also possible for each of these segments to reference another segment not 
on the same phase level. It Is not possible for segments on the same phase level to reference each 
other. Care should be taken that this Is not attempted. If such a reference Is done indirectly, 
(I.e., A calls E, which calls B) the results are undefined. 

In addition to multiphase overlays. It is also possible for a single segment to be 
broken up Into several overlays. This Is referred to as multilevel overlays. This Is illustrated 
by the following example. 



6-20 



PHASE i3f 
OF A 



MAIN PROGRAM 


FLIPER 


A 


B 


C 


D 


E 


F 


G 










'SWmmiM 







} 



ROOT 



PHASE i3f 
OF B 



PHASE j3^ 
OF ROOT 



Figure 6-3, Multi -Level Overlay Program 

In this example, there is one overlay area associated with the root, this overlay area 
extends from the initial location of segment A to the final location of segment C. This means 
that all of the segments (A, B, C, D, E, F, G, and H) are children of the root, and they are all 
in phase zero of the root. There is also one overlay area associated with segment A, This 
overlay area is phase zero of segment A and extends from the first location of segment C to the 
final location of segment C. Similarly, phase zero of segment B extends from the first location 
of segment G to the last location of segment G. Note, that the definition of phase zero of the 
root includes segments A and B and all of the phases of A and B. Segments C, D and E are 
children of both A (since they are in a phase of segment A) and the root (since they are in a 
phase of the root). 

References between parents and children are allowed. References between two 
segments that are not related as parent and child are allowed only if the two segments are in 
different phases of the same parent segment. Thus in the above example, segments F and G may 
not reference each other, segments C, D and E may not reference each other, and none of the 
segments A, C, D, or E may reference or be referenced by any of the segments B, F or G. 

These two structures, multi -phase and multi -level overlays, may be continued to 
any desired extent. They are limited only by available core. The following example is pre- 
sented as a possible structure available through the Link Cataloger. It is presented without 
explanation only to demonstrate the possible complexity of structure that can be obtained. 



6-21 



MAIN PROGRAM 


FLIPER 


A 


D 


G 


B 


c 


H 


I 


E 


F 




J 


K 


L 




WmlWmi 


ilBiltaiii 


WmMMifimi 




Q 


P 


O 


M 


N 


||||||ii|:'ii|ii;iilil:||||||i 




R 


S 






iiili^isiiisiiiiii^iiiilliiiiisiiii;::^^^ 






;:':::::::';::-:'x;:':ox;:':;:;>:;;;:i;i:;;;W:xx;?o^^ 




iiiiiiililiiiiliiiiiiiiiiiiiiii^^^^ 


wmmm;m 


T 


X 


U 


V 


\A/ 








vv 








Y 


z 


AA 


DD 


EE 


BB 


CC 


FF 


GG 


1;" ,' ■ 








HH 


II 


JJ 


KK 






:;::.::::S::;;::;:s.;.::::i:;;S: ■::■:::;;:::::::};;: 


WM'SiMh 






w# 
















1 



6-4.2 



Figure 6-4. MulM-Phase, MulH-Level Overlay Pfogram 



Link Cataloger Control Statements 



The Link Cataloger is activated In the background area by Issuing one of the 
following Job Control Statements. 

SCATALOG 
$CATGO 



6-22 



Revision B 
March, 1975 



When activated by the $ CATALOG Job Control Statement, a series of input requests 
are made from the Job Control logical device for a set of control statements. Each control 
statement is output to the list output logical device unless both Job Control and List Output are 
assigned to physical device one. These control statements describe the various parameters to be 
associated with the program to be link cataloged and the condition under which the link process 
is to take place. 

The various control statements, their format, and meanings are discussed in the 
following paragraphs. 

TYPE 



The TYPE control statement has the following format: 

BG 
TYPE = FG, PRIV, SAUT, OA, OM, UA, UM, lOA, SEGMNT, LM, DICT, SYSGEN 
RFG STOICT NSAUT NOA NOM NUA NUM NIOA 
RENFG 

The meanings of the various parameters are as follows. 

a. BG Specifies that the program to be cataloged is to be typed as a 

background program. 

b. FG Specifies that the program to be cataloged is to be typed as a 

foreground program. 

c. RFG Specifies that the program to be cataloged is to be typed as a 

resident foreground program. 

d. RENFG Specifies that the program to be cataloged is to be typed as a 

re-entrant foreground program. 

e. PRIV Specifies that the program is to be run in a privileged mode at 

execution time. (Bits 23 of P/MODE of PSA is set to one. ) ** 

f. STRICT Specifies that the program is to be run in a restricted mode at 

execution time. (Bits 23 of P/MODE of PSA is set to zero. ) ** 

g. SAUT Specifies that the program is to be executed with the SAD executive 

interrupt trap enabled. (Bits 22 of P/MODE in PSA is set to zeroi. )* 

h. NSAUT Specifies that the program is to be executed with theSAU executive 

interrupt trap disabled. (Bits 22 of P/MODE in PSA is set to one. )* 

i. OA Specifies that the program is to be aborted if an SAU overflow 

occurs. (Bit 18 of P/MODE in PSA is set to zero. )* 

j. NOA Specifies that the program is not to be aborted if an SAU overflow 

occurs. (Bit 18 of P/MODE in PSA is set to one. )* 

k. OM Specifies that a message is to be output to the operator communica- 

tions device if an SAU overflow occurs. (Bit 19 of P/MODE in 
PSA is set to zero. )* 

'Refer to Paragraph 4-18.2 

6-23 



Revision B 
March, 1975 



s. 



V. 



w. 



NOM 



m. UA 

n. NUA 

o. UM 

p. NUM 

q. lOA 

r. NIOA 



SEGMNT 



LM 



Specifies that no message is to be output if an SAU overflow occurs. 
(Bit 19 of P/MODE in PSA is set to one. )* 

Specifies that the program is to be aborted If an SAU underflow occurs. 
(Bit 20 of P/MODE in PSA is set to zero. )* 

Specifies that the proaram is not to be aborted if an SAU underflow 
occurs. (Bit 20 of P/MODE in PSA is set to one. )* 

Specifies that a message Is to be output to the operator communications 
device if an SAU underflow occurs. (Bit 21 of P/MODE in PSA is 
set to zero. )* 

Specifies that no message is to be output if an SAU underflow occurs. 
(Bit 21 of P/MODE in PSA is set to one. )* 

Specifies that the program is to be aborted if an I/O error occurs. 
(Bit 17 of P/MODE in PSA is set to zero. )* 

Specifies that the program is not to be aborted is an I/O error 
occurs. (Bit 17 of P/MODE in PSA is set to one. )* 

Specifies that the program being cataloged is a program CHAIN 
segment. 

Specifies that the program being cataloged is a "large" module" 
to be dumped relative to some other location than background low 
and therefore the check for crossing the map boundary is to be 
disabled. 



DICT 



SY 



:)GEN 



Specifies that the cataloged program is to be typed such that its 
Master Disc Directory entry is to be loaded in the core resident 
directory table. Refer to Paragraph 3-5. 3. 

Specifies that the two header words normally output by the cataloging 
process are not to be produced. The resulting module contains the 
first program word as the first word on disc. This parameter is 
normally used only in the System Generation procedure to produce 
the DMS load module. Any other situation should not use this 
parameter unless a special circumstance warrants its use. 

NONACC Specifies that the foreground program being cataloged is not to 

generate accounting records when executing. If the program is a 
background program, this specification is Ignored. (Bit 16 of 
P/MODE in PSA is set to one. ) 

* Refer to Paragraph 4-18.4 

All of the preceding parameters are optional and may be specified in any order within 
the statement. If any of the parameters are omitted, then the default values which are established 
are as if the following TYPE control statement were issued. 

TYPE = BG,STRICT,SAUT,OA,OM,UA,UM,AFER 

The equal sign (=) in the format given above is optional any may be replaced with a 
blank. 



6-24 



Revision A 
May, 1974 

Any number of TYPE control statements may be given. If any of the program type or 
mode parameters ore respecified, either within the same statement or on saporate statements, then 
the last encountered specification will be used. 

NAM E 

The t^lAME control statement has the follov/ing format: 

NAME = XXXXXX,p,R, W, D 

The XXXXXX specification is a one to six characters program name that must begin with 
an alphabetic character and must not contain an equal sign (=), comma (,), or blank. Issuing a 
NAME control statement indicates that a permanent file is to be created with the name XXXXXX. 
If no NAME control statement is received, then the output of the Link Cataloger will reside on 
the Go File ('16). The p specification is an optional parameter that specifies the pack number 
on which the program is to be permanently cataloged. 

If an "R", "W", or "D" is entered as an additional parameter, then the corresponding 
read, write, or delete access bits are entered in the file directory entry. These access bits are 
useful only in accounting systems. See Section III. More than one of these bits may be specified. 
If no access bits are specified, then the program can only be referenced by Its creator, 

NOTE 

If the program Is an overlay program, then both 
"R" and "W" access bits must be set in order for 
the program to be executed by other than Its 
creator. 

DNAME 

The DNAME control statement Is Identical In format and function with the NAME 
statement with the following difference. Immediately before creating a permanent program file, 
the specified name Is used to delete the previous version of the program. The previous version 
of the program Is not deleted (and a new program is not created) If any cataloger errors occur 
during the cataloging process. If the previous program does not exist or If the program Is not 
accessible by the current user, then the message, FILE NON-EXIST, will appear on the list -output 
device. In either case, the cataloger will attempt to create a permanent file. If the program 
file cannot be created due to a conflict with another user's program, then the message, FILE 
NAME USED, will appear on the list-output device and the job will abort. Otherwise, the 
catalog process will run to completion. 

ASSIGN 



The ASSIGN control statement has the following format; 

ASSIGN xp=y,xp=y,xp-*y (s) 

The X parameter is an octal logical device number which is assigned to file name y 
or physical device y, or spooled device y. In the case of spooled assignments, the file size may 
optionally be specified. (See Section 6-2. 3). The p specification follov/Ing the logical device 

6-25 



Revision C 
November 1975 



number is optional and, if present, indicates that the assignment is to be permanent and therefore 
cannot be changed by program or operator action. A comma G) may be substituted for the equal 
sign (-) in the above format. 

The Link Cataloger accepts ASSIGN control statements only if the program type has 
been previously specified as a resident or standard foreground Pfogr°m via a TYPE control state- 
ment. Assignments for background programs must be made via the $ASSIGN Job Control state- 
ment. (See Paragraph 6-2. 3). Assignments for re-entrant foreground programs must be made 
through the system service ASSIGN. (See Paragraph 4-13). 

Any number of ASSIGN statements may be issued and any number of assignments may 
be made on any given statement. However, once an assignment has been made for a logical 
device number, another assignment referencing that same logical device number may not be made. 

OPTION 



The OPTION control statement has the following format: 
OPTION=N 



where N may be anyone or more (separated by commas) of the options 16, 17, 18, 20, 22 or 23. 
The equal sign (=) in the format given above is optional and may be replaced with a blank. 

Through the use of this statement, options may be cataloged with a program. In the 
execution of foreground programs, the options used at execution timeare those which were 
cataloged with the program and all others are zeroed. In the execution of background programs, 
the options used at execution time consist of the logical "OR" of the current background option 
word and the options which were cataloged with the program. 

The usage of OPTION settings by standard DMS routines and processors is given In 
Appendix D. 



6-26 



RevisiQn C 
November 1975 



NOMAP 



The NOMAP control sfafemenf specifies that an external table listing is not to be 
output at the completion of the linking process. 



CBASE 

The CBASE control statement has the following format. 
CBASE =x 



The X specification of the statement is an octal address of a common base specifica- 
tion. A blank may be substituted for the equal sign in the above format. Refer to Paragraphs 
6-4. 9 and 6-4. 10 for usage of this statement. 

LIBRARY 

The LIBRARY control statement has the following format. 

LIBRARY=XXXXXX,YYYYYY,ZZZZZZ 

The XXXXXX, YYYYYY and ZZZZZZ specifications are library file names. If the 
library file specified has a password, then the password should follow the file name in parentheses 
(e.g., CAT(DOG)). When this statement is encountered, any previously encountered library 
specifications are lost and the new library list is stored as the current library list. If no LIBRARY 
statement is used, then the current library list consists of the file to which LFN 12 is assigned 
during the cataloging process. 

During the cataloging process, each library is processed in order according to the 
order of their specification on the LIBRARY control statement. Each library is processed 
completely until no more undefined externals can be satisfied, before the next library is processed. 

The word LIBRARY may be abbreviated to LIB and the equal sign may be replaced 
by a blank in the above format. 

NOLIB 

The NOLIB control statement specifies that the current library list is not to be ^ 
scanned to find undefined externals for the program being cataloged. When this statement is 
used for an overlay program, the statement refers only to the segment currently being defined. 

This statement would normally be used to save catalog time when it is known that 
the undefined externals will not be satisfied during the library processing. 

INCLUDE 



The INCLUDE control statement has the following format. 
INCLUDE=XXXXXX,AAAAAA,BBBBBB,CCCCCC 

6 -26 A 



The XXXXXX specification is an include file name. If fhe include file specified 
has a password, then the password should follow the file name in parentheses (e. g. , CAT(DOG)). 
The AAAAAA, BBBBBB and CCCCCC specifications are module Identifiers. These identifiers may 
be external definitions or names (i.e., generated by NAME statements In FORTRAN or Assembly 
Language). If it Is desired to specifically allow only an external definition or a name, then the 
specification should be preceeded by a dollar sign ($) or a period (. ), Identifying an external 
definition or name respectively. 

The function of this statement is to cause the Inclusion of the specified modules 
from the Include file into the program being catalogued. If no module names are specified, 
then the entire file is included; in this case, the INCLUDE control statement functions similar 
to the Job Control Statement $INCLUDE. 

If the program being catalogued is an overlay program, then the module or modules 
specified are included only In the segment currently being defined. 

The word INCLUDE may be abbreviated to INC and the equal sign may be replaced 
by a blank in the above format. 

MODULE 



The MODULE control statement has the following format. 

MODULE=AAAAAA,BBBBBB,CCCCCC . . . 

The AAAAAA, BBBBBB and CCCCCC specifications ore module Identifiers, These 
identifiers may be external definitions or names and should be specified similarly to the identifiers 
on the INCLUDE control statement. 

The function of this statement is to identify selected modules from the Link Ready File 
(LFN 15). When this statement is used, the normal Link Ready processing is modified. Normally 
all modules in the Link Ready File are Included in the program; however, when this statement is 
used, only those modules specified will be Included In the program being catalogued. 

If the program being catalogued is an overlay program, then the module or modules 
specified are included only In the segment currently being defined. If this statement is not used 
during the definition of the main segment (or root), then the root will contain all modules from 
the Link Ready File that are not specified as part of a segment. 

The word MODULE may be abbreviated to MOD and the equal sign may be replaced 
by a blank in the above format. 

SEGMENT 

The SEGMENT control statement has the following format. 

SEGMENT-AAAAAA,BBBBBB,CCCCCC 

This statement defines a specific segment in an overlay program. If this is the first 
SEGMENT statement, then it also defines the program to be an overlay type program. This 
statement terminates specifications for the previous segment. The library list that Is 



6-27 



current when this statement is encountered is used for the previous segment (unless a NOLIB 
control statement was entered for that segment). If this is the first SEGMENT control statement, 
then the previous specifications refer to the main segment (or root). 

Each segment must contain within its defining specifications at least one MODULE 
or INCLUDE control statement. This does not apply to the main segment (or root) since the 
absence of a MODULE control statement for the main segment implies that all unspecified 
modules in the Link Ready File are to be included in that segment. 

The AAAAAA specification is used as the segment name. This specification is 
optional. If it is omitted, then the segment name will appear as blanks on the output listing and 
the segment may not be referenced in another SEGMENT control statement. 

The BBBBBB specification is the name of the parent segment being defined. If this 
specification is omitted, then the parent segment is assumed to be the main segment or root. 
The main segment may also be identified explicitly by ROOT. Except for ROOT, BBBBBB rnust 
have already been Identified on a previous SEGMENT control statement. The BBBBBB speci- 
fication may also be optionally proceeded by one or more asterisks (*). The number of asterisks 
indicate the phase level of the segment. None Indicates phase zero, one asterisk indicates phase 
one, etc. If the parent segment is the main segment, the BBBBBB specification may consist of just 
one or more asterisks. 

The CCCCCC specification is the overlay type of the segment. CCCCCC may b$ 
omitted or It may be one of the following words: STNDRD, NEW or UPDATE. If CCCCCC is; 
omitted, it is assumed to be STNDRD. The overlay type of the segment defines the loading artd 
unloading procedures for the segment. For more explanation, see Paragraph 6-4,5. 

The word SEGMENT may be abbreviated to SEG and the equal sign may be replaced 
by a blank In the above format. 

Figures 6-5, 6-6, 6-7 and 6-8 shown examples of the use of the SEGMENT control 
statement to define several overlay structures. These structures are the same structures that 
were shown in Figures 6-1, 6-2, 6-3 and 6-4. 

NOTE 

The assumption is made that each segment con- 
tains only one module. This module is present on 
the Link Ready File and has the same name as 
the segment. 



6-28 



$CATALOG 
SEGMENT A 
MODULE A 
SEGMENT B 
MODULE B 
BEGIN 



LOW 
CORE 



HIGH 
CORE 



MAIN PROGRAM 




FLIPER 


A 




B 





- ROOT 



- OVERLAY AREA 



Figure 6-5, Overlay Program - Control Stafements 



6-29 



'^^CATALOG 
SEGMENT A 
MODULE A 
SEGMENTS 
MODULE B 
SEGMENT C/ 
MODULE C 
SEGMENT D,* 
MODULE D 
SEGMENT E,** 
MODULE E 
SEGMENT F,** 
MODULE F 
BEGIN 



MAIN PROGRAM 


FLIPER 


A 


B 




C 


D 


./ [. ' \ . ; • : 


E 


F 





} 



ROOT 



PHASER 



PHASE 



- PHASE 2 



Figure 6-6. Multi -Phase Overlay Program -Control Statements 



6-30 



SCATALOG 
SEGMENT A, ROOT 
MODULE A 
SEGMENT B,ROOT 
MODULE B 
SEGMENT C,A 
MODULE C 
SEGMENT D,A 
MODULE D 
SEGMENT E,A 
MODULE E 
SEGMENT F,B 
MODULE F 
SEGMENT G,B 
MODULE G 
BEGIN 



PHASE 
OF A 



MAIN PROGRAM 


FLIPER 


A 


B 


C 


D 


E 


F 


G 






Wiiwm 


:^>^^-^y-!i'::i<^i^-^^i 





y ROOT 



PHASE j2^ 
OF B 



PHASE 
OF ROOT 



Figure 6-7. Multi-Level Overlay Program -Control Statements 



6-31 



SEG A 


SEG I,G 


SEGQ,*D 


SEG X,* 


SEG EE,** 


SEG B,A 


SEG J,*G 


SEG R,Q 


SEG Y/* 


SEG FF,Z 


SEG C,A 


SEG K,*G 


SEG S,Q 


SEGZ,** 


SEG GG,Z 


SEG D 


SEG L,*G 


SEG T/ 


SEG AA,** 


SEG HH/Z 


SEG E,D 


SEG M/*G 


SEG U,T 


SEG BB,AA 


SEG 1I,*Z 


SEG F,D 


SEG N/*G 


SEG V,T 


SEG CCAA 


SEG JJ,*Z 


SEG G 


SEG O/D 


SEG W,T 


SEG DD,** 


SEG KK/Z 


SEG H,G 


SEG P/D 









NOTE 

Only the SEGMENT control statements were shown. The 
appropriate MODULE or INCLUDE control statements would 
need to be added to actually catalog this program. 



MAIN PROGRAM 


FLIPER 


A 


D 


G 


B 


c 


H 


, I 


E 


F 




J 


K 


L 






BT. \ ^--T^ 






Q 


P 


o 


M 


, N 


.■ : ■■ " 




R 


s 
















:...:.;■ v;;:;;::;;;;:;:;:;^^^^^^^^^^^^ 




T 


X 


U 


V 






;:::::;:>:::::":":":;:::;:;:;:;x;:i io:;:;:;:;:;::; 




w 


9MMMimS 






Y 


z 


AA 


DD 


EE 


BB 


cc 


FF - 




GG 


x^ii^^: 




.::v:v:;:v:;;;;v'™!'l:-;';M!'!!:-:-x::;::::;;:;[;:;:y:: 


y^^^W^^^yy^:^^ 


WM'M^^t^i 




HH 


II 


JJ 


KK 


WmBIISMmM 




;^-;'x:;.-:-:-:'i''-:^'^>>:y-:o,v:^':-:-:-:---;--':':>: 




fJ-WvS;: 


"— 


f*:;;;:;:;;';;;;;-:; 






■MiiiM 










.■; ^iyiim 



Figure 6-8. Multi-Phase, Multi-Level Overlay Program -Control Statements 



6-32 



Revision B 
March, 1975 



FLIPER 



The FLIPER control statement is useful only during the cataloging of an overlay program.. 
It may appear anywhere before the BEGIN control statement In the absence of this statement, 
the only external references between segments are through the following instructions: BLL, B5L, 
BLI, BU, and BLK. The exception is from child to parent, since this external reference will 
never require the loading of a segment. If the FLIPER control statement is used, then all 
references between segments are allowed, and the assumption is made that the user has made 
allowances for non-standard external references. 

RESTRT 

The RESTRT control statement is a special purpose statement designed for system gener- 
ations. Its effect is to cause the link cataloger to input additional control Pffmeters and restart 
the cataloging process at the completion of the cataloging of the current module. When this 
restart is performed, the logical file 15 position is not changed and all previously encountered 
external definitions and external equivalence values are saved to be available to the next 
module The effect Is to allow more than one program to reference the same set of external 
definitions and equivalences. The programs to be cataloged via this process must all be on 
logical file 15; separated only by a single end-of-flie mark between each program. Any number 
of programs may be cataloged together via use of multiple RESTRT parameters. 

BEGIN 

The BEGIN control statement indicates that no more Link Cataloger control statements 
follow and that the linking and cataloging process is to begin. This statement may be omitted 
since the cataloging process will also begin on encountering an EOF on command input. (Reading 
the next JOB CONTROL statement will return an EOF status and initiate cataloging. ) 

6 -4. 3 Link Cataloging Process 

The link cataloging process consists of rewinding the Link Ready File (LFN 15) and 
linking all programs and subprograms residing on this file until an End-of-File is encountered. 
If unsatisfied externals remain, then the library file will be rewound and searched for the unsat- 
isfied external requests. If, while passing through the library file, all requested externals are 
satisfied, the linking process terminates and cataloging begins. If an End-of-File Is detected 
on the library file when unsatisfied externals still exist than a determination Is made as to whether 
or not at least one external was satisfied during the most recent pass over the library file. If at 
least one external was satisfied, the library file is rewound and the process Is repeated. If no 
externals were satisfied at the completion of a pass over the library file, then the second library 
file (as specified on the LIBRARY control statement) Is processed In a similar manner. When the 
last library has been similarly processed, the linking process terminates and the cataloging pro- 
cedure begins. Any unsatisfied external requests are replaced by a BLU $ABORT. 

An exception to this Is the external "PG::HI". If this external is referenced In the 
module being cataloged and Is left undefined at the termination of library processlrjg; then the 
program high location is used as the definition of $PG::HI. This location is the first location 
beyond the entire program, Including common and overlay segments. 

The cataloging procedure consists of determining whether a permanent or non-permanent 
program file is to be created. If a NAME control statement was issued, then the output of the 
link cataloger which resides on the System GO file (LFN 16) Is copied to a permanent file having 
the name specified on the NAME control statement and a password of GORP. If a NAME control 
statement was not issued, then the type and memory requirement specification of the System GO 
File is redefined in order that the linked program may be loaded and executed when the Link 
Cataloger relinquishes control of the system. 

6-33 



If the Link Cataloger is IniMated by the $CATGO (CATalog and GO) Job Control 
statement, then the link cataloging process begins immediately as if the following control 
statements were issued. 

TYPE=BG,STRlCT,SAUT,OA,OM,UA,UM,AFER 
BEGIN 

Upon completing the link cataloging process, control will be passed to the System 
Loader. The resultant load module which was produced by the Link Cataloger will then be 
loaded and executed. 

6 -4. 4 Link Cataloging Overlay Type Programs 

The link cataloging process for overlay programs consists of several steps. The first 
step consists of rewinding and processing all programs and subprograms on the Link Ready File 
and on each of any specified Include files. In addition, the entire file FLIPER with the password 
SYSTEM is included into the root; this file contains the FLIPER routine. The processing of each 
module consists of determining which segment each module belongs to. If the module is part of 
the main segment (or root), then it is linked immediately. If the module is part of an overlay 
segment, then the module Is processed only to determine its length and any externals which are 
referenced or defined within it. The length of the module is then added to a length counter for 
the appropriate segment. 

When all Include files have been processed, then the external table is examined to 
find all undefined externals. If an undefined external is found, an attempt is made to define it 
through a definition in another segment. If no definition is found or the reference between 
segments is not legal, then the external is left undefined, with the assumption that it will be 
defined within the library. 

During the library processing, a determination Is again made as to which segment a 
library module belongs. If a library module defines an unsatisfied external in two or more 
segments, then this module will be included in each of the segments. If this Is not desired, then 
the library should be explicitly included in the parent of these segments (see INCLUDE). Again, 
only length and external information is obtained for modules that are within a segment. 

When library processing Is complete, the main root module is finished up. Common 
Is allocated and segment locations are allocated. A link map of the root is output if requested. 

Then, each segment is cataloged separately. Each module within the segment Is 
accessed randomly by a relative record address and the segment is cataloged. After each 
segment, the link map for the segment is output if requested. 

6-4.5 Execution of Overlay Type Programs 

The program file of an overlay program consists of several relocatable absolute 
modules. There Is one such module for each segment (root and overlay) In the program. In 
addition, there is a reserved area for each overlay segment. This reserved area is used to save 
a copy of the segment after it has been relocated so that on subsequent loads of the segment, 
it can be reloaded without relocation and thus It can be reloaded faster. 



6-34 



When l-he program begins execution, logical file 77 is assigned to the program file. 
This assignment must not be changed during execution of the overlay program, since the loading 
and unloading of segments takes place through LFN 77. 

The execution of an overlay program when an overlay is necessary takes place as 
follows. When a reference is made from one segment to an external in another segment (which 
Is not a parent), the address actually referenced is in the FLIPER table. This table is automa- 
tically created by the Link Cataloger when it is determined that an overlay type program is 
being catalogued. An entry exists in the FLIPER table for each external which is referenced 
in another segment from that in which it is defined (except for child to parent references). This 
entry appears as follows. 

AAAAAA BSL SFLIP:! 

DAC BBBBBB 
DAC SEGMENT 

AAAAAA is the external address that is actually referenced. BBBBBB is the actual 
entry address of the routine, when the segment is loaded. FLIP:1 is an entry point in the FLIPER 
routine that loads the segment. And SEGMENT is the address of an entry in the FLIPER table 
that contains Information needed to load the segment. If AAAAAA Is referenced by a BSL 
instruction, then the entry appears as follows. (FLIP:2 is the FLIPER routine entry point used to 
process BSL calls. ) 

AAAAAA 

BSL <^FL1P:2 

DAC BBBBBB 

DAC SEGMENT 

When called, the FLIPER routine will load the segment in which the requested external 
is defined. The FLIPER routine will also load all of the parents of the requested segment. If 
any of these segments that are to be loaded are already present In core, then the load process 
Is bypassed. If the segment Is not present, then all segments that are present and are partly or 
wholly within the area to be overlaid will be unloaded. When this process is complete, all 
registers (including the condition register) are restored, and the segment Is entered at the 
actual external address requested. In the special case of a call by a BSL, the return address 
and condition are stored at the actual external address requested; therefore, making the FLIPER 
processing transparent to the segment. 

In some special cases, it may be desirable to cause a segment to be loaded without 
directly calling it. This function may be performed by the following calling sequence. 

TLO SEGMENT 
BSL SFLIP:3 

This call will result In the loading of the specified segment, and all parents of the 
specified segment. Because of this and other system requirements, the following list of externals 
may not be used when cataloging an overlay program: FLIP:0, FLIP:1, FLIP:2, and FLIP:3. 
FLIP:0 is the first location of the FLIPER table and is used by the FLIPER routine to enable 
loading of all parents of a specified segment. 

The actual process of loading and unloading a segment is dependent upon the type of 
segment. In all cases, the initial load of a segment Is done through the System Loader. The 
System Loader loads and relocates the segment into the appropriate overlay area. Subsequent 
loads are done with a single read fiom the reserved area of the program file for Hie requested 
segment. 

6-35 



For a STNDRD (see SEGMENT control statement) overlay segment, the first unload 
request for the segment results in a single write of the segment to the reserved area of the 
program file for the segment. Subsequent unload requests are ignored, and the segment status 
is flagged so that following load requests cause the segment to be read in. 

For a NEW (see SEGMENT control statement) overlay segment, the initial load of 
the segment is immediately followed by an unload to the reserved area of the program file. All 
standard unload requests result only in flagging the segment status so that the segment will be 
read in when next requested. The distinction between NEW and STNDRD segments is that data 
modified during the initial load of the segment will be re-initialized during a reload of a NEW 
segment, and will remain in the modified state during all reloads of a STNDRD segment. 

For an UPDATE (see SEGMENT control statement) overlay segment, each unload 
request for the segment will result in a single write of the current segment to the reserved area 
of the program file for the segment. Thus data modified during any execution of a segment 
module will remain modified for the next reload. It should be noted, that for any significant 
number of overlays, an UPDATE segment will result in approximately twice as many disc accesses 
as a STNDRD or NEW segment. 

6 -4. 6 Link Cataloger Output Format 

As the linking process proceeds, an Internal buffer is used to accumulate the program 
being processed. Whenever this buffer is filled, it is output to logical device 16 which must 
have been assigned to a disc file. As each program word is placed in this buffer, a corresponding 
relocation code is placed in the relocation vector array. This code specifies to the DMS system 
loader whether the word is to be relocated or not, and if so, whether the relocation is to be 
within a 15 or 16 bit address field (refer to Figure 6-9). 

When all linking functions have been performed, the relocation vector array will be 
output behind the program in fixed word length records consisting of 1 12 words. 

For background programs the DMS System Loader reads the program into memory a$ a 
single record. The relocation vectors are then read, sector by sector, and the program relocated. 
Foreground programs are loaded with one disc access; the program body is read into the area 
allocated for the program, and using the restart feature of the disc ABC channel, all of the 
relocation vectors are read into a dynamic core buffer. After relocating the program the 
dynamic core buffer is deallocated. The size of the program body read Into core Is the pro- 
gram plus 2 additional words for background and re-entrant foreground progrcm and the program 
plus 114 additional words for foreground programs. The relocation bias used by the DMS System 
Loader will correspond to the address of the first word of the program minus 2 for 1 14 for back- 
ground and foreground programs, respectively. 



6-36 



PROGRAM WORD 1 




PROGRAM WORD 2 


PROGRAM WORD 3 


PROGRAM WORD 4 


PROGRAM WORDS 


PROGRAM WORD 6 


__ 



PROGRAM WORD n-2 



PROGRAM WORD n-1 



PROGRAM WORD n 




NOTES: RC=two-bi1- relocation code: 

IF RCOO, then the corresponding program word is not to be relocated. 

RC=01, then the corresponding program word is to be relocated In a 15-bit 
address field. 

RC=10, then the corresponding program word is to be relocated in a 16-bit 
address field. 



Figure 6-9. Link Cataloger Output Format 



6-37 



6-4.7 Link Cataloging Background Programs Accross the 32K Boundary 

Provision is made in the Link Cataloger for automatically creating background load 
modules that will cross the 32K memory partition. If during the linking process it is deterrrj.ned 
that a subroutine will cross the 32 K boundary when loaded Toy the System Loader, then the Imk 
cataloging process will be restarted for that subroutine. The restart procedure is such that the 
subroutine will reside at '100000 when loaded. (Note that the Link Cataloger is able to 
determine boundary crossing since all background programs are loaded at the same memory 
location. ) When the final load module file is created by the Link Cataloger, the prograrn will 
be typed as "ABSOLUTE BACKGROUND". The significant difference between non-absolute 
and absolute background programs is that it will be necessary to re-cata og absolute background 
programs if a new System Generation is performed. This is because the background low memory 
address will generally change; therefore, the absolute address will not be valid under a new. _ 
system This checking is disabled by entering the "LM" option on the "TYPE" statement, aljowmg 
the user to catalog large background programs and later dumping them for execution at another 
address. 

6 -4. 8 Link Cataloger Table and Buffer Allocation 

In order to build the program and its associated relocation vector array on the System 
GO File, it is necessary that the Link Cataloger be provided with working storage The entire 
area between the end of the Link Cataloger (which is a background processor) and background 
high is utilized. This available space is partitioned into two regions, one in which the program 
or portion of the program is built, and the other where the external table and relocation veC^tor 
array are built (refer to Figure 6-10). A determination of where this partition is to be located 
in the available background area is made according to the following rules. 

A An initial relocation vector array and external table area consisting of 

2000 locations is assigned if at least 1 12 locations for the program work 
buffer are available. If there are not 112 locations for the work buffer 
when the table area Is 2000 locations, then a work buffer area of 112 
locations is assigned and the remaining area Is assigned to the table region. 

B. If during the Link Cataloging process. It is determined that the re- 

location vector array is about to overlap the external table, then 
the following occurs. The current work buffer is output to the 
System GO File. The table area is increased by 1000 locations if 
there will be at least 1 12 locations left for the work buffer, other- 
wise the table area is set to the entire available area less 1 12 
locations. Then appropriate Internal parameters are recalculated, 
the external table is moved down to the new beginning location of 
the table area, and the cataloging process continues. 

The formula for determining the amount of storage required to contain the relocation 
vector array is as follows. 

Array Size = program size/12 

The formula for determining the amount of storage required to contain the external 
table is as follows. 



6-38 



External table size - 12+E+C+Q+I 

where: E = (number of external entries. '' (overage size of entry (^4))) 

C= (numbers of common block names)* 3+2 * (distinct number of common 
variables) 

Q= (number of external equivalence definitions) *4 

I = (number of internal string requests) *2 

The minimum size of the program w/ork buffer is 1 12 locations, however, the time 
required for the link cataloging procedure will be considerably lessened if larger amounts of 
storage are available. 



FOREGROUND AREA 



Vector ▼ Array 
VECTOR ARRAY AND TABLE AREA 



External T Table 



t- 



WORK BUFFER TO 
BUILD PROGRAM 



LINK CATALOGER 



RESIDENT SYSTEM 



Physical Memory High 



Background High 



Background Low 



Physical Memory Low 



Figure 6-10. Link Cataloger Table and Buffer Allocation 



6-39 



6-4. 9 Common Memory Allocation 

One of the design features of the Link Cotaloger is that the common region (which is 
always assigned above the program) is automatically compressed to the first available location 
following the user's program. This permits the Link Cotaloger to define (for the system Loader) 
the smallest possible program memory requirements, since the common region is normally 
considered as being part of the program. If however, a CBASE control statement has been 
issued, then the start of the common region will be assigned to the relative address on the 
control statement and be built upwards. The address on the CBASE control statement is always 
relative to the actual program and is independent of the program type (background or fore- 
ground). 

In overlay type programs, the common is normally compressed to the first available 
location following the main segment (or root) and all overlay segments. If however, a CBASE 
control statement has been issued, then the start of the common region will be assigned to the 
relative address on the control statement and be built upwards as for a non-overlay type program. 
The segments will be allocated as much as possible between the program and the common area, 
with the segment overlay areas which are too large allocated above the common area. 

6-4. 10 Link Cataloging Program CHAIN Segments 

Size and common allocation are the main considerations in Link Cataloging program 
CHAIN segments. Since the primary method of argument passing between CHAIN segments is 
through common, it is important that the first CHAIN segment specifies the common region as 
being part of the program. (This occurs automatically unless otherwise specified. ) This is 
necessary if the program is a foreground program, so that the proper memory requirements are 
defined; or if the program contains BLOCK DATA, so that the common area is initialized 
properly. It is equally important that all other CHAIN segments not include the common region 
as part of the cataloged module since to do so would cause the common region to be destroyed 
when the CHAIN segment is loaded for execution. To prevent the inclusion of common as part 
of the CHAIN segment, a SEGMNT parameter would be specified on the TYPE control statements. 
Because CHAIN segments are always loaded at the address of the first CHAIN segment, pro- 
vision must be made to insure that the common region is at the same address relative to each 
program CHAIN segment. This is done by issuing a CBASE control statement as each program 
CHAIN segment is cataloged. The relative address specified on the control statement should 
be identical for each CHAIN segment. If some or all program CHAIN segments do not use 
common storage, then care must be taken to ensure that the first program CHAIN segment is 
the largest one of the set. 

NOTE 

The function of program CHAIN segments to 
provide program overlay capabilities is com- 
pletely independent of the overlay type pro- 
gram discussed in Paragraph 6-4. 1. Similarly, 
the TYPE=SEGMNT control statement is un- 
related to the SEGMENTcontrol statement. How- 
ever, it should be noted, that a program CHAIN 
segment may be an overlay type program. 



6-40 



Revision A 
May, 1974 



6-4. n Link Catalog Map 



Upon successful compleHon of the linking process, a listing of the Link Cataloger 
external table will be output to the List Output logical device (06) unless a NOMAP control 
statement was previously issued. The map will consist of the program name (if any) followed 
by two side-by-side columns of external, external equivalence, common, and system names 
and values which will appear in alphabetic and numeric sequence, respectively. 

The format of the Link Map is as follows. 

P . NAME - LLLLLL 

XXXXXX YYYYYY ZA XXXXXX YYYYYY ZA 
XXXXXX YYYYYY ZA XXXXXX YYYYYY ZA 

where: LLLLLL is the name of the program (as defined by the parameter on the 
NAME control statement). 

XXXXXX is the external, external equivalence, common block name, 
or catalog parameter. 

YYYYYY is the assigned octal memory location or value. 

Z is a single character identifier which may be one of the following: 

1) (blank) - indicates that the XXXXXX name is a Link Catalog 
parameter. 

2) C - indicates that the XXXXXX name is a common block. 

3) S - indicates that the XXXXXX name is an external. 

4) ^ - indicates that the XXXXXX name is an external equivalence 
definition. 

A is a single character identifier which may be one of the following: 

1) (blank) - Indicates that the XXXXXX name was singly defined. 

2) M - Indicates that the XXXXXX name was encountered more than 
once. I.e., has a multiple definition. 

3) U - indicates that the XXXXXX name was undefined. In the case of 
external equivalences, the "U" indicates that at the time of the first 
external equivalence request, the name XXXXXX was not defined. If 
this occurs, the value of the external equivalence Is set to zero, and 
subsequent definitions (if any) of XXXXXX are ignored. 

The Link parameters that are passed back to the operating system also appear as an 
XXXXXX name with a special format. The first character of the XXXXXX name of a link para- 
meter is a special character ("*" or ". "). These names and their meanings are as follows: 

*LOW The YYYYYY value associated with this name Is the relative low memory 

address of the program. 

*HIGH The YYYYYY value associated with this name Is the relative high memory 
address of the program, If the program contains references to common, 
then this address will be that of the highest element within the common 
region. (This is not true when a SEGMNT parameter is given on a TYPE 
control statement. ) 

*START The YYYYYY value associated with this name is the relative starting 
address of the program. 

6-41 



Revision B 
March, 1975 



. BCOMM 
.PASS 



*P. END 



*C. END 



*STRT n 



The YYYYYY value associated with this name is the lowest address of 
blank common if defined in the program. 

The YYYYYY value associated with this name is the number of passes 
through the Library File necessary to satisfy external requests. If this 
value is greater than one, then the modules on the library file are not 
ordered or more than one library was processed. 

The YYYYYY value associated with this name is the relative high 
memory address of the program. This address does not include common 
blocks, and is provided only when there are common blocks, and 
TYPE SEGMNT is not used. 

The YYYYYY value associated with this name is the relative high 
memory address of the common area of a program. It is provided 
only when there ore common blocks and TYPE^SEGMNT Is used. 

The YYYYYY value associated with this name is the nth encountered 
"starting address" after the first. The starting address actually used 
is " * START " and is the first such address encountered. The 
presence of these entries indicates additional "main" programs. If 
this occurs, care should be taken to ensure proper functioning. More 
than 9 additional "starting addresses" are ignored. 

If the program being catalogued is an overlay type program, then the memory map 
printed for the program is split into several parts. The first part corresponds to the main segment 
(or root), and appears as a single program. However, only externals which are defined or 
referenced in the main segment (or root) ore printed in the first part of the map. Each additional 
part of the map corresponds to a particular segment. Each of these parts is headed by a line 
with "SEGMENT" and the segment name on it. The map for each part lists only these externals 
which are defined or referenced in the segment. Only two link parameters appear in these 
sections. These are the high and low address In the segment, identified by *SG. HI and *SG. LO 
respectively. 

NOTE 

Some of the externals defined in the segments 
may appear with addresses that are not within 
the segment. This is because the externals are 
referenced outside of the segment and a refer- 
ence to them may cause an overlay to take 
place. Thus, the entry to these externals Is 
made through the FLIPER table. 



6-4. 12 



Code Processing 



The following paragraphs describe some of the more important codes that are processed 
by the Link Cataloger. The processor(s) that produces the code is identified along with usage 
consideration and the action taken by the Link Cataloger. 



6-42 



March, 1975 

External DefiniHon 

The Macro Assembler general-es an exfeMial definition for each XDEF pseudo -operation 
encountered. The FORTRAN IV compiler generates external requests when the SUBROUTINE 
or FUNCTION statements are processed. The code generated defines an address that is to be 
associated with an external name. The name may be identical to an external equivalence or 
Common Block name without conflict. If external definitions of the same name are encountered 
in subsequent modules, then linkage will be made to the definition that was encountered first. 
The module that contains the duplicate external definitions will not be loaded if it is encountered 
on the Library File unless it also contains another definition that was previously requested but not 
satisfied. If the module that contains the duplicate external definition resides on the Link Ready 
file, then It will be unconditionally loaded. If the module is loaded, then any external names 
that are defined more than once will be noted on the Link Map. 

Externol Request 

An external request Is generated by the Macro Assembler when an operand Is 
encountered that is preceded by a dollar sign ($). External requests are also generated by the 
FORTRAN IV Compiler any time subroutines or functions are determined to be external to the 
program. External requests are also identified as to whether they are to be considered un- 
conditional and conditional requests. Conditional external requests (denoted in assembly 
language by preceding the operand by two consecutive dollar signs) are satisfied only if the 
requested name was previously unconditionally requested. If the name was not unconditionally 
requested prior to the conditional requests, then a BLU instruction to the system service routine 
SABORT will be substituted for the requesting instruction. 

System Service Request 

A system service request is generated by the Macro Assembler when the instruction 
BLU SXXX Is encountered. 

If the requested external name Is found in the Link Cataloger's External Name table 
(indicating that an external definition having that name has already been loaded), then a BLL 
instruction Is inserted and the linkage is satisfied. If the requested external name is not found 
In the Link Cataloger's Name table and Is in the DMS System Service table, a BLU Instruction 
to the associated dedicated memory location is Inserted and the linkage is satisfied. If the 
requested external name is not found In either table, a BLL Instruction Is loaded and the external 
name is entered in the Link Cataloger's External Name table. For the linkage to be satisfied, 
the requested external name must follow in a module residing on the Link Ready file or the 
library file. 

This function permits linkage to DMS System Services or user defined routines 
irrespective of whether a particular service is resident within the operating system or on the 
Library File. Services may also be added or deleted from the resident portion of the operating 
system without re-assembling or compiling the requesting program. 

External Equivalence Definition 

External equivalence definitions are generated by the Macro Assembler when the 
pseudo -operation "XEQV" is encountered. This definition defines a 24-bit constant which is 
to be merged with the corresponding external equivalence request when encountered. This 
function Is useful in externally defining data constants, channel/unit numbers or input/output 
instructions, etc. The external equivalence name associated with the definition may be identical 



6-43 



Revision A 
May, 1974 

to an external or common block name without conflict. If multiple equivalence definitions of 
the some name are encountered, the first one vyill be used as the definition and all subsequent 
definitions of the same name are encountered, the first one will be used as the definition and all 
subsequent definitions of the same name will be Ignored. However, the fact that the name was 
defined more than once will be noted on the Link Map. External equivalence definitions are; 
similar to Common definitions in that the external equivalence definition must precede any 
external equivalence requests. 

External Equivalence Request 

External equivalence requests are generated by the Macro Assembler when an operand 
is encountered that is preceded by a number sign {^). This request Indicates that the value 
associated with the previously encountered external equivalence definition of the same name is 
to merged (24-bit OR) with the requesting frame. If this is not done, the external equivalence 
label will be flagged as undefined, whether or not a subsequent definition is encountered. 

Common Definition 

A common definition is generated by the Macro Assembler when the pseudo -operation 
COMM is encountered, or the FORTRAN IV compiler when a COMMON statement is received. 
The common definition specifies the size of the common area to the Link Cataloger so that 
subsequent common requests may be assigned an address. The definition of the overall size of a 
labeled common block must be identical In all programs and subprograms In which it is defined. 
However, blank common areas defined in a set of programs and subprograms that are to be linked 
do not have to correspond In size. The common block name associated with the common de- ; 
finition may be identical to an external name or external equivalence name without conflict.^ 



Common Request 



A common request is generated by the Macro Assembler or FORTRAN IV Compiler 
whenever a reference Is made to a variable which has been declared to be in common. The 
request carries the displacement from the common block name with which it is associated. For 
example. If variables A, B, and C are declared to be In common (labeled or blank), then their 
displacement from the block name is 0, 1, and 2 respectively. Common requests are distinguished 
as to whether the address size Is 15 or 16 bits. Hence, 15-bIt common requests must reference 
only those variables defined in the same memory bank as the request. 

Name Definition 



A name definition is generated by the Macro Assembler when the pseudo -operation 
"NAME" is encountered, or by the FORTRAN IV Compiler when a "NAME" statement is received. 



Source Program Error 

A source program error code is generated by the Macro Assembler and the FORTRAN 
IV Compiler when an irrecoverable error is detected. This code will immediately terminate 
the link cataloging process and an error message will be output. 



6-44 



Commo n Origin 

A common origin code is generated by the FORTRAN IV Compiler when a BLOCK 
DATA subprogram is encountered. It defines a displacement from a common block name where 
data is to be loaded. 

END Code 

An END Code is generated by the Macro Assembler and the FORTRAN IV Compiler 
when an END statement is received. This code defines the end of the link module currently 
being processed and causes the Link Cataloger to prepare to accept another module. 

END-J ump Relative Code 

An END-Jump relative code is generated by the Macro Assembler when an END 
pseudo-operation is received which contains a relative operand expression. An address is 
associated with this code which defines to the Link Cataloger the relative starting address of 
the program being link catalogued. If more than one END-Jump relative code is received, 
then the last one encountered will be used. 

END-Jump Absolute Code 

An END-Jump absolute code is generated by the Macro Assembler when an END 
pseudo -operation is received which contains an absolute operand expression. This code must 
not be presented to the Link Cataloger since only relocatable programs are processed. 

Relative Origin 



A relative origin code is generated by the Macro Assembler when the pseudo-operations 
RORG and BLOK are encountered and by the FORTRAN IV Compiler when DIMENSION 
statements are received. This code resets the relative location counter within the Link Cataloger. 

Absolute Origin 



An absolute origin code is generated by the Macro Assembler when the pseudo- 
operation AORG or a BLOK pseudo -operation which was preceded by an AORG. This code 
must never be presented to the Link Cataloger since only relocatable programs are processed. 

ENDS Record 



An ENDS record is generated by the Macro Assembler or the FORTRAN IV Compiler 
when an END$ statement is received. This record is Ignored if option bit 6 Is not set. 



6-45 



Revision B 
March, 1975 



6-4. 13 Input and Code Placement 

An input record to the Link Loader consists of 55 words: six 9-word subfields; and a 
one-word, hash-total checksum. The first word of each 9-word subfield contains eight 3-bit 
loader codes that determine the action to be taken for each of the following eight words In the 
subfield (refer to Figure 6-1 1). Some codes require the use of multiple words to describe a 
particular function in which case the codes corresponding to the extra words are set to zero. 
If word 1 and word 55 of the input record are set to a -1 and all other words within the record 
are set to zero, then the record is considered to be an END$ record. 

Table 6-2 lists the various codes which are accepted by the Link Cataloger and 
Table 6-3 lists the special action codes. 

Table 6-2. Link Loader Input Codes 



Code Bit 
Configuration 


Identification and Placement 


000 


Direct Load. 


001 


Memory Reference 15-bit. 


010 


External Definition - the first word contains the address to be 
associated with the name which follows in the next two words. 


on 


External Request - the first word is the request frame with the 
following bit settings: 




BO = 0: 15-bit request. 

BO = 1: 16 -bit request 

Bl = 0: Unconditional request. 

Bl = 1: Conditional request. 




The request name follows within the next two words. 


100 


Memory Reference 16-bit. 


101 


Common Request 15-bit - the address filed in the first word contain^ 
the displacement from the block name specified in the next two words. 


no 


Special Action bits 16 through 20 determine the action to be taken 
(Refer to Table 6-3). 


111 


Common Request 16-bit - the address field in the first word contains 
the displacement from the block name specified in the next two words. 



6-4<S 



Table 6-3. Link Loader Special Action Codes 



Special Action 
Bit Configuration 


Identification and Placement 


00000 


ORG Absolute - bits 0-15 of the word contains the absolute address. 


00001 


ORG Relative - bits 0-15 of the word contains the relative address. 


00010 


END 


00011 


END->Jump Absplute - bits 0-15 contains the absolute address to be 
passed as the starting address. 


00101 


Internal String Back - bits 0-15 contain the address of the first link 
in the chain to be strung. 


oono 


External String Back - bits 0-15 contain the address of the first link 
in the chain; the next two words contain the external name. 


00111 


Name Definition - the next two words contain the name to he 
associated with the program. 


01000 


Common Definition - bits 0-15 contain the size of the block; the 
next two words contain the block name. 


01001 


Common Origin - bits 0-15 contain the displacement from the block 
name contained in the next two words into which data is to be loaded. 


01010 


Source Program Error. 


01011 


System Service Request - the next two words contain the requested 
external name. 


01101 


External Equivalence Definition - the next two words contain the 
name and the following contains the equivalence value. 


OHIO 


External Equivalence Request - the next two words contain the name 
and the following contains the instruction into which the request 
value is "OR"ed. 



6-47 



24 Bits 



Word 1 


9 

LU< 

UL 
CO 

to 

CM 

9 
a. 

U- 
CQ 

Z) 
in 

>o 

9 

UJ< 

u. 
00 


Code 1 


Code 2 


Code 3 


Code 4 


Codes 


Code 6 


Code 7 


Code 8 


Word 2 


Load word 1 


Word 3 


Load word 2 


Word 4 


Load word 3 


Word 5 


Load word 4 


Word 6 


Load word 5 


Word? 


Load word 6 


Words 


Load word 7 


Word 9 


Load word 8 


Word 10 


Code 1 


Code 2 


Code 3 


Code 4 


Code 5 


Code 6 


Code 7 


Code 8 


Word 1 1 


Load word 1 


Word 12 


Load word 2 


Word 13 


Load word 3 


Word 14 


Load word 4 


Word 15 


Load word 5 ^^ . -~-__^ 










■^' ■"^•n^ 


■ 






Word 50 


Load word 4 


-^ ^ 


Word 51 


Load word 5 


Word 52 


Load word 6 


Word 53 


Load word 7 


Word 54 


^ Load word 8 


Word 55 


Checksum Word = Sum of words 1-54, Ignoring Overflow 



Figure 6-11. Code Placement Format 
6-48 



6-4. 14 Link Cataloger Error Message Codes 

During the linking process, extensive checking is performed to ensure ci proper program 
load. If an error condition is detected, a message will be output to the list output logical 
device (06). The format of the error message Is as follows. 

LCT XX a'ABSOLUTE YYYYYY, RELATIVE ZZZZZZ IN MODULE AAAAAA**LINK ABORTED** 

where: XX is a two-decimal digit error code. (The meanings of the error codes 
are given in Table 6-4. ) 

YYYYYY is the memory address relative to the program (main plus sub- 
routines) in which the error occurred. 

ZZZZZZ is the qddress relative to the program module being linked in 
which the error occurred. 

AAAAAA is the last encountered external definition or name definition. 
If no external or name definitions were encountered, "**MAIN" will 
be output. 

For some of the error messages listed in Table 6-4, the module name AAAAAA could 
possibly be deceptive; hence, caution should be exercised. 

Table 6-4, Error Messages 



Number 


Meaning 


1 


Invalid control statement. 


2 


A "TYPE" control statement was encountered after an ASSIGN control 
statement. 


3 


An invalid parameter was encountered in the "TYPE" control statement. 


4 


Invalid delimiter following a parameter on a control statement. 


5 


An end -jump -relative code was encountered within an overlay segment. 


6 


File access specification on a "NAME" control statement is not "R", 
"W", or "D". 


7 


The first character of the specified name on a "NAME" control statement 
was not alphabetic. 


8 


An invalid common base specification was made on a "CBASE" control 
statement. 


9 


An invalid pack number specification was made on a "NAME" control 
statement. 


10 


An "ASSIGN" control statement was encountered with either an implied 
or stated program type of background or re-entrant foreground. 


11 


An invalid logical device number was encountered on an "ASSIGN" 
statement. 



6-49 



Revision A 
May, 1974 



Table 6-4. Error Messages (Cont'd. ) 



er 



Numb 
12 

13 

14 

15 

16 

17 
18 
19 
20 
21 

22 

23 

24 

25 

26 
27 
28 

29 
30 
31 

32 
33 
34 



Meaning 



A logical device number was assigned to more than one physical device 
or file name. 

A physical device number of file name was encountered on an "ASSIGN" 
control statement that was un-recognizable. 

A physical device number of zero or greater than '77 was encountered 

on an "ASSIGN" control statement. 

The number of assignments made has exc-eeded the available room in the 

File/Device control block. 

Character position 80 has been reached on a control statement without 

having encountered a statement terminator. 

Invalid link cataloger input code from the binary input stream. 
An absolute origin code was encountered on the input stream. 
An end -jump absolute code was encountered on the input stream, 
A source program error code was encountered on the input stream. 

Logical device '16 is assigned to a blocked disc file. The GO file must 

be unblocked. 

A labeled common block name was encountered that was not the same size 

as previously encountered block of the same name. 

Logical File 12 or 15 is not assigned to a disc file and overlay type program 

specifications were entered. 

The indicated segment has a zero length. None of the modules specified 

for the indicated segment were found. 

A common base was specified on a "CBASE" control statement such that 

the program will overlap the common area. 

String boundary violation. 

Less than 336 locations are available in buffer area. 

An external in the FLIPER table was referenced through an Instruction 

which was not a BLL, BSL, BLI, BLJ, or BLK. 

There is Insufficient background area to catalog the program. 

The word count was not complete when a binary Input record was requested. 

A checksum error was encountered on an input record which was requested 

from the Link Ready File. 

A checksum error was encountered on an input record which was requested 

from the Library File. 

A BLOCK DATA subprogram was encountered In a program which was 

explicitly typed as being segmented (I.e., TYPE=SEGMNT). 

A BLOCK DATA subprogram was encountered on the Library File. 



6-50 



Revision A 
May, 1974 



Table 6-4. Error Messages (Conrd. ) 



Number 



Meaning 



35 
36 
37 

38 

39 

40 

41 

42 
43 

44 
45 



47 
48 
49 

50 
51 
52 
53 

54 
55 

56 

57 



More than ten BLOCK DATA subprograms were encountered. 

An attempt is being made to catalog a foreground program without a name. 

An attempt |s being made to load data into the system common region via 
a BLOCK DATA subprogram. 

An end-of-file was encountered at an improper position on the Link Ready 
file ('15). 

An end-of-file was encountered at an improper position on the Library 
file ('12). 

An end-of-file is present on start of the Link Ready file. (i. e. , no 
program is on the Link Ready file. ) 

Logical device '16 (the cataloged output of the Link Cataloger) is not 
assigned to disc file. 

A BLOCK DATA subprogram was encountered on nonndisc device. 

Assignment statements were encountered when the program being 
cataloged was specified as being a CHAIN segment. 

Logical device '15 and '16 are assigned to the same disc file. 

A 15 bit common request in a background program was encountered such 
that an invalid reference across 32K memory partition would be made. 

A 15 bit external request in a background program was encountered such 
that an invalid reference across the 32K memory partition would be made. 
(The external name is in one memory bank and the request is in the other 
memory bank). 

A foreground program exceeds 32K in size. 

A resident foreground program was specified as being a CHAIN statement. 

A "SYSCOM" definition was encountered that is greater in size than the 
DMS System Common Area. 

No modules are specified on a "MODULE" control statement. 

"Read access" must b^ specified for Resident foreground programs. 

Foreground programs cannot have a type "SYSGEN". 

Overlay type is not "STNDRD", "NEW" or "UPDATE" on a "SEGMENT" 
control statement. 

Undefined parent segment specification on a "SEGMENT" control statement. 

Segment name already specified on a previous "SEGMENT" control 
statement. 

Neither an "INCLUDE" or a "MODgLE" control statement has been 
specified for an overlay segment. 

Option specified is not one which may be cataloged with program. 



6-51 



vision C 
avember 1975 



Number 



58 
59 



Table 6-4. Error Messages (Cont'd) 



Meaning 



Program exceeds 65 K. 

Include or Library file does not exist. The missing file is identified 
after "MODULE" in the error message. 



6-52 



SECTION VII 
ACCOUNTING SUBSYSTEM 



7-1 SCOPE 



This section describes the accounting subsystem, an optional part of a_DMS 
configuration. Included is a summary of the accounting considerations described m other parts 
of this document along with a description of the use and operation of the DMS Accounting 
Utility Program "ACCUP". 

7-2 USER NUMBERS 

User numbers are used to identify activities within a DMS system and to provide an 
identifying number to which system usage can be allocated. 

7-2. 1 Establishing User Numbers 

User numbers can be added to a functional DMS system at ariy time and must be 
entered through the operator communication device, via the "AU" (Add User) command. This 
command provides for user number, account number and "^;;^^''^«"^'^':f '°\^^//^^J°J^"'^^^'^ 
for the command format). The u>er number must be a 1 -5 decimal digit number and ^f in °" 
other occurrences, it must be preceded by the letter "U", i- e. , U 23. User number limits are 
sePat system generation time for the individual installation. DMS provides for a maximum 
range of 1 -65535. 

Account numbers can be any integer valid on the Series 6000 computer and are used 
by the Accounting Utility Program to provide another, larger grouping ^^V^,^"^^;^ P^'PJ'f '• 
For instance, this might be a department number, which then allows the utility program to 
summarize by department. 

Name can be any 15 character string, the first of which, of course, is non-blank. 
Individual DMS installations should establish a uniform naming convention. It is ^j;?'?;"^"'^^^^^^^ 
thalthe last name be entered first, since the alpha-sort feature of the Accounting Utility Program 
assumes this format. 

7-2. 2 Changing and Removing Users 

User numbers can be removed and entries changed via other operator communication 
entries. The "CU" (Change User) command provides the ability to specify a new account num- 
ber' a new name, or both. The "RU" (Remove User) command removes a specified user from the 
files. Refer to Table 9-1 for further information. 

7-2. 3 Listing Users 

The Accounting Utility Program provides the ability to list users either by number, 
by account, or alphabetically by name, via use of the LIST command. See Paragraph 7^7 for 
further information. 

7-1 



7-2. 4 Specifying User Numbers on Program Inil-iaHon 

As stated earlier, a user number must be associated with the execution ot every 
program in the accounting configuration of DMS. User numbers are associated with progroms 
In a variety of ways as discussed in the following paragraphs. 

7-2. 4. 1 Programs Initiated via Operator Communications 

Any foreground program initiated via operator communications obtains its user 
number from the user -number parameter that is required in accounting systems. The user number 
must be the decimal number preceded by the letter "U". For example: 

IP,XYZ,U 123,56 

is used to initiate program XYZ with user number 123 at priority 56g, 

Other commands which require a user-number are: 

IP Initiate Program 

SP Schedule Program for periodic execution 

BP Begin Program at specific time 

CP Connect Program to external interrupt 

Additionally, the "SO" (Spool Output) operator communication command (refer to Table 9-1) 
requires a user number for the execution of the Foreground -output-spooler program which this 
command causes to be initiated. Its format is: 

SO,FILENM,U123,terminal 

7-2.4.2 Terminal Foreground Programs 

Any foreground program initiated from a terminal under ACRONIM Is automatically 
given the user number of the current terminal user. This was entered via the SON command 
which is required to be the first command entered from a terminal in a DMS Accounting System. 

7-2. 4. 3 Foreground Program? Initiated by other Pl-ograms 

Any foreground program which is initiated via a System Service Call from another 
foreground program is automatically given the user number of the program which requested the 
initiation. 

7-2. 4. 4 Background Batch Programs 

Background batch programs are given the user number of the job In which they are 
executing. AH Jobs in an accounting system must be preceded by a valid SJOB cqrd as discussed 
in Section VI This SJOB card must contain a valid user number which is used for all program 
executions for the duration of that job. The SJOB card must contain somewhere on it, in the 
first 60 columns, a valid user number which is a decimal number preceded by the letter U . 
For example: 

SJOB CAT U123 D6 

7-2 



is used for a job named CAT run by user 123 wifh list output spooled to device 6, 

7-3 TERMINAL OPERATION 

Under an Accounting DMS System, a user number identifying the particular terminal 
user is required at all times. ACRONIM executions are charged to this number and access is 
allowed to the particular user's files via the user number. 

The user number is initially established via a SON command whose format is: 

SON Unnn 

Where: Unnn is the decimal user number preceded by the letter "U". This user 
number remains in effect until one of the following occurs: 

a) A SOFF command is entered. This causes the terminal to be 
turned off and a <ON is required to turn it back on. 

b) A $JOB image is entered directly from the terminal with a 
user number different from that of the current user. When 
the '^EOJ (end-ot-job) image is received for the spooled 
job, the terminal is turned off just as if a SOFF had been 
entered. If the user number on the job card was the same as 
the current one, the terminal retains its identity after the 
$EOJ is encountered. 

c) When another $ON command is entered. The first such 
effectively becomes just a SOFF. Another SON is then 
required to establish the identity of the user and turn on 
the terminal. 

It is important to nore that most accounting information for the terminal is not 
written to disc until the terminal is terminated via the SOFF or similar commands as discussed^ 
above. Thus care should be taken that remote terminals are turned "off" before system operation 
is terminated. 

7-4 DISC FILES 

The use of user numbers within the file security system of DMS has been discussed 
in Section III. However, the important points are repeated below. 

Each disc file created under the DMS Accounting System has associated with it a 
user number. This is the user number of the creator of the file, i. e., the user number associated 
with the program whose execution created the file. The user number is stored in the Master 
Disc Directory entry in the 5th and 6th character positions of the password. (See Master Disc 
Directory entry layout in Appendix A). Optionally, if the file was created without a user 
number, such as if it were created under a non-accounting DMS system and then transferred to 
an accounting version of DMS, then the first time a rename command is given for the particular 
file, it will obtain the user number of the program doing the rename. 



7-3 



The user number provides access .o the file^ Ar,y prograrj, running -^J ♦^'= n'^^^' 
user number is allowed to Reod, WrUe or Dele,e.nc^d,„g Re^^^^^ 

:Mhe^^s:^r::::ctd:rnrA^^^^^^^^ 
;tr^:^^r'^rar::=g!t,,fen-ir^^s 

with user number 123 can write on or delete the file. 

Thus it is important to supply the correct user number so that the correct files 
can be accessed. 

7-5 ACCOUNTING RECORDS 

Accountina Records are 8-word blocks of information that summarize the usage of 
o particular faciUty wTthirthe computer system. All accounting records have w.th.n them o 
user number to which the usage is allocated. 

Accounting records are collected in an in-core buffer and the buffer is written to 

A variety of types of accounting records are generated. These are Hsted below. 

1) CPU Record, containing CPU execution time in milliseconds and 
core usage. 

2) Disc Record, containing number of disc accesses and hundreds of words 
transferred. 

3) Console TTY Record, containing number of lines transferred from/ 
to operator communications device. 

4) Individual I/O Device Records, one for each device used by a program, 
containing length of time device was allocated, and number ot I/U 
units transferred. 

5) System Idle Time Records, containing the amount of CPU time that 
the DMS system spent in the Executive Idle loop. 

The exact layout and informational content of these records is given In Appendix B 
of this document. 

The in-core buffer Is cleared of all information when a "DA" (Dump Accounting) 
command Is give: via operator communications. This should be done prior to closing down the 
system to ensure that all information is stored on disc. 

7-6 ACCOUNTING FILES 

A number of special disc files are associated with the Accounting Subsystem These 
ore a user number f,le, a u'ser name file, and Individual accounting record files to collect 
accounting records. 



7-4 



7-6. 1 



User Number File 



The user number file, called "ACSUSR" with a password of "SYST" contains all 
valid user numbers in a special format. The file has only public read access and only the system 
can write to the file. The file contains one word per user number, sequentially from the lowest 
user number in the system through the highest, packed 112 words per disc sector. See Figure 7-1. 
A zero in the position for a user indicates an invalid number, while if the number itselt is stored 
in the correct slot, then the user number is valid. 



Sector 



Sector 1 



User Number A 



User Number B 



Zero's for 

Unused 

Positions 



Sector N 




Slot for lowest user 
number in system as 
determined at system 
generation 



Slot for highest user 
number in system, as 
determined at system 
generation 



Figure 7-1. User File Layout 



7-6.2 



User Name File 



The user name file, called "ACSNAM" with a password of "SYST" contains the user 
number, account number, and name of all users in the system. It is used for reports and summaries. 
The file has public read access but can be written only by the system. This file is organized into 
8-word segments, with one segment for each user. The file is not ordered and empty slots are 
denoted by a 8-word block of zeros. The file is created by the system when first initialized 
after a system generation if not already there, and made sufficiently large enough to hold all 
of the users in the system. 



7-5 



Figure 7-2 shows an example of the two files, ACSSUR and ACSNAM when only 
four users are in the system, as created by the following statements: 

AU,U150,.3000,SMITH 
AU,U400,. 3200, JONES 
AU,U475,. 3200,THOMPSON 
AU,U275,. 3200,HARRISON 



Sector 
Word 50 

Sector 1 
Word 63 



Sector 2 
Word 76 

Sector 3 
Word 39 



ACSUSR 



150 







275 



400 







475 



User limits set at system generation 
are 100 and 500. 



Sector 



Sectors 
1-28 



A«NAM 



150 

3000 

SMI 

THK 

m 

p!pp 

m 



400 
3200 
JON 
ESK 

m 
m 
m 
m 



475 

3200 

THO 

MPS 

ONK 

m 
m 



275 

3200 

HAt^ 

RIS 

ONK 

m 
m 
m 








1 



Zeros 



Figure 7-2. Somple ACSNAM and ACSUSR Files 

7-6 



Word 



Word 8 



Word 16 



Word 24 



Words 32-111 
(all zeros) 



Revision A 
May, 1974 



7-b. 3 Accounfing Record Files 



Accounting records are accumulated on disc In a series of disc files. These are name 
"AC$nnn", where nnn is a decimal number from 001 through 999. The files are not necessarijy 
in any order although the system does go sequentially when assigning numbers. The first Byword 
block of all files is a date/time record whose layout is described In Appendix B, thus defining 
the earliest record on the file. Thus all of the files can be ordered just by looking at the first 
record. Files are either full (all sectors have information) or they are terminated with an end- 
of-file mark. Eight-word records containing all zeros are fillers and should be bypassed when 
processing the files. 

An end-of-file record is always written following any accounting block. This is done 
every time an in-core buffer is written to disc. The end-of-file mark allows the system to find 
the end of the current file whenever the DMS system is loaded from disc. Thus in the event pf a 
catastrophic system failure, only the information in core is lost, and all information written to 
disc is preserved. 

When DMS is loaded from disc, the system initialize program finds the latest disc file 
by looking at the date/time record at the beginning of everv file and then scans to the EOF mark 
in this file. This is where the first accounting records will oe written as computing operations 
begin. The date/time entered by the Operator is compared with that on the disc file and if 
found to be earlier than the disc file, a warning message is output. 

If DMS cannot create an accounting file due to a lack of sufficient available space on 
the accounting disc pack, it will output the message "ACCTG DISC FULL" to OPCOM. From 
this point until room becomes available on disc, all accounting records will be lost. The first 
accounting record generated after a 20 second interval will initiate another attempt to create 
the file. These attempts and messages will continue until a file is successfully created. 

7-7 ACCOUNTING UTILITY PROGRAM 

The DMS Accounting Utility Program "ACCUP" provides a convenient means of preparing 
simple summaries of accounting information and of maintaining the accounting record files. It is 
a background batch utility program which can be run at any time as needed. ACCUP reods q 
set of input parameter records from the job stream file, and then proceeds to execute based oh 
this input. The control records are discussed In the following paragraphs. Thus a basic deck 
structure for running ACCUP would be: 

$JOB NAME Unnn etc 
$ACCUP 

control records 
$EOJ 

Of course, other job control records could be inserted in the job as required. 

7-7. 1 RUN Command 

The RUN command causes execution of the previous input to begin and signals the end 
of the control statements. When processing has been completed, ACCUP will input more control 
records from the job stream if any are present. And end-of-file on the input job stream file, 
as caused by a $ control card, effectively generates a RUN command. However, ACCUP exits 
when processing is complete. 



7-7 



1 -7 . 2 AccounHng Period D esignation Statements 

The START and END statements provide information to define the extents of 
accounting record processing, The basic format is: 

END^ MM-DD-YY (HH:MM:SS) 



where: 

MM 

DD 

YY 

HH 

MM 

SS 



s the numeric month 

s the numeric day 

s the last two digits of the year 

s the 24 -hour clock hours value 

s the minutes value 

s the seconds value 



The time-of-day field is optional but if present, is input as a 24-hour clock value. 

If no START command is given, then the earliest accounting information present v/ill 
define the starting position. If a starting date is specified, but no time, then the earliest record 
on or after the specified day will determine the start time. 

If no END command is given then the accounting information to the end of the last 
file will be processed. If an ending date is specified, but no time, then all records on the 
specified ending date will be Included. 

If neither the START nor the END parameters are input, then all available accounting 
records will be Included. 

Multiple START/END combinations may be entered to provide a summary containing 
portions of a period of time. For instance, the following START/END pairs will summarize all 
activity from Noon to 1 :00 p. m. for three consecutive days. 



START 


05-01-73 


12:00:00 


END 


05-01-73 


13:00:00 


START 


05-02-73 


12:00:00 


END 


05-02-73 


13:00:00 


START 


05-03-73 


12:00:00 


END 


05-03-73 


13:00:00 



There may be at most seven pairs of START/END cards in a particular run. All 
pairs must be in consecutive ascending order to provide valid output. 

7-7. 3 BLOCK Statement 



The BLOCK statement is used to specify the blocking factor to be used (if any) when 
SAVIng accounting records as discussed in the following paragraph. Its format is: 

BLOCK n 

where n Is a decimal Integer specifying the number of 8-word accounting records 
!o be put in one block before being written to the SAVE file. 

7-8 



An error condiHon exists if insufficient work space is available to build a blockir>g 
buffer of the specified size. 

If no BLOCK statement is entered, then the records will be output unblocked. 
(Blocking factor = 1). 

7-7. 4 SAVE Statement 

The SAVE statement indicates that all records processed in the period defined by 
the START/END parameters are to be copied out to the specified logical file as they are pro- 
cessed. Its format is: 

SAVE n 

Where n is a decimal logical file number to which the 8-word records are output. 
If a BLOCK statement was entered they are blocked by the specified factor as they are output. 
The unused portion of the last block is filled with zeros. 

The 8 -word records are output unmodified, and are exactly as they appear on the 
accounting files. 

7-7.5 DELETE Statement 



The DELETE statement causes all 8-word records processed in the period defined by 
the START/END parameters to be removed from the accounting files. The DELETE is performed 
after all processing including the SAVES. The delete is accomplished for the most part bv ^ 
over-writing the affected records with zeros. If however, this results in a particular file having 
no valid data remaining, the file itself is deleted from the disc. 

For example, if no START or END statements were given, then all of the files on 
disc will be processed and all will be deleted. 

7-7. 6 UTILIZATIONS Statement 

This command causes the Device Utilization Summary to be output. This is a summary, 
by device, of how much time it was used, and how many records were processed. In addition, 
the amount and percentage of CPU time used for execution, and the amount and percentage ot 
time that background was active are also output in the summary. 

7-7. 7 Usage Summary Statements 

The three statements, USER, USER/ACCOUNT, and ACCOUNT are used to select 
which form of output is to be used in generating the accounting summary report. This report 
breaks down by user or account, as specified below, all individual charges and totals and, 
optionally, provides costs in conjunction with the RATES statement discussed later. Only one 
of the above three forms may be used. If none are input, then no accounting summary report 
is generated. 



7-9 



7-7. 7. 1 USER Statement 

This causes the accounting summary report to be output by user only, ignoring 
account numbers. Optionally, user numbers may be specified on the statement as shown below. 

USER nl,n2,n3-n4,... 

to specify that only certain user numbers are to be output In the report. If no parameters are 
present on the user statement, then all users will be output. If users are specified, only they 
will be output. User numbers are separated by commas, except that a range of user numbers is 
denoted by placing a dash Immediately between two user numbers without intervening blanks. 
For example, the command 

USER 100,105-109,111 

causes the report to be generated for users 100, 111 and any users 105, 106, 107, 108 or 109. 
The user numbers specified need not exist on the accounting files or in the system and If they 
do not, then no output will be produced for them. 

The specification of user numbers is limited to one input record. That Is, only 
one USER card may be present in a particular run. 

7-7. 7. 2 USER/ACCOUNT Statement 

The user/account statement causes the accounting summary report to be output by 
user within account number. That is, the basic sequence is by account, and within account the 
output is by user. No additional parameters may be specified on this statement. 

7-7. 7. 3 ACCOUNT Statement 

This command causes the accounting summary report to be grouped by account 
number for output. That is, all charges for a particular account are added together and output 
as one information block. This statement, like the user statement, can specify particular account 
numbers on It. The basic format is: 

ACCOUNT nl,n2,n3-n4 

As with the USER statement, the ACCOUNT statement can specify individual account numbers 
as well as ranges of numbers, when two account numbers are separated by a dash. If no account 
numbers are specified on the statement, then Information for all accounts will be output. 

7-7. 8 ALPHA Statement 

This statement, when used In conjunction with the USER or USER/ACCOUNT state- 
ment, causes the individual users to be stored alphabetically by the user name, instead of coming 
out sequentially by user number. If no user or user/account statement is entered, then the ALPHA 
statement is Ignored. 



7-10 



7-1. 9 LIST St-gfement 

This statement should be used in conjunction with those listed in Paragraphs 7-7. 7 
and 7-7. 8 to produce listings of account numbers or user numbers and names. It functions by 
producing a normal accounting summary report except that the chargeable information is 
suppressed. Its effect is to produce a listing of all user and/or accounts in the system sorted 
OS specified by the commands described above. 

7-7. 10 TIMES Statement 



This statement is used in conjunction with the accounting summary report described 
in Paragraph 7-7, 8, Its format is: 

TIMES dl,d2,d3,... 

The effect is to cause the device allocated time (the amount of time that the device was ''QPEN' 
to a particular user) to be included as a chargeable item, dl, d2, d3 are octal physical device 
numbers. For example, the statement 

TIMES 21,22 

indicates that device allocation time is desired to be included in the accounting summary report 
for devices 21 and 22. Devices (disc), 1 (operator communication device) and CPU may not 
be specified since they are not allocatable devices. 

7-7. 1 1 RATES Statement 



The RATES statement is used to assign monetary values to chargeable items for output 
on the accounting summary report, described in Paragraph 7-7. 7. The basic format is 

RATES ITEM1 CHARGEl ITEM2 CHARGE2 . . . 

where items and their respective charges are paired as shown. Multiple RATES cards may be 
input in a particular run as desired. 

The "charge" values are decimal values representing the dollar cost for a unit pf 
the specified item. For example, the charge . 001 indicates that one-tenth cent is to be chqrged 
for each unit of the particular item. Dollar signs should not be included in the rate value. 

The "items" are described by a device type, intormation type, and optional device 
number. The format of an "item" entry is: 

T 

DT,(d#), R 
W 

where DT is a device type code as shown in Table 7-1, d^ is a physical device number of the 
specified type, and T,R,W specifies whether the charge is to be for allocated time (T), records 
processed (R)or hundreds of words transferred (W) where applicable. 



7-11 



If fhe device number is included, then the charge applies only to that device. 
Some examples of RATES are shown below. 

RATES CU .001 RT,21,T .003 

This statement indicates the core is to be charged at the rate of one hundredth cent 
per word (100 words per cent), and that "connect time' for remote teletype number 21 costs 
three tenths cent per tenth second or 3 cents per second. 

Table 7-1. RATES Parameters 



Device Type 



DI 
CU* 

Tr 

RT 
RC 

TR 
TP 

LP 
CR 

CP 
MT 

SC 

AD 



Device 



Disc 

Core Usage 
CPU Time 

Remote TTY 
Remote CRT 

Paper Tape Reader 
Paper Tape Punch 

Line Printer 
Card Reader 

Card Punch 
Magnetic Tape 

Synchronous 

Communications 
Analog -Digital I/O 



Records Measured 
in units of; ** 



I/O requests 

Words 
Milliseconds 

Lines 
Lines 

Characters 
Characters 

Lines 
Cards 

Cards 
Records 

Characters 

Words 



Hundreds of Words 
(W) valid? 



Yes 

No 
No 

No 

No 

No 
No 

No 
No 

No 
Yes 

No 

No 



* No R should be specified on CU or TI parameters as this is done by system. 
W 

** Allocated Time (T) always measured in tenths of seconds. 



7-12 



Revision C 
November 1975 



SECTION VIII 
TERMINAL OPERATION 



8-1 INPUT TERMINALS 

For spooled DMS syst-ems, any Input or input/output device which is created as a 
spooled terminal at system generation (SYSGEN) has a special operating procedure as discussed 
in the following paragrqahs. Batch input terminals (such as card readers) are treated differently 
from interactive terminals (such as CRT's and teletypes). 

8-1. 1 Theory of Operation 

All spooled terminals are controlled by the I/O executive module of DMS which can 
communicate with multiple terminals, permitting several functions to be performed by each 
terminal device. For instance, all terminals can communicate with ACRONIM, the re-entrant 
editor package. 

8-2 SPOOLED BACKGROUND JOBS 

Spooled background jobs may be entered from any input terminal on the system. 
The presence of such a job is denoted by the WOB card as the first line of the job. All input 
images following the $JOB statement until the SEOJ statement is encountered are written to the 
spool input file. When the $EOJ is read, the file just created is placed on the background spool 
queue on a priority basis. Jobs on this queue are processed as time permits. 

8-2. 1 $JOB Statement 

The SJOB statement is described in detail in Section 6-2. 1. The basic format is 
repeated below. 

$JOB Name Unnn Pnnn Dnn Lnnn Innn Mnnn 

where: 

Unnn is the user number designation in accounting systems only. 

Pnnn is the priority. 

Dnn is the list output file or device. 

Lnnn is the list output spool file size. 

Innn is the input spool file size. 

Mnnn is the background memory size. 

Items of particular Importance to the terminal user are priority, list output device, 
and input file size. 



Revision A 
May, 1974 



8-2.2 



Priorify 



The priority value cletermines where in the background input spool queue the job 
is placed. The priority range is 1-254, with 1 being the highest and 254 the lowest. If no 
number is placed in this field on the $JOB card, the terminal's default priority is used. The 
number placed here must conform to the terminal's priority limits set at SYSGEN time (see 
Paragraph 8-5). 

8-2.3 Li st Output Device 

This field specifies the device or file to which list output is to be assigned. If a 
zero is entered here, all the list output will be suppressed. If a filename Is entered here, then 
list output is assigned to that disc file. If a non-zero number is entered, then list output w,ll be 
spooled out to that physical device through a spooled disc file. If no vol ue is entered here, the 
output device associated with the input terminal is used and the spooling system actually enters 
this value on the statement for later processing by background. Output device associations are 
controlled by the SYSGEN procedure when the input terminal is defined. 

8-2.4 In put File Size 

This field is used to specify the size of the input spool file in sectors if the default 
size is not desired. The default size is set at System Generation. 



8-2.5 



Error Messages 



Error messages produced by the input spool system are listed below. In the case of 
batch terminals, input lines are bypassed until a $EOJ is read. For interactive devices, the 
message "RE-ENTER SPOOL JOB" is typed after the error and no input is bypassed. All error 
message output is written to the associated output device for the terminal. Error messages are: 



INPUT SPOOL FILE OVERFLOW: 



INVALID PRIORITY FIELD: 



INVALID ^JOB CARD SYNTAX; 



INVALID OUTPUT DEVICE: 



INVALID USER NUMBERi 



The input spool file size is too small to 
contain the job being input. The job should 
be re-entered with a larger input file size 
specified. Or, user "X -OFF" edthespooled inpu' 

The priority field is invalid in format (not 
in range 1 -254, etc. ) or does not conform 
to the terminal's priority limit. Re-enter 
the job with a valid priority. 

The syntax of the <';JOB is not correct. 
Correct the $JOB statement and re-enter 
the job. 

The output PDN field contains a number or 
disc file name which is not valid. Correct 
the $JOB card and re-enter the job. 

The user number where required in accounting 
systems is not present or is not a valid user 
number. 



8-2 



8-3 ACRONIM 

The re-entrant interactive editor ACRONIM can be run from any spooled input 
terminal under DMS. The general instructions for the various commands are described in the 
ACRONIM General Specification AA61681-O0. 

ACRONIM is active whenever the terminal is on-line. In fact, the $JOB statement 
for a spooled job is actually processed by ACRONIM. 

Error messages from ACRONIM are output to the associated output device for the 
input terminal and are of the format 

CD nn 

where nn Is the error code as listed in Table 8-1. 

Note that the concept of a disc "area" is what Is commonly referred to as a disc file under 
normal DMS usage. 

8-4 FOREGROUND PROGRAMS 

Foreground programs may be Initiated from any terminal via the special ACRONIM 
command $name. For example, to initiate foreground program CAT from a terminal, the command 
"SCAT" should be entered. 

Once the foreground program has been Initiated, the terminal is no longer available 
for ACRONIM operation. The terminal will, however, still respond to the Program Abort kevin 
(see Paragraphs 8-7. 3 and 8-8. 3), which, if actuated, will cause the foreground program to be 
aborted. If the terminal was the operator communication device, this function is still available 
also. 

The foreground program may communicate with the terminal by assigning the required 
logical files to the physical device number of the terminal. When the program is initiated, the 
parameter passed (loaded in the A-reglster at Initiation) Is the address of the Terminal Control 
Block for the terminal. (See Appendix A). The physical device number Is located in bits 5-0 
of the first word of this block. 



When the foreground" program EXITs, the terminal is again available for ACRONIM 



operation. 



8-5 TERMINAL PRIORITIES 

Each input terminal as established for it a priority limit and a variable amount of 
priority control specified at System Generation. There are one of three types of control avail- 
able for the terminal. These are described In the following paragraphs. 

8-5, 1 Default Priority 

If the terminal is set only with a default priority, any priority may be Input in the 
full range of 1 -254, but if none Is specified, this default is used. 



8-3 



8-5.2 Priority Limit 

If the terminal has a priority limit, then if an attempt is made to use a priority value 
higher than the limit, (that is, a smaller numeric value) it v/ill be ignored, and the default, or 
limit, value v\/ill be used. 

8-5. 3 Fixe d Priori ty 

If the terminal has a fixed priority, then programs initiated by it will alvv/ays run at 
that priority, and any other value input will be ignored. 

8-^ BATCH INPUT TERMINAL OPERATION 

Two additional features are available to spooled input batch terminals. These are 
"unspool" mode, and "off-line" mode. 

8-6. 1 Non-Spooled Mo de 

If it is desired to run a background job in a direct, i. e. , unspooled mode, without 
going through an intermediate disc file, it is necessary to issue a special job statement. The 
format is 

$JOB* name Unnn 

The 5JOB* statement causes an entry to be placed in the background spool input 
queue to indicate an unspooled job. When this entry becomes active, job stream is assigned^ 
directly to the background default list output device and processing continues normally. This 
mode is necessary for special I/O mode transfers, such as reading binary cards, etc. The Unnn 
user number field is required only in accounting systems. 

8-6.2 Off-LIne Mode 



Normally, high speed batch terminals such as the card reader are allocated to the 
I/O Executive and cannot be referenced directly by background or foreground programs. However, 
the device can be placed off-line to I/O Executive by placing a SCLOSD statement at the 
beginning of the data. This allows any DMS program to open the device and communicate 
directly with it. When the requesting program closes/deallocates the device, the I/O Executive 
again regains control. This operation is used to allow foreground programs to input data cards 
directly from the reader. 

8-7 TELETYPE TERMINAL OPERATION 

A number of special keys and functions are used to control interactive teletype 
terminals. These functions are discussed in the following paragraphs. Note that if the Operator 
Communication Device is a teletype, it can interact with ACRONIM just as any other teletype, 
and is operated as discussed below. 



8-4 



Revision A 
May, 1974 



8-7. 1 Initiating Communications 



When DMS is loaded from the disc, all terminals are left in the "off-line" mode. , 
To "turn-on" or initiate communications, the Control key "BELL" is used. When the system 
initializes a terminal, the message "HELLO" is output, and a carriage return line feed combi - 
nation will be issued, and input may be entered. The first line input on accounting systems must 
be a $ON command, specifying the user number. 



8-7. 2 Line Cancel 



If an error is made in a line being entered at a remote teletype it mqy be corrected 
by performing a "character cancel" or a "line-cancel" and re-entering the character or line. 
The "character cancel" is achieved by entering a "<.-" key. Successive 4- characters 
cancel previous characters enetered in the input record. If the whole record is cancelled it 
becomes equivalent to the "line cancel ". The "line-cancel" is actuated by entering the ^ 

RUBOUT key. When this key is entered, the terminal responds with a . and a carriage-rergrn 
line-feed is issued. The line should then be re-entered. 

8 -7. 3 Program Abort 

The operator of a teletype terminal may abort the foreground program which he lojt 
initiated by use of the X-off key. The terminal will respond with the message "ABT. . and the 
foreground program will be aborted with an abort code 37 (terminal user requested abort). Th.s 
abort feature may also be used to cancel spooled output being transmitted to the terminal, or to 
cancel spooled input being transmitted from the terminal. 

8-7. 4 T erminating Communications 

To place the terminal in the off-line state, the command $OFF Is entered. This 
causes all storage allocated by the terminal to be released and all file pointers maintained by 
ACRONIM will be lost. To re-establish communication, it Is necessary to use the Cornmumcotion 
Initiation Key. The terminal Is automatically placed off-line whenever the end of a file being 
spooled out to the terminal Is reached. 

8-8 ALPHANUMERIC CRT TERMINAL OPERATION 

The same functions available to the teletype user are also available on the CRT, 
however different keys are used. These same Instructions apply to an alphanumeric CRT used as 
the Operator Communication Device and terminal combination. 

8-8. 1 Initiating Communications 

Alphanumeric CRT terminals are automatically "turned-on" or placed on-line to 
DMS when the first Input line is made. That Is, to initiate communications, the f'rst line 
should be entered on the first line of the screen and the TRANSMIT key depressed. Th.s will 
cause terminal initiation and subsequent processing of the first line. Note that in accounting 
systems, this first line must be a $ON image containing a valid user-number in order that 
subsequent Input will be processed. 



8-5 



Revision A 
May, 1974 

8-8.2 



Line Cancel and Line Editing 



Because the input from the CRT is not accepted until the TRANSMIT key is depressed, 
the line being entered may be changed, edited or erased as desired through the use of local keys 
on the CRT. Once the line is satisfactory, the TRANSMIT key should be depressed and the line 
will be processed by DMS. 



8-8,3 



Program Abort 



The operator of a CRT terminal may abort the foreground program which he last 
initiated by placing a backslash (" \ ") character as the first character in an input line. The 
remainder of the line will be ignored. The CRT will display the message "ABT. . " and the 
foreground will be aborted with abort code 37. Spooled output or input to or from the CRT may 
also be aborted in this way. 

8-8.4 Terminating Co mmunica tions 

As with any ACRONIM terminal, the CRT may be placed in an off-line state by 
entering a SOFF command. All storage and file pointers for the terminal will be lost. 

Table 8-1. ACRONIM Error Codes 



nn 



1 

2 
3 
4 
5 
6 
7 
8 
9 
10 

n 

12 
13 
14 
15 

16 
17 
18 
19 



Meaning 



Syntax error 

Dynamic core unavailable 

Too many concurrently active disc areas 

Cannot copy directly to CRT terminal 

First output device or file name invalid 

Second output device or file name invalid 

Third output device or file name invalid 

Invalid command code or no SON has been given 

BASIC statement number error 

No area is in edit mode 

Not in BASIC mode 

Cannot do I/O to another interactive terminal 

Cannot copy an "area" fron non-disc device 

Initialization request must be on first input (after SON) 

Unexpected end-of-area read 

Disc area overflow on destination file 

Invalid standard scratch area name 

More than 8 numbers on TV statement 

Cannot change processor modes while editing 



8^ 



Table 8-1 . ACRONIM Error Codes (Cont'd. ) 



nn 

20 

21 

22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 



meaning 



Invalid variable on "mode value". statement 

BASIC work area "CI" not present 

Disc area name already exists, or not enough space on disc 

BASIC statement no. not In 1-9999 range area 

Edit area full: update needed 

RC area full: update needed 

Cannot specify RC size as zero 

No edit area currently defined 

Edit area too small — system error 

Edit area not on disc 

Insufficient disc space to create scratch area 

Output disc area overflow on update command 

Core allocation problems: delete edit area name then rename TP area 

to old edit area name 

RUN name not same as edit area name 

Function not allowed In BASIC mode 

Requested disc area(s) not on disc 

New disc area name already In use 

Cannot rename or delete standard terminal scratch areas 

Disc area is non-existent 

No disc area name supplied where required 

No list or view area defined 

Non-BASIC record found in disc area 

Request to list or view beyond end of disc area 

Cannot delete "output area" disc area 

Key (password) must be alphabetic 

Edit requests for records past end of disc area-ignored 

Cannot delete or change line number 0. 

Too many (>7) arguments on CR request 

Specified text not found on search request 

Column number not In 1-80 range 

Specified text cannot be found: not enough room In search field 

Cannot edit an end-of-file record 



8-7 



Revision C 
November 1975 



Table 8-1. ACRONIM Error Codes (Conf d.) 



nn 



Meaning 



52 

53 

54 

55 

56 

57 

58 

59 

60 

61 

62 

63 

64 

65 

66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 

81 
82 
83 
84 
85 



Requested text not found in edit record 

No "output area" defined 

Edit line not defined 

Cannot insert End-of-file line in edit record mode 

Requested word in line does not exist 

Cannot delete across tab field 

Non-existent register(s) 

Register(s) not large enough for given text 

Command only valid when ACRONIM control is from disc area 

Non-numeric values in number register 

Requested deconcatenated text not found 

More than 80 characters building text 

List values or view values out of range 

Name not in disc area table 

Register(s) requested are beyond maximum 

Disc area does not contain valid $JOB card as first record 

Invalid $JOB card parameter 

Invalid or non-existent user number 

Invalid output device on $JOB statement 

Terminal already on. $ON treated on SOFF. Re-enter $ON 

Invalid user number 

Edit record number greater than 32767 

User number on $ON statement has not been entered 

Invalid password 

Rename failure because either old area gone or new area already exists 

File being updated does not have proper access bits. Rename TP to new name 

Cannot delete edit area file (delete prohibited) 

Register Setting command is invalid 

Buffer size too large (> 999 characters), too small (< 10 characters) or 

from a non-interactive device. 

Illegal PDN is first parameter on "SM" card 

Illegal optional parameter on "SM" card 

Transport was not specified on "SM" card 

Non-existent disc area to be spooled 

Invalid PDN as spool out device 



SECTION IX 
OPERATOR COMMUNICATIONS 



9-1 OPERATOR COMMUNICATIONS FACILITIES 

The Operator Communications provides the computer operator with complete, 
immediate control of DMS, including both foreground and background processing. The operator 
can obtain the attention of Operator Communications of any time by striking the slash ("/") key 
on whichever teletype is designated as the operator communication device. Following any output 
line which may be in process, or immediately in the absence of any output, DMS will respond 
by outputting a "line feed" character, followed by the slash entered by the operator. The 
operator should then enter the Operator Communications command, followed by a "carriage 
return" character. If the console device is a CRT alphanumeric display, then the operator should 
enter a slash ("'/"), followed by the command and terminate by depressing the "transmit" key, 
on the first line of the CRT. Whenever that device finishes its current output, the command 
will be accepted and the first line of the CRT will be cleared. 

The general format consists of a two character abbreviated alphabetic command, 
followed by multiple parameters as required; all are separated by a single comma, or one or 
more blanks. Numeric entries preceded by a decimal point (period) are considered to be 
decimal. Otherwise, numbers are considered to be octal. 

The Operator Communications modules will process the command as soon as foreground 
memory becomes available for loading the required module. The valid operator communications 
commands are discussed in the following paragraphs, and summarized in Table 9-1. 

9-1. 1 Program Control Commands 

These commands are used to initiate, terminate, abort, suspend, release and otherwise 
control the execution of programs running under DMS. When programs are initiated, they are 
passed an initiation parameter which is a 24-bit value placed in the program's A register when 
loaded. This may be specified on the Initiation commands as an octal or decimal integer. In 
accounting systems, a user number is required when initiating any program to allow the proper 
account to be charged for the execution of the program. This parameter is not used in non- 
accounting systems. 

Because DMS allows multiple copies of the same program to be running concurrently, 
it is often necessary to distinguish between these copies when referencing the program via^ 
Operator Communications commands. This Is done by use of the "terminal" parameter, which is 
the physical device number of the terminal or device which initiated the program (see Section XII 
for further information on terminals). This parameter is required on some commands only when 
multiple copies of the specified program are active. The program control commands are as 
follows: 

The "IP" (Initiate Program) command is used to initiate the specified program for 
execution. The format is: 

IP,program,(Unnn,)priority,parameter 



9-1 



Revision B 
March, 1975 



where: program is a 1 -6 character program name; 

Unnn is the user number In accounting systems; 

priority Is the execution priority of the program in the range of 1-254; 

parameter is the optional initiation parameter discussed above. 
If no parameter is specified here, zero is used. 

The "SP" (Schedule Program) command is used to place a program on the timer 
schedule for periodic initiation. Until the programis removed from the timer schedule (see "TP" 
below) it will be initiated once every time the specified interval has elapsed, unless the previous 
copy is still active, in which case the initiation is ignored. The format is: 

SP, program, (Unnn, )interval, priori ty,parameter 

where: program 

;"" are as discussed above for Initiate Program; 

priority 

parameter 

interval is the number of 120 or 100 Hz clock cycles between 

initiations. Thus with a 120 jHz clock, if this value 
is 240, the program will be initiated once every 2 seconds. 

The "BP" (Begin Program) command is used to initiate a program at a specific time 
of day. It is initiated only once similar to the "IP" command. The format is; 

BP, program, (Unnn, )time -of ~day,priority,parameter 

where: program 

.""., are as discussed above under Initiate Program; 

priority 

parameter 

time-of- is the time of day at which the program is to be initiated, 
day The format is HH:MM:SS where HH Is the hours, MM the 

minutes, and SS is the seconds on a 24-hour clock. 

The "TP" (Terminate Program) is used to remove a program from the timer schedule. 
This will cancel the effect of the Schedule Program command discussed above, and also will 
Inhibit the initiation of a program waiting for initiation from a Begin Program ("BP") command. 
The format is: 

TP,program 

where: program is a 1-6 character program name. 

Program termination Is accomplished via an Abort Program ("AP") key in. As 
discussed above, the terminal designation is used to resolve ambiguity if more than one program 
with the specified name is active. The format is: 

AP, program, termi no I 

where: program is a 1 -6 character program name; 



9-2 



Revisron B 
March, 1975 



where: terminal is an optional physical device number of the interactive terminal 

which initiated the program. The parameter "ALL" may be specified 
here in place of a terminal number. If "ALL" Is specified, all programs 
of the specified name, except those associated with a terminal, will be 
aborted. "ALL" is a valid parameter only on the AP command and is not 
accepted on other OPCOM commands. 



9-2A 



The background execution may be aborted via an Abort Background ("AB") key in, 
which is equivalent to an AP,BAKGND command. 

Program execution may be temporarily suspended via an "HP" (Hold Program) 
command. This command will suspend execution until released by the operator, ,f active, or 
will set the suspend bit in the timer schedule table if the program is currently set for periodic 
execution (see "SP") command. The format is: 

HP, program, terminal 

where: program ^^^ ^^ discussed above under Abort Program, 

terminal 

Background execution may be temporarily suspended via the "HB" (Hold Background) 
command, which is functionally equivalent to the command HP,BAKGND. 

In spooled systems, execution of the Foreground Output Spooler (S. FGSP), the 
program which DM5 uses to copy all spooled output files to their respective devices, may be 
suspended via the "HS" (Hold Spooler) command. The format is: 

HS, terminal 

where: terminal is the number of the physical device to which the output is 
being spooled. 

This command is equivalent to the command: HP,S, FGSP,terminal. 

Programs which have been suspended may be allowed to continue via the "RP" 
(RIease Program) command. This command is used to continue execution whenever the Program 
has been suspended by using the HOLD service, or by a system or operator action The Release 
command resets the suspend bit if the program was suspended on the timer schedule via an HP 
command, or changes the status of a previously suspended active program to allow it to continue. 
The format is: 

R P, program, term i na I 

where: program ^^^ ^^ discussed above under Abort Program, 

terminal 

Background execution may be released via the "RB" (Release Background) command, 
which is identical to the RP,BAKGND statement. 

In spooled systems, execution of the Foreground Output Spooler (S FGSP) as _ 
discussed above may be continued via the "RS" (Release Spooler) statement. The format is: 

R5, terminal 

where: terminal is as discussed above under the "HS" command. 

Operation of this command is identical to that of: RP,S. FGSP,terminal. 



9-3 



9-1.2 Foreground Interrupt Control 

Foreground interrupt control Is accomplished by the following commands. The 
reader should consult Paragraph 4-12, 2 for a discussion of the operation and control of fore- 
ground Interrupts. The commands discussed here merely duplicate the services discussed in 
Section IV. 

A foreground program may be "-connected" to an interrupt via the "CP" (Connect 
Program) command. The format is: 

C P, program, (Unnn, )i nterrupt,pri ori ty,parameter 

where: program 

Unnn are as discussed in the preceding paragraphs under 

priority Initiate Program. 

parameter 

interrupt Is an integer constant giving the interrupt level (0-23) ini 
bits 5-0 and the interrupt group (1-3) in bits 7-6, 

A foreground program may be disconnected from a foreground interrupt via the "DP" 
(Disconnect Program) statement. The format is: 

DP, interrupt 

where: interrupt is as discussed under Connect Program above, 

A foreground interrupt may be enabled (not done by Connect command) once a 
program has been connected to an interrupt via the "EI" (Enable Interrupt) command. The 
format is: 

EI, Interrupt 

where: interrupt Is as discussed under Connect Program above. 

A foreground interrupt may be correspondingly disabled via the "DI" (Disable 
Interrupt) command. The interrupt must be connected with a program. The format Is: 

DI, Interrupt 

where: interrupt is as discussed under Connect Program above. 

9-1.3 Program Assignment Commands 

Two commands are available for making logical file to physical device assignments 
for programs. These are the "AL" (Alter Assignment) and the "AS" (Assign) commands. The 
"AL" command is used to alter an assignment made to a previously cataloged non-resident or 
resident foreground program on disc. This command does not effect any programs currently active 
in memory, but will be used in subsequent executions of the program. 

The "AS" command is used to make an assignment for a currently active program 
(background or foreground) but does not effect the Information stored on disc and thus does not 
effect subsequent executions of the program. The active program must not have the specified 
logical file "open" or the assignment cannot be accepted. 

9-4 



The format of these commands are as follows: 

^]: , prog ram, logical file,physical device 

where: program is a 1 -6 character name. 

logical file is a valid logical file number between and '76. 

physical is either a valid physical device number between and '77, 

device or a disc file name. 

Paragraph 6-2. 3, $ASSIGN statement, should be consulted for further information. 

9-1 . 4 Spo oling Control Commands 

Eight commands are available to control spooling functions on spooled/interactive 
implementations of DMS. In all of these commands, the designation "terminal" is used to 
indicate the physical device number of any device which is configured as a terminal in the UN\b 
configuration (see Section XII). 

The "TO" (Terminate Output) command is used to terminate the current spooled 
output file on the specified device. The file will be deleted unless a "KO" command (see 
below) has been given for the file. The format is as follows: 

TO,terminal 

The "KO" (Keep Output) command is used to specify that the current output spool 
file on the specified device is not to be deleted at the end of the output operation, but instead 
to be left in the system for future use. When this command is given, the name of the current 
spool output file is output to the Operator Console device. 

If the file is later terminated via a "TO" key in, the relative position (record 
number) within the file will be output also. The format is as follows: 

KO, terminal 

The "AO" and "BO" (Advance and Backspace Output) are used to move the current 
position with the current output spool file on the specified device. An Advance causes the 
specified number of lines (records) to be skipped, and a Backspace causes the specified number 
of lines (records) to be repeated. If no line count Is given for a Backspace function, the entire 
file is repeated. The format of these commands is as follows: 

AO,terminal, lines 

BO,terminal, lines 

The "MO" (Multiple Outputs) command Is used to produce multiple copies of the 
file currently being output on the specified device. The number of additional copies to be 
output, including the current one is specified and passed to the Foreground Output Spooler. 
The format is as follows: 

MO, terminal, copies 

where: copies is an integer specifying the number ot <;opies to be output, 
including the one currently being output. 

9-5 



The "SO" (Spool Outpuf) command is used to place files on the spool -out queue for 
the specified device. The user number specification is required in accounting systems to allocate 
the execution charges. If the specified file is a type "spool" file, then It will be deleted at the 
end of the output operation. The format is as follows: 

SO,filename,(Unnn,)terminal 

Background job stream files may be placed on the background spool -in queue via 
the "IJ" (Initiate Job) command. The specified priority determines the placement of the fl!e 
within the current background queue. If no priority is specified, 255 is used (see Paragraph 8-5). 
The format is as follows: 

IJ,frlename,priority 

where: priority is an integer between 1 and 255. 

The "BQ" (Background Queue) command is available to display the contents of the 
current background job spool -in queue. When this command is processed, the filename, priority, 
and optionally user number of each job in the queue, including the currently active background 
job, are output to the Operator Communications Device. 

In addition to the commands listed above, the user should note that the "HS" and 
"RS" commands described previously in Paragraph 9-1. 1 are also applicable as spooling coritrol 
commands. 

9-1.5 Accounting System Commands 

Four commands are available in accounting systems only to control those special 
functions. In accounting commands, the user number is a decimal integer preceded by the letter 
"U" specifying the applicable user number. The "account" is any integer whose use is deter- 
mined by the individual customer. The "name" is a 1-15 ASCII character string giving the user 
name in some manner as determined by the individual site. Refer to Section VII for additional 
information. 

The "AU" (Add User) command is used to add new user -numbers to the system. The 
format is as follows: 

AU,Unnn,account,name 

The "RU" (Remove User) command is used to remove an existing user from the 
system. The format is as follows: 

RU,Unnn 

The "CU" (Change User) command is used to change either the "account" or "name" 
or both for an already existent user. The format Is as follows: 

CU,Unnn,account,new name 

If either the "account" or "new name" are omitted, then the previous information 
is left intact. 



9-6 



Revision A 
May, 1974 

The "DA" (Dump Accounting) command Is used to clear the contents of the in-core 
accounting record buffer and dump this information to disc. Its use is recommended prior to 
system shutdown. Refer to Section VII for additional information. 

9-1.6 System Status Commands 

The following commands are used to display the operational status of programs or functions 
within DMS. 

The "QP" (Query Program) command Is used to test the status of a specified program. _ 
As discussed in Paragraph 9-1. 1, a terminal number may be required to distinguish multiple copies 
of the program. However, if multiple copies do exist, and no terminal number is specified, then 
Information relevant to all copies of that program Is output. The format is as follows: 

QP, program, terminal 
For individual programs, the information output consists of the following three lines: 

STATUS xxxxxxxx 
MEMLO xxxxxx 

MEM HI xxxxxx 

where: STATUS is the contents of the Program Status Word (see Table 4-2), 

MEMLO is the location of the first word of the program, and 

MEMHI is the location of the last word of the program. 

In addition, if the program is waiting for a flag to go non-negative (status bit 22=1), the 
value of the f^lag (whose address Is given in bits 15-0 of the status word) will also be output 
following the status as: 

(FLAG) XXXXXXXX 

The background status may also be displayed via a "QB" (Query Background) key in, 
which is equivalent to a QP,BAKGND command. 

For multiple copies of a given program, when no terminal number was given, the output 

is of the form: 

MEMLO xxxxxx 

MEMHI xxxxxx 

TERMINAL xx 

STATUS xxxxxxxx 

TERMINAL xx 

STATUS xxxxxxxx 
Where- MEMLO and MEMHI give the memory bounds on the re-entrant program, 

and each TERMINAL/STATUS pair gives the terminal number and program 
status word of each copy of the program. 
The "PL" (Program List) command is used to display the contents of the Active Program 
List (see Section II). The output consists of the program names, terminal numbers it any, and 
execution priorities. 

The "MM" (Memory Map) statement is used to output a memory map to a specified device 
(or the standard list output device if none was specified). The data output consists of all current 
foreground memory allocations, programs, and sizes. The format is as follows: 

MM,device 

where- device Is a physical device on which the map Is to be printed. If a "#" 

precedes the device number, then themap will be spooled out to the 
device, providing it is a spooled terminal. 

9-7 



Revision C 
November 1975 



9-1.7 Time and Date Control Commands 



The following commands are used to test and set the system time and date. The time 
is always of the form HH:MM:SS where HH is hours, MM is minutes, and SS is seconds using a 
24-hour clock. Dates are always of the form MM-DD-YY, where MM is month, DD is day, 
and YY is year. All numbers are decimal. 

The date is set via the "SD" (Set Date) command. The format is as follows: 

SD,date 
The time is set via the "ST" (Set Time) command. The format Is as follows: 

ST,time 

The date and time may be displayed by the commands "PD" (Print Date) and "PT" 
(Print Time) respectively. 

9-1.8 Miscellaneous Commands 



The "JC" (Job Control) command causes the current background operation to be 
terminated (effectively aborted) and assigns job stream to the console device. If background 
was checkpointed when the command was processed, then the size of background is reduced to 
that available. 

The "MB" (Modify Background) command is used to change the background boundary 
to provide a background area of the specified size. The actual modification is done when the; 
next $JOB card Is processed by background. The format is as follows: 

MB,size 

where: size is the desired background size. 

The 'CD" (Clear Device) command is used to reset the specified device. The I/O 
handler is entered with a RESET code, and any applicable hardware Is cleared and software flags 
reset. The format is as follows: 

CD, device 

where: device is any valid physical device number in the DMS configuration. 

The "OT" (Operator Terminal) command is used in spooled systems only to change the 
operator communication device. The specified device must be an interactive terminal (TTY or 
CRT). If no terminal number Is specified, then operator terminal control is returned to the system 
default operator device. The format is as follows: 

OT,device 

The "NP" (New Pack) command is used to indicate to DMS that the operator has 
mounted a new disc pack on the specified disc number. The format Is as follows: 

. .\ ■ ' 

NP,pack*,dIsc* 



9-8 



whtjre: pack'*' Is a valid disc pack number (2-255) which has been written on 
a DMS pack via the CLEAR statement of the File Manager 
(Paragraph 6-3. 14). 

disc'*' is a valid disc number (2-n) in the DMS configuration. 

The "IR" (Initiate RJE) command is used to provide an initialization parameter to 
the applicable RJE system on the particular configuration. This command is not valid if no 
RJE system exists. Refer to Section X for an example. The format is as follows: 

IR,nnnn 

where: nnnh is the numeric parameter passed to the RJE system. 

The "TA" (Trap Address) statement is used to set the address trap (where available) 
to the specified address. When this trap location is accessed, DMS outputs the following 
messages and program execution continues. 



ATRAP., 


. address 


PROGRAM. . 


, . name 


IREG. . 


, . data 


J REG.. 


, . data 


KREG.. 


, . data 


EREG. . 


, . data 


A REG.. 


. data 



The "DD" (Disc Dump) command is used to output the contents of one or more disc 
sectors to a specified device. The sectors can either be absolute (no file name supplied) or 
relative to the start of a specified disc file. Either one sector (single sector specified) or 
multiple sectors (starting and ending sector numbers separated by da$h) may be output. The 
password field is omitted completely if the file has no password. If no device number is 
specified, the data is output to the standard list output device. Otherwise, the data Is output 
to the specified device directly, or may be spooled out to It if a "^" precedes the device num- 
ber. The data output consists of both octal and ASCII words. The various formats include the 
following: 

DD,fI lename,password,sector 1 -sector 2,devi ce 

DD,f ilename,sectorl -sector2, "'device 

DD,sectorl -sector2 

DD,sector 

DD,filename,sector 

DD,fIlename,password,sector 

DD,filename,password,sector,devIce 

The ''MS" (Modify Sector) command Is used to modify the contents of a specified 
disc sector. The sector number may either be absolute or relative to the start of a specified 
file. The word number is the word within sector and must be between and 111. The sector 
is read from disc and if the specified "fromdata" matches the contents of the specified word, 
the "todata" replaces this word and the sector is rewritten. The various formats are as follows: 

MS, fi I enome, password, sector, word, fromdata, todata 
MS,filename,sector,word,fromdata, todata 
MS,sector,word, fromdata, todata 

9-9 



nslon C 
vember 1975 



The "TS" (Time-Share) command is used to specify fhe Hme-slice given to programs 
,qual priority. It is specified as a multiple of 120 Hz clock counts. The format is: 

TS,n 

Where n is the number of 120 Hz clock counts to be used as the time-slice interval. 
I is zero, time-slicing is turned off. 

The "BS" command is used to create a permanent type file at a specified sector number 
a specified pack. One use of this command is to create a file to flag a bad sector on a disc 
:k. The file created will not be moved during a pack compression operation. The file name 
iynamically generated of the form Z*NNNN with a password of B. S. . The format of the 
tement is as follows: 

BS/pack***, sector 

where: pack* is a valid pack ID number (1-255), and sector is the sector number which 
}ad. 



9-10 



Revision C 
November 1975 



Table 9-1. Operator Communications Commands 



Command Format 



IP, program, (Unpn,) priority, 
parameter 

HP, program, terminal 

HB 

HS, terminal 

RP, program, terminal 

RB 

RS, terminal 

AP, program, terminal 

AB 

SP, program, (Unnn,)interval, 
priority, parameter 

BP, program, (Unnn,) time-of- 
day, priority, parameter 

TP, program 

CP, program, (Unnn,) interrupt, 
priority, parameter 

DP, interrupt 

EI, interrupt 

DI, interrupt 

AS, program, LFN, device or 
file name 



AL, program, LFN device or 
file name 



Function 



Initiates a foreground program at a specified priority 
v/ith an optional specified parameter. 

Sets suspend bit of timer scheduler table is scheduled, 
and suspends execution of program if currently active. 

Suspends execution of background. 

Suspends execution of foreground output spooler (S. FGSP) 
v/hen outputting to specified terminal. 

Reset suspend bit of timer scheduler table if set, and 
resume execution of program if active. 

Resumes execution of background. 

Resumes foreground outiput spooler (S. FGSP). 

Aborts execution of specified program. 

Aborts execution of background. 

Schedules foreground program for periodic execution 
with the specified optional parameter at the specified 
priority. 

Schedules the foreground program for initiation at the 
specified time of day at the specified priority with an 
optional parameter. 

Terminate timer scheduling of a foreground program. 

Connects a foreground program to a priority interrupt for 
execution at a specific priority with an optional 
parameter. 

Disconnects a foreground program from a specific interrupt. 

Enables a foreground Interrupt. 

Disables a foreground interrupt. 

Makes an assignment for the specified active program. 
Subsequent executions of the program will not have this 
assignment made. 

Alters the logical device assignment at a specified fore- 
fround program. The assignment is changed on disc such 
that subsequent executions of that program will utilize the 
new assignment. 



9-1 OA 



Revision A 
May, 1974' 



Table 9-1. Operator CommunicaHons Commands (Cont'd. ) 



Command Format 



QP, program, terminal 

QB 

PL 

MM,device 



Function 



Queries the status of a program. 
Queries the status of background. 

Displays on the console TTY a list of active programs, 
their temiinal numbers, if any, and priorities. 
Prints on the specified device a map of the current memory 
allocations. 



NOTE: The following eight spooling control commands are not available in unspooled 
systems. 



TO, terminal 
KO, terminal 

AO, terminal, lines 
BO, terminal, lines 

MO, terminal, copies 

SO, filename, (Unnn,) terminal 

IJ, filename, pricrity 

BQ 

CD, device 

NP, packf^, disc*** 

TA, address 
MB, size 



Terminates the current spool output file on the specified 
device. 

Specifies that the current file being spooled out to the 
specified terminal, is to be saved and not deleted v/hen 
output is complete. 

Advances the spooled output on the specified terminal to 
skip outputting the specified number of records. 

Backs up the spooled output on the specified terminal the 
specified number of records. If no line count is given, 
then the file is rewound. 

Specifies that multiple copies of the current output file 
are to be printed on the specified terminal. 

Causes the specified file to be spooled out to the specified 
terminal. 

Causes the contents of the specified file to be queued for 
background execution. 

Causes the contents of the background job spool -Input 
queue to be displayed on the operator communications 
device. 

Clears the specified device. 

Indicates that a new disc pack with the specified ID 
number has been mounted on the specified disc*. 

Loads and enables the Address Trap. When the specified 
memory address is subsequently referenced, a message is 
output. 

Modifies the background memory boundary to provide a 
background area of the specified size. 



9-n 



Revision C 
November 1975 



Table 9-1. Operator Communications Commands (Cont'd. ) 



Command Format 



JC 



IR,XXXX 
OT, terminal 

SD, XXXXXXXX 

PD 

ST, time -of -day 

PT 

DD, filename, (password,) 
sector 1 - sector 2, device 



MS, filename, (password,) 
sector, word, fromdata, 
todata 



BS,pack*^,sector 



Function 



Causes the current operation in background to be 
terminated (effectively aborted) and assigns the job 
stream logical file to the console teletypewriter. If 
background was checkpointed when the keyin was entered, 
then the size of background is reduced to that available. 

Initialize the Remote Job Entry System (where applicable) 
with parameter XXXX. 

Causes the specified terminal (must be TTY or CRT) to 
become the Operator Communications Device (Physical 
device 2). If no terminal is specified control is returned 
to the default OCD. 

Sets the current system date to that specified. 

Prints on the console devices the current date. 

Sets the current time of day to that specified. 

Prints the current time of day on the console device. 

Causes the contents of the specified sector (sector 1) or 
sectors (sector 1 - sector 2) which are either absolute 
sector numbers (no filename specified) or relative to the 
start of the specified file to be printed on the standard 
list output device (or other device if specified. ) 

Modifies the contents of the specified word (0-1 1 1) of the 
specified sector, which is either absolute (no filename 
specified) or relative to the start of the specified filename. 

Creates a permanent type file over the specified 
sector of tne specified pack. 



Accounting Commands: The 
systems only. 



following accounting control commands are valid in accounting 



AU, Unnn, account, name 

CU, Unnn, new account, 
new name 

RU, Unnn 

DA 



Add user number to system. 

Charges the name and/or account number for the specified 
user to that given on this command. 

Removes the specified user number from the system. 

Dumps the current accounting information In the in-core 
buffer to disc. 



9-12 



Table 9-1. Operator Communications Commands (Conl-'d. ) 
The command parameters are defined as follows: 



Command Parameter 



program 
priority 
parameter 
Interval 
time -of -day 



interrupt 

address 

filename 

device 
LFN 
word 
sector 

terminal 

pack"^ 

disc"^ 

Unnn 



Format 



One to six characters that identify a foreground program 
or the name "BAKGND" for background programs. 

A number between 1 and 377 representing a foreground 
program execution priority. 

Any 24-bit value which is passed as a parameter to the 
specified program in its A-register at Initiation. 

A single precision integer representing 120 Hz clock 
counts per program initiation. 

A time of day in the format of 

HH:MM or HH:MM:SS 
where the HH are decimal hours, MM is a decimal minutes, 
and SS is decimal seconds as a 24-hour clock value. 

An octal number of the form "XYY" where X Identifie$ 
the hardware interrupt and YY identifies the level. The 
Interrupt must have been defined during system configura- 
tion as being available for foreground program initiation. 

A number within the addressing range of the specific 
series 6000 computer. 

One to six ANSCII characters, the first of which must be 
alphabetic. 

A physical device number in the range to 71. 

A logical device code In the range to 76. 

A word number within a sector in the range of 0-111. 

An integer representing a sector within the addressing 
range of the specific disc drive. 

Any physical device number which represents a device 
which is configured as a "terminal" in a spooled/inter- 
active configuration of DMS. 

Any integer In the range of 2-377 representing a disc pack 
ID value. 

An integer in the range of 2-n where n Is the number of 
disc drives In the specific configuration. 
A "U" followed by the decimal user number, used to 
designate a user number where required. 



9-13 



Revision B 
March, 1975 



The operafor Communications programs perform validil-y checking on command 
paramef-ers whenever possible. When an error is detected, a message is output as shown in 
Table 9-2. However, some error conditions can be detected only by resident DMS routines. 
When such an error occurs, the Operator Communications module involved is aborted and an 
abort message is output to the Operator Communication Device. The abort message has the form: 

OPCOMn: ABT cc "' xxxxxx 

where n designates the module involved, and cc consists of an octal number that 
identifies the reason for which the module was aborted (see Table 9-7, Program Abort Messages). 

In some cases, it may be necessary to abort an Operator Communications Module 
itself. This can be done by entering an abort program command for the module involved as 
follows: 

AP,OPCOMn 

The names of the various Operator Communications modules are given in Table 9-3,along with 
the commands which they process. For example, if the operator wishes to abort the output of a 
DD command, he v/ould enter 

AP,OPCOM2 

which would cause termination of the output. 



Table 9 


*-2. Operator Communications Error Messages 




Error Code 


Meaning 


OC 1 


Illegal character in constant. 




OC 2 


Number too large. 




OC 3 


Terminal number required to distinguish multiple 


users. 


OC 4 


Specified terminal is non-existent. 




OC 5 


Program not there. 




OC 6 


Input line too long. 




OC 7 


Undefined command. 




OC 8 


Invalid logical file number. 




OC 9 


Invalid physical device number. 




OC 10 


File not there. 




OC n 


Program not there. 





9-14 



Revision C 
November 1975 



Table 9-2. 


Operator CommunrcaHons Error Messages (Cont'd.,) 




Error Code 


Meaning 


— 


OC 12 


Program of wrong type. 


OC 13 


Cannot change permanent assignment. 




OC 14 


No room in assign table. 




OC 15 


Device is not spooled. 




OC 16 


Invalid priority value. 




OC 17 


Time invalid. 




OC 18 


Terminal not in output mode. 




OC 19 


Invalid pack number. 




OC 20 


Invalid disc number. 




OC21 


Pack not there. 




OC 22 


Invalid size field. 




OC 23 


Space not available. 




OC24 


Missing or invalid line count value. 




OC25 


$JOB not first line of file. 




OC26 


Cannot assign re-entrant foreground. 




OC27 


Logical file in use. 




OC28 


File permanently assigned. 




OC29 


Timer schedule full. 




OC 30 


Program already scheduled. 




OC31 


Invalid interrupt designation. 




OC32 


Program already connected. 




OC 33 


No program is connected to interrupt. 




OC34 


Word number must be - 1 1 1. 




OC35 


"FROMDATA" does not match disc data. 




OC36 


Cannot modify "EOF" sector. 




OC37 


Address Invalid. 




OC38 


User number not present where required or not valid. 




OC39 


User number already exists. 




OC40 


Program not on timer schedule. 




OC41 


Date invalid. 





9-15 



Revision A 
May, 1974 



Table 9-3. Operator Communications Modules 



Commands beginning with 
the letters: 



A-B 

C-I 

J-M 

N-R 

S-Z 



Are processed by: 



0PC0M1 
0PCOM2 
OPCOM3 
0PC0M4 
OPCOM5 



9-2 



OPERATOR MESSAGES 



There are four general types of operator messages generated by DMS: Physical 
device error, manual I/O reqiest, foreground operotional error, and user program operator requests. 

9-2. 1 Physical Device Errors 

Physical device error messages occur when the I/O system detects a hardware 
problem while attempting to process a request. After taking appropriate action, the operator 
may release the program hold condition, permitting the request to be reinitiated by the I/U 
supervisor. Table 9^4 defines each error code. 

For format of the error messages Is as follows: 

XXXXXX : DEV YY ERROR ZZ 

where: XXXXXX Is the program name. 

YY is the physical device number 
ZZ is the error code. 

The operator should respond to an error message of this type with one of the 
following commands. 

RP,XXXXXX 

or 

AP,XXXXXX 

to resume or abort program "XXXXXX" respectively. 

Error code 01 does not require an operatpr release other than correction of the 
off-line condition. Program execution is automatically continued. 



9-16 



Table 9-4. Physical Device Error Messages 



Error Code 


Definition 


1 


Device nof "ON-LINE". 




2 


Read error (Checksum, Parity, etc. 


). 


3 


Write error. 




4 


Paper Tape reader gate open. 




5 


Paper tape punch paper low. 




6 


Card reader command buffer full. 




7 


Card reader stacker full. 




10 


Line printer trouble. 




11 


File protected. 




12 


Unrecoverable disc error. 





9-2.2 



Manual I/O Requests 



A manual I/O request occurs when a program has Initiated a request such as 
reposition paper tape, which cannot be performed under program control. In such cases the I/O 
handler will issue an operator hold message. When the operation is performed and the program 
hold condition released, control will be returned to the calling program with theoperation 
complete status. Table 9-5 defines each message. 

The format of the error message is as follows: 

XXXXXX : YYYZZ 

where: XXXXXX Is the name of the requesting program. 

YYY is the abbreviated function code definition. 
ZZ is the device identification. 

The operator should perform the requested function and then resume the program 
with the following command: 

RP, XXXXXX 



9-17 



Table 9-5. Manual I/O Request Messages 



. — 1 

Function Code 


Definition 


RPF 
BSF 
BSR 
BSR+1 


Reposition file. 
Backspace file. 
Backspace record. 
Backspace 2 records. 



9-2. 3 Foreground Operational Error 

A foreground operational error occurs when a foreground program cannot be initiated 
when it is required. The format of the associated error message is shown below. 

**OC** :FG ERR N - XXXXXX 

where: N is the error code (see Table 9-6). 

XXXXXX is the program name. 

Table 9-6. Foreground Error Messages 



Error Code 


Definition 


2 
3 

4 

5 


Program is not present in the disc directory. 

Too many programs are already active; in- 
sufficient table space. 

Insufficient core available for loaJinq a 
foreground module. 

Attempt to load an invalid file type into 
foreground. 



9-2.4 



User Program Operator Requests 



A user program operator request is generally given by a program whenever a specific 
action of the operator is desired. These messages ore of the form 

program : message 

where: program is a six ASCII character program name and message is one to 

fifteen characters of text designating the activity to be performed. 



9-18 



For example, a background program request to mount a magnetic tape might be 
output OS follows: , 

BAKGND: TAPE 3 DRIVE 1 

Once the operation has been performed, the program should be released with the 
following command. 

RP, program 



9-3 



PROGRAM MESSAGES 



Program messages are those designated for the programmer or the person controlling 
the execution These include program abort messages (see Table 9-7), file system error conditions 
(see Table 6-1), job control messages and normal program output. 

Messages generated by DMS, Including program abort messages and file system 
errors are output to the program's output device. This Is determined as follows. 

1) If the message Is an operator message, such as a HOLD message. It Is output 
to the Operator Communication Device. 

2) If it is a Background message, It is written to Background logical file 6 
(List Output file). 

3) If the system is a spooled DMS configuration, and the program for whom 
the message was Intended was initiated at a terminal (TTY or LRU, the 
message Is output to that terminal, 

4) If none of the above, the message Is output to the Operator Communication 
Device. 

A summary of all messages output by DMS and the standard DMS processors Is 
Included in Appendix C. 

Table 9..7. Program Abort Messages 



Error Codes 


Definition 




1 


Program called "ABORT" service. 




2 


Program aborted via Op. Comm. key-In. 




3 


Instruction trap violation. 




4 


Memory protect violation. 




5 


Stall alarm interrupt. 




6 


Floating point overflow. 




7 


Invalid "BLU" operand. 




10 


Unassigned device code. 




11 

, 


Invalid function code. 





9-19 



Revision A 
May, 1974 



Table 9-7. Program Abort Messages (Cont'd. ) 



Error Codes 



12 

13 

14 

15 

16 

17 

20 

21 

22 

23 

24 

25 

26 

27 

32 

33 

34 

35 

36 

37 

40 

42 

43 

44 

45 

46 

47 
50 



Function 



Failed to open a device before using it. 

Program attempted to input below its lower bound. 

Program attempted to input above its upper bound. 

Temporary storage exceeded. 

File extents overrun. 

Program read a job statement record. 

System service called with invalid parameter. 

Unable to load "BAKGND" program due to size limitations. 

Invalid absolute load module origin. 

Invalid open request (disc file). 

Invalid file type for loading. 

Invalid foreground interrupt specification. 

Invalid program starting address. 

Relocatable Background over-laps 32K boundary. 

Dynamic Memory Request for more core than is in the system. 

Invalid request to return Dynamic Core. 

Invalid parameters on Dynamic Assign call. 

Assign table overflow. 

Invalid parameters on Dynamic Core Manager call. 
Abort foreground program by terminal user request. 
Attempt to use duplicate or nested SADD cards. 

No room on disc for spool file. 

Irrecoverable disc I/O error. 

Spool Assignment made to device which Is not spooled. 

Accounting disc pack full. Unable to create new accounting 

file. 

Read Access to file prohibited for this user. 

Write access to file prohibited for this user. 

Background Job time - limit exceeded. 



9-20 



Revision B 
March, 1975 



9-4 DMS SYSTEM START-UP PROCEDURE 

The following procedure is used to load DMS from disc and start -up the system. 

Master clear the CPU, mount the DMS master pack on the proper disc drive, and 
power up the system hardware. Enter the disc bootstrap, select the desired boot -in options by 
setting the appropriate sense and/or control switches, and load DMS. The boot-in options are 
described In Table 9-8 and Table 9-9 

The system will output the message: 

BAKGND:*** START DMS*** 

on the console device. If this message is not output and the display lights are flashing in a 
right circular motion, the master pack was not mounted on the proper drive and the procedure 
should be re -started. 

In accounting systems, the system will next ask for the current date by outputting the 
message: 

ENTER DATE: MM-DD-YY 

The date should now be entered starting in column 1 in the form MM-DD-YY where 
MM is the number of the current month (01 -12), DD is the current day (01 -31) and YY is the 
last two digits of the year. If the date is not entered in the proper form, the message: 

INVALID DATE: RE-ENTER 

will be output and the date must again be input. 

If desired, an empty line may be entered for the date. This will cause the system to 
use the latest date found in the accounting files on disc as the current date. If no date has 
been found in an accounting file and a blank line is entered for the date, the message: 

DATE MUST BE ENTERED 
ENTER DATE: MM-DD-YY 

will be output and a date must be entered as described in the preceeding paragraph. 

After properly inputting the date, the system will request the time of day with the 
message: 

ENTER TIME: HH:MM:SS 

The time must now be entered starting in column 1 in the form HH:MM:SS where HH 
is the current hour (00-23), MM is the current minute (00-59), and SS is the current second 
(00-59). The time may be entered in the form HH:MM in which case 00 is used as a value for 
seconds. If the time is not entered in the proper form, the message: 

INVALID TIME: RE-ENTER 



9-21 



Revision B 
March, 1975 

will be output- and the time must again be input. If the current date and time are less than a 
previous date and time stored in an accounting record on disc, the system will output the warning 
message: 

DAT^^IME IS LESS THAN PREVIOUS, (MM-DD-YY HH;MM:SS) 

The newly entered date and time have not yet been stored on disc. If desired, they 
may be changed by re-booting the system at this time. 

Both accounting and non-accounting systems will output the message: 

BAKGND:***DMS READY*** 

when the initialization process is complete. 

The stall alarm, program restrict, and console lock may now be enabled, if desired. 

If it is desired to change the date and/or time which were entered above, the 
operator communication commands /SD (set date) or /ST (set time) may be used. 

Examples: 

NON-ACCOUNTING SYSTEM: 

BAKGND:***START DMS*** 
BAKGND:***DMS READY*** 

ACCOUNTING SYSTEM: 

BAKGND:***START DMS*** 
ENTER DATE: MM-DD-YY 

10-23-74 (October 23, 1974) 

ENTER TIME: HH:MM:SS 

14:27:45 (2:27:45 PM.) 

BAKGND:***DMS READY*** 



9-22 



Switch 



Revision B 
March, 1975 



Table 9-8. Sysl-em Boot Sense Switch Options 



Function 



Set-Use physical device number specified in control switches 
0-5 as console PDN. 

Reset-Use default console PDN (specified at sysgen time). 



Set-Halt after loading DMS from disc. This allows patches 
to be made to the system before system initialization is 
started. Restart execution at location after patches are 
completed. 

Reset-Do not halt after loading DMS from disc. 



Set -Select options as specified In control switches 6-23. 
These options are described In Table 9-9. 

Reset-Do not select options specified in control switches 
6-23. 



Set-Zero core before loading the system from disc. This 
will initialize semi-conductor memory which may have been 
powered off. 

Reset-Core is not zeroed before system is loaded. 



9-23 



Revision B 
March, 1975 



Table 9-9. System Boot Control Switch Options 



Switch 


Function 


0-5 


Alternate console PDN-If sense switch 1 is set, the physical 
device number of the console device is selected control 
switches 0-5. If an invalid console PDN is selected, the 
system will halt. System initialization may be continued 
by selecting a valid console PDN and pressing halt/run. 


15* 


Set-Do not automatically spool out leftover output spool 
files. 

Reset-Leftover output spool files are automatically spooled 
out to the proper spooled device. 


16* 


Set-Delete all input and output spool files (S:NNNN and 
S^NNNN). Leftover spool files will be deleted and will 
not be spooled out. Operator verification on the console 
device is required for this option. 

Reset-Spool files are not deleted. 


17* 


Set-Delete all acronim work files (CI:/NN-C9:/NN, 
ED:/NN,RC-/NN and TP:/NN). Operator verification 
on the console device is required for this option. 

Reset-Acronim work files are not deleted. 


18* 


Set-Compress pack specified by operator. Operator entry 
and verification of a pack number on the console device 
i? required for this option. Files on the specified pack 
are moved down such that all available space is combined 
into one large contiguous area. If control switches 16 
and/or 17 are also set, the spool and/or Acronim files will 
be deleted prior to compressing the pack. The system 
must not be halted while the pack is being compressed. 

Reset-No pack compression occurs. 


19* 


Set -Inhibit loading of resident foreground programs. 
Reset -Resident foreground programs are loaded. 


20* 


Set -Inhibit entry of in-core-directory (MDD) entries. 
Reset -In -core -directory entries are entered. 


*Sense switch 3 must also be set to select this option. 



9-24 



SECTION X 
1 108 REMOTE JOB ENTRY SYSTEM 



10-1 GENERAL DESCRIPTION 



The 1 108 Remote Job Entry System (RJE) Is a software communication package 
designed to handle data transfers between a UNIVAC 1 108 operating under the EXEC 8 
Operating System and the Datacraft 6024 operating under DMS. A Universal Synchronous 
Interface is utilized for communication on the 6024. 

The 1 108 RJE system handles all message compression/decompression which is unique 
to the EXEC -8 1004 Symbiont processing system. The 1004 Symbiont P'-^^'^es/or submission^ of 
1108 bafch job streams from a remote batch terminal (i.e., the Datacraft 6024 under DMS) and 
or processiig o that job in the normal EXEC 8 environment. The 1004 Symbiont prov-des or 
woretrods of output^ back to the terminal. One is the completed job's list output (PRINjrf.le, 
Ihicrthe 1 108 RJE^ystem automatically spools out to the Datacraft 6024 List Output device. 
The second form of output is the "PUNCH" file which under normal UNIVAC P^^^ur^' ^ 
desianed to be punched out as normal job punched card output. However, the 1 108 RJE system 
?rea?s the e "PUNCH" files as data files and leaves them on the Datacraft 6024 disc as permanent 
DMS card Image data files. This provides the ability to transfer part al resul s of data computa- 
tions made on the UNIVAC 1108 to the Datacraft 6024 for additional processing. These permanent 
files may be later deleted in the normal DMS manner. 

Operating under the spooled DMS, 1108 RJE will accept input for transmission from 
the Background Batch Stream. Since DMS accepts background input from any input termmaj on 
he Datac a?t 6024, this provides the ability to transfer 1 108 job streams f-- -/, ^^^ ^ °; , . 
ba^ch terminal on the 6024. Similarly, output from the 1 108 may be accessed and displayed at 
any output terminal on the Datacraft 6024. 

10-2 SYSTEM COMPONENTS 

1 108 RJE consists of three software modules, as described below. 

10-2. 1 Resident Device Handler 

The Resident Device Handler is a regular DMS resident handler, which communicates 
with the 1 108 over a Synchronous Interface Unit. The handler handles all data commumca ion 
operations, such as message formatting, message checking, and line communication via interrupts. 

10-2. 2 F oreground Communication Handler 

The Foreground Communication Handler (Rl 108) is a regular D^^Snon -resident 
foreground program which provides an extension to the resident handler. Rl ^08-^^^^^^ 
decompression and transmission, input/output queue processing, and ^P^-J^J^^r^y.^o^ 
for the RJE system. This foreground program is resident only when needed or actual transmission/ 
reception, and is not resident when the 1108 is not connected or only in o "probe/ack mode, 
which is used to maintain communication when no data blocks are being transmitted. 

10-1 



Revision A 
May, 1974 

10-2.3 Backgrou nd Process or 

The RJE Background Processor (REMOTE) is a normal background program which runs 
in a DMS background batch stream. REMOTE is used for message compression and input queueing. 
Each job processed by REMOTE is placed on a transmission queue. Jobs wait on this queue unt-l 
the 1 108 requests input, at which time they are sent for processing on a first in-first out basis. 

10-3 COMMUNICATIONS CONTROL 

The following paragraphs discuss the methods of controlling communications to the 
Remote 1108. 

10-3. 1 Establish ing Communicoftons 

There are two ways to establish 1 108 communications. One is to enter a job for 
input transmission through the background processor REMOTE. This will automatically initiate 
the foreground program Rl 108. Rl 108 con also be started manually via an operator communica- 
tions (OPCOM) key-in to initiate prqgram. 

IP,Rn08,.200 

(200 is the priority of execution in this example) 

Once initiated, Rl 108 begins probing the 1 108 once every 10 seconds. This process 
will continue until either the 110^ responds with a message, or the operator makes a "terminate" 
key -In. 

10-3. 2 Termi nating Communications 

When it is desired to stop communication with the 1 108, the special "terminate" 
key-in (12) Is used on an initiate request as follows: 

IP,R1108,.200,. 12 

If Rl 108 has not yet established communications when this key-in is made, it will 
be told to stop attempting to do so. 

If files remain on the transmissipn queue when Input is terminpted, they will remain 
on queue until communication is re-established in the normal manner. These files will, however, 
be lost if the DMS system has to be re -booted. 

10-3.3 Status 

The status of the 1 108 system can be determined by the initiate key-In with the 
parameter "1" as follows: 

1P,R1 108,. 200,1 



10-2 



^ I Revision A 

May, 1974 

The response to fhis request will be a message displayed on the operator 
communications device of either "ACTIVE", if normal communications is proceeding, or 
"PROBE", if R1108 is still attempting to connect to the 1108. 

1 -3. 4 Special Functions 

Tv/o additional special control functions can be sent to the 1 108. These are 
"Halt" (parameter = 7) and "Halt-Go-Voice" (parameter = 8), both of which are used to 
Indicate to the 1 108 a request to temporarily suspend communications. These parameters are 
passed on a standard Initiation call as follows: 

.7 
IP,Rn08,.200 ( s) 

10-3.5 Special Message from 1108 

If the Datacraft computer receives a "Halt-Go-Voice" function from the 1108, the 
following message will be typed on the operator communications device. 

R1108 : HALT-GO-VOICE 

Communications is then suspended until released via the OPCOM key-in: 

RP,R1108 

10-3.6 1108 Down 



If the 1108 does not respond for 20 seconds, a "NACK" (negative knowledge) is 
automatically generated. If this happens again, the message 

1108 DOWN?? 

is typed on the operator communications device and the system waits for either an 1 108 response 
or operator input. 

10-4 TRANSMITTING A JOB 

Input job transmission Is accomplished through the background processor REMpTE. 
REMOTE reads input jobs, compresses them for transmission, and calls Rl 108 to place the job 
on the send queue. 

10-4. 1 Initializing RJE 

Whenever DMS is loaded from disc, the RJE system must be Initialized with the 
first transmit number via the special OPCOM key-in: 

IR,XXXX 
where: XXXX Is the first transmit number to be used. 



10-3 



The RJE system will automatically increment the transmit number for each job 
transmitted, and output the number of each job as it is sent to the 1 108 on the operator console. 

If no transmit number is specified when a job is Input for transmission, the operator 
message 

INIT 1108 TRNO; 

will be output to the operator communications device and background suspended. The special 
job number should then be entered and background released. 

10-4.2 Background Job St ream 

The first card of on 1 108 input job should be a ^'RUN card and the last card must 
be a '('FIN card. Thus, the background job stream will be as follows. 

SJOB 



$REMOTE,options 

a)RUN 

(deck to be transmitted) 
(OF IN 

SEOJ 



10-4.3 ',REMOTECard 



Various options may be placed on the SREMOTE card. The generalized form of 
this card is as follows. 

C 
SREMOTE,X ,N ,(slze) 
D 

W 

10-4.3, 1 Class of Service 

Various 1 108 systems allow a specification of class of service or P|''°'''|'y "^^^J?^ 
input deck. This class of service Is represented by the (C, X, D, W) field on the "REMOTt 
card. 

The field may be left empty to indicate the standard class of service (blank). This 
is denoted by two consecutive commas if other options are present, or no option field if there 
are not other options. 



10-4 



10-4.3.2 Listing OpHon 

The ",N" field is optional, and if present, indicates that no listing is to be made of 
the deck being processed. If the field is omitted, the deck being transmitted is listed. 

10-4. 3. 3 Size Option 

The ",(size)" field specifies the size in sectors to be used in creating the comprpssed 
input file. About's-lO cards per sector is the standard compression factor. If this field is i 
omitted, the default size of 40 sectors is used. 

10-4.4 Source Input 

REMOTE reads its Input from logical file (job stream). All card images, including 
cards containing a dollar sign in column 1 are transmitted until a Ca^FIN card is read. 



10-4.5 Error Messages 

Table 10-1 lists the error messages that may be printed by REMOTE and the metfining 
of each. An abort is made after each error. 

Table 10-1. $REMOTE Error Messages 



Message 



BAD DATA ON CARD 



NO ROOM ON DISC 
FOR FILE 



FILE NAME ALREADY 
USED 



INVALID CLASS OF 
SERVICE SPECIFIED 



Cause 



Invalid $REMOTE card 
format. 

There is insufficient disc 
space available for the 
spooled input file. 

This 5STRNO number 
has already been used 
indicating an invalid 
number was keyed in 
on the IR,XXXX key -in, 

The class of service field 
on the '.REMOTE card 
contains an invalid 
character. 



Action to be Taken 



Correct SREMOTE card and rerun.; 



Rerun later when disc space is avcjiiL 
able or create some disc space by: 
deleting unneeded files. 

Re-enter the "IR,XXXX" commancjl 
to reset the TRNO to the correct ; 
number. 



Correct SREMOTE card and rerun, 



10-5 



REMOTE OUTPUT 



Output received from the 1 108 Is divided Into two classes: 1) output to be spoiled 
to the printer, and 2) output to be saved on disc. Output from an 1 108 normally comes as prther 
punch files or print files. This provides a suitable classification system. Print files are 
automatically spooled out, while punch images are left on disc. 



10-5 



10-5. 1 Print Files 

Output print images are automatically uncompressed and spooled out to physical 
device 6 (printer) through DMS spooled files. All necessary carriage controls is supplied by 
the decompression process. 

10-5. 2 Punch Files 



When a punch file is received from the 1108, a disc file with public access is 
automatically created to receive the data. The punch file is decompressed using the usual 
technique and placed in the new file in symbolic form. 

10-5.2. 1 File Names 

Dynamic files created for punch files are named according to: 
RXYYYY 

where: YYYY is the transmit number of the job which created the file. 

X is a single character which is normally "^". However, if the 
resultant file name is already in use, the X character will be 
Incremented by one to the next ASCII character until a unique 
file name is found. 

10-5.2.2 Operator Notification 

When such a punch file is received, the operator is notified via the message: 
RXYYYY RECEIVED FROM 1 108 



10-^ 



SECTION XI 
SYSTEM GENERATION 



11-1 SCOPE OF DOCUMENTATION 

Sections XI - XIV describes the procedures for generating a Disc Monitor System 
(DMS). 

11-2 GENERAL 

System generation is the procedure used to produce a functional DMS for a specific^ 
hardware configuration. 

The procedure for generating a customized DMS requires and uses a functional DMS 
system. 

Each installation is supplied with a functional DMS which is configured to the harcjl- 
ware supplied with the system. In addition to an operation DMS, the basic configuration modu|es, 
the disc initialization file, and the source modules for system and background data are supplied. 

Generating a customized system is accomplished in three phases: Phase I consists (jf 
modifications to the source file in order to incorporate the data pertaining to the user applicatilon. 
Phase II produces the input modules for disc initialization. This phase requires an operational 
DMS. Phase III uses the System Generation System (SGS) to initialize the disc. This phase 
produces a functional DMS, 

Phase III is also used to regenerate the system supplied with the installation. Section 
XIV describes the operating procedures necessary to generate a copy of the original DMS. 



n-1 



SECTION XII 
PHASE I - SYSTEM CONFIGURATION 



12-1 GENERAL 

This secHon describes the procedure for constructing or modifying the various tables 
required for DMS. 

12-2 PARAMETERIZATION 

Prior to generating a Disc Monitor System, several system tables and constants must 
be constructed to define the specific hardware configuration and operating environment under 
v/hich the system will function. 

12-2. 1 Required Definitions 

The items which must be defined in the system tables are: 

o The peripheral devices contained in the configuration; their interrupt 

levels, channel and unit numbers; and their operational status in regard 
to the DMS application. 

o The size and type of the disc(s), 

o The interrupt linkages for all system Interrupts. 

o The total available memory size. 

o The size of the System Common (SYSCOM) memory area. 

o The size of: the Master Disc Directory; of each system disc file; of 

system reserved areas on disc; and of dynamic spool files. 

o The system service linkages for all BLU instructions. 

o The maximum number of programs that will be executed concurrently, 

o The maximum number of resident foreground programs. 

o The maximum number of timer-scheduled programs. 

o The size of the disc I/O queue. 

o The default density, characters/word and mode for magnetic tape 

devices. 

o The usage characteristics and priorities of each terminal device in 

the system. 

12-1 



o The default options, memory size and device assignments for background 

jobs. 

The tables and constants are contained In two DMS modules: The System Data Module 
(SYSDAT) and Background Data Module (BGDATA). It is not necessary to modify the BpmTA 
module unless other than standard default assignments are desired for background logical files. 
The standard BGDATA is sufficient for all hardware configurations, but may be modified if 
desired. To simplify the initial generation of a DMS for a new configuration, SYSDAT and 
BGDATA are provided in assembler source form. These modules reflect the installation config- 
uration. As new system requirements arise, these modules can be modified as necessary. 

A listing of a sample SYSDAT module is shown in Appendix E, Appendix F contains 
a listing of a sample BGDATA module. Each module has an index of the tables contained in the 
module. The index Is on page 1 of the listing. 

12-3 PERIPHERAL DEVICES 

The proper definition and configuration of the functional parameters of a peripheral 
device is one of the most important aspects of generating a customized Disc Monitor System. 
In particular, the use of a peripheral device as a terminal Is the most Involved and demanding 
task confronting the user. 

The following paragraph discusses this area of application. 

12~3. 1 Terminals 

DMS provides the ability for any peripheral device other than disc to be configured 
as a terminal. Any terminal that is an output device can have program output spooled to it via 
disc files. Any terminal that Is an input device can interact with the re-entrant editor 
(ACRONIM) or enter spooled background jobs, providing that the proper configuration of the 
appropriate DMS modules is present in the system. ACRONIM and spooling can only be used 
on terminal devices. A device Is established as a terminal by two operations: 

a. Constructing a Terminal Control Block (TCB) for the device in the SYSDAT. 

b. Making sure that the required device handler is assembled with Flag bit 20 
reset (off). 

When terminals are to be used with DMS, the I/O Executive Module must be 
incorporated in the system, along with the necessary support routines for the terminal and the 
lOEXEC. 

In the case where only certain devices are to be treated as terminals, only those 
modules associated with the device should be assembled with Flag bit 20 reset. This approach 
saves substantial memory space in the resultant system. Refer to Section XIII for details of 
assembly options. 



12-2 



Revision C 
November 1975 



12-3.2 Defining Peripheral Devices 

Each peripheral device that must operate under DMS requires a set of External 
Equivalence statements to define the device characteristics. These definitions must be mserte^d 
in the External Equivalence Table (Table B of the SYSDAT module). 

In the following paragraphs a generalized three -character name is represented by 
XXX, e.g., in the channel/unit definition for Line Printer A the XEQV statement is: 

XEQV LPACU, '0300 
and the general form is 

XEQV XXXCU, 'n 
The required definitions are: 

Channel/Unit Number XXXCU 

Teletypes, CRTs and Mag Tapes OTHER DEVICES 

Device Interrupt Level: 
Interrupt Number: XXXI (Note 1) Unitary Mask: XXXIL 

Interrupt Control Instructions: 

None Unitary Arm UAXXXI 

Unitary Disarm UDXXXI 

Unitary Enable UEXXXI 

Unitary Inhibit UIXXXI 

NOTE 1. 

The interrupt level for teletypes, alphanumeric displays, 
and magnetic tape drives is specified as a number from 
0-71 which represents the level. The value of the number 
determines the group in which the level belongs, e.g., 
0-23 = Group 1, 24-47 = Group 2, 48-71 = Group 3. 
The necessary interrupt control instructions are built 
by the appropriate handlers. The console teletype may 
operate from separate input and output interrupts. This 
is done by using RTO as the name of the device, and 
coding the equivalence RT 01 as the input interrupt 
number. The output interrupt must be the next lower 
priprity interrupt. 

The operator communication device must be defined in spooled systems by the 
definition 

XEQV OPCOMD, 'XX 

where 'XX is the Physical Deyice Number of the terminal which Is also the console 
teletype. The System Initialization Module will then establish the necessary control linkages. 

12-3 



Revision C 
November 1975 

For examples of the various formats used in the XEQV statements, refer tc Table 8 of 
the SYSDAT Module (Appendix E). 

The devices must also be defined in the Peripheral Device Coordination Table (PDCT). 
This table contains an entry for each device used in the system, except for discs. Regardless of 
the number of drives or types of disc systems in the configuration, only one entry Is made in the 
PDCT. If the console terminal is used as an interactive terminal in spooled systerr.s, this device 
will have two entries In the PDCT, one for Physical Device Number 01, and one entry for its 
terminal number. 

Each entry in the PDCT contains the handler address, the device type code and the device 
busy flag address. Refer to Table 4-3 for definition of type codes. The relative position of an 
entry in the PDCT determines the Physical Device Number (PDN) of a device. If a PDN is to be 
unused, a dummy entry (of zeros) can be placed in the table. 

The last entries in the PDCT consist of a table of device busy flags. There is one flag 
for each device controller. These flags must be defined in the External Definition Table (Table 
A of SYSDAT). 

Notfc -hcv a card reader and line printer have separate busy flags, but two magnetic tape 
drives operating from one controller have only a single busy flag. 

For examples of entries in the PDCT refer to Table L of SYSDAT. For examples of the 
required XDEF statements concerning a device, refer to Tables A and L. 

The Magnetic Tape Handler requires each software transport number being utilized 
to be associated with a specific PDN (physical device number). This association Is accom- 
plishec by identifying each software transport number being utilized with a specific service 
routine. The rs'aHve position of the Service routine entry in the PDCT determines the^ 
physlcc ■ devic-i number with which the transport number is associated. This identification Is 
made bv specifying the additional XEQV's: MCAOTN, MCAITN, MCA3TN, MC20TN, etc. 
The staiidard default retry limits/posJtioning and special action options are described in section 
5-2.3. If it is desired to use the standard default options no additional XEQV s need be 
specified. If it is desired to change any of the standard defaults, any or all of the following 
XEQV 3 may be specified. If any of these are specified they will be flagged on the cataloger 
map as be°ng njltiply defined, this is correct however. The default number of retries are 
speciflad w- A he XEQV s MCA0R1, MACA1R1, etc. Bits 23-16 specify the rv -l er of read 
retries sits 15-8 the number of write retries, and bits 7-0 the number of erase rstries. The 
defaulf software EOT location is specified with the XEQV s MCA0R2, MCA1R2, etc. This is 
specified as a value less than 256 which is the net number of forward requests allowed past 
hardware EOT before reaching software EOT. 

The error positioning and special close action are specified with the XEQV s MCAOPM, 
MCAIPM, etc. The bits of this word are defined as follows: 

B23- output read error hold message 

22-18- zero 

17- output "UNLOAD TAPE" message on dealiocatior. 

"i6- rewind upon deallocation 

15- wait for off-line on deallocation 

U,-13- zero 

12- output EOT hold message 

] 1 - zero 

iO- position after write fault record 

9- position between erasure and faulty record 

8~ psotion before erasure 

7- output write error hold .nessage 

6-5- zero 

4- treat all write functions (2, 4, 5 and 6) as nuH functions 

3- output "WP VIOLATION" hold message upon receiving a write 
function (2, 4, 5 and 6) 

12-4 



Revision C 
November 1975 



2- 

1- 
0- 



zero 

position after read fault record 

position before read fault record 



12-3.3 Terminal Control Blocks 

A Terminal Control Block (TCB) must be established for each device which will be used 
for spooled I/O or as an interactive terminal, or both. 

Each TCB consists of 21 words. The format and content of each word are shown in the 
following table. 

Table 12-1. Terminal Control Block 



Word 



2-9 



10 



11 



12 



13 



14 



Contents 



Contains the PDN as defined in the Peripheral Device Coordination Table. 



Zero 



Contains the address of the first word of the next TCB, If there are no more TCB'? 
in the table, this word is set to zero. 



Zero 



Contains the standard word count for ASCII I/O, e. g., the TTY and Card Reader 
word count is 27. This permits up to 80 column I/O. 



Zero 



Foreground execution priority of the terminal. 



12-4A 



Word 



15 



16 



17 



18 



19 



20 



21 



Table 12-1. Terminal Control Block 



Contents 



Defines the default priority of the terminal. In addition, bits 22 and 23 are used 
as follows: 

If B23=1 then the stated priority is the maximum priority for the 

terminal. 

If B22=1 then the stated priority is a fixed value and cannot be 

changed by the terminal. ^^^^ 



Zero. 



Defines the device mode: 

-1 = input only 
= input/output 
+ 1 = output only 



Bits 0-7 contain the lines per page for the device. 
Bits 8-23 define the characters per line. 



Contains the related TCB address: 

For an input device, the pointer is to an output TCB. 

For output devices, the word is 0. 

For I/O devices, the pointer is to this TCB. 



Zero. 



Contains ACRONIM parameters: 

Bits 0-7 define the number ot alphanumeric registers. 

Bits 8-15 define the number of numeric registers -1. 

Bits 16-23 define the number of concurrently active files. 

NOTE 

Word 1 of the first TCB in the table must have 
the label "TCB" and be defined in the External 
Definition Table. 



The label "EOTCB" must follow the last TCB. EOTCB must also be defined in the 
External Definition Table. 

Refer to Table M of SYSDAT for examples of TCB parameters. 



12-5 



12-3.4 Maximum Numbe r of Programs 

The maximum number of concurrently executable programs is determined by the size 
of the Dispatcher Control Table. The standard SYSDAT module (Table F) has provision for five 
programs. The table may be modified to contain up to 128 entries. To increase the size of 
the table, the statements 

DAC *+9 

RDAT 8020 

must be inserted for each program to be added. As an example, suppose it is necessary to 
increase the size of the Dispatcher Control Table in Appendix E. Referring to Page 11 of the 
listing, the last RDAT statement appears on line 409. If it is desired to increase the number of 
table entries by two, then the sequence 



DAC 


*+9 


RDAT 


8(0) 


DAC 


*+9 


RDAT 


8(0) 



must be inserted after line 407. 

To establish the maximum number of programs that can be time-rscheduled concurrently, 
the value of the label TPROGS (Table H) must be changed to the required value. 

The maximum number of resident foreground programs is determined by the contents of 
the word labeled RPLIST (Table G). Each resident foreground program requires a four-word 
block. For example, to change from four entries to six entries, lines 423 and 424 (on page 12 
of the SYSDAT listing) must be changed from 

RPLIST DATA 74,0/ 

RDAT 16(0) 

to 

RPLIST DATA 76,0/ 

RDAT 24(0) 

12.3.5 Disc Storage Characteristics 

The Disc Definition Table (Table I) defines the physical characteristics of each drive 
in the system and links the drive to its controller service routine. 

The first word in the table is labeled D/NUMB and it is used to define the number of 
disc drives in the system. 

NOTE 

The Model 5204 and 5208 Disc systems are each 
considered as two drives. 



12-6 



Revision A 
May, 1974 



Each disc drive requires a 16-word block that defines the disc parameters. The 
position of the block within the table defines the disc number of a drive. 

The entries for each block are as follows: 



Word 1 Each disc controller has associated with it a Controller Busy Flqg, 

labeled DCxBF, where "x" is the disc controller identification letter. 
Each controller must be uniquely identified and have an appropriate 
disc service routine associated with the controller. Necessary 
External Equivalences should be set up in Table B. The master 
disc of the system must be disc controller "A". 
All disc drives sharing the same controller should have word 1 
pointing to the same controller Busy Flag. 



Word 2 Words per sector- 



Word 3 Sectors per track. 



Word 4 Tracks per cylinder. 



Word 5 Cylinders per drive. 



Word 6 Default pack number. This word contains the number of the pack 

currently on the drive. The word is initialized to the default pack 
number. 



Word 7 Absolute sector number of Space Allocation Map on the drive. For 

all discs, other than the main one, the sector number must be 2, 



Word 8 Sectors per space allocation bit. This is the number of sectors^ 

represented by one bit in the Space Allocation Map (SAM). The 
SAM is restricted to a maximum of 224 x 24 or 5376 bits, The 
number in this word should be such that (Word3* Word 4* 
Word5)/word8<5376. 



Word 9 Retry Count-Initially zero. 



Word 10 Drive number. Hardware Command word drive number positioned 

at correct bits for disc i/O commands. 



Word n Channel/Unit number. 



Word 12 Address of Disc controller Service Routine (should be: DACSDCxSR). 



Word 13 Output address word with correct Channel/Unit number. 
(OAW #DCxCU). „______ _^. 



Word 14 Output Command Word Instruction (OCW '^DCxCU) 



Word 15 Address of Disc Controller Queue String Pointer (should be 
DAC$DCxSP). ________^— _—— ^ 



Word 16 Reserved for future expansion. 

12-7 



12-3.6 Disc S forage Area Definition 

The special system storage areas on disc are defined via entries in the External 
Equivalence Table (Table B), The sizes of the areas can be changed to meet the requirements 
of the application. A typical disc configuration is shov/n in Figure 12-1. 

An entry in the Master Disc Directory (MDD) requires eight words, thus each sector 
can contain 14 entries. There are 60 sectors allocated for the MDD in Figure 12-1, and up to 
830 entries can be made. 

In order to change the size of the MDD, the entries 

XEQV MDDSCn (Table B, line 215) 

and 

XEQV MDDE/D,m (Table B, line 224) 

must be changed. The parameter, m, must be a prime number, because a hash coding technique 
is used to make entries in the MDD. The number of sectors required for the MDD is determined 
by the relationship. 

n - ^4 + 0. 99 
With frhe parameters given on lines 224 and 225 of Table B, the required value of n is 
839 



14 



+ 0. 99 = 60 



The checkpoint buffer need only be large enough to hold the background memory 
size for the configuration. To modify the size of the checkpoint area, the statement 

XEQV CKPTSC,601 (Table B, line 221) 

must be changed. 

On multi -drive systems, the checkpoint area can be placed on other than the master 
pack. If the user does not want the background to be checkpointed, CKPTSC can be set to zero. 

The Reserved System Space Sector Count, labeled SYS5C, may be changed as necessary. 
This parameter is used to reserve the storage for the resident DMS system. By assigning a value 
larger than the current system size, the user can insure that extra space will be available so that 
a new, large DMS resident system will fit in the area when loaded by a REPSYS opfjratlon (see 
Section 6-3. 11). If It is not desired to allocate any extra disc storage, the equivalence SYSSC 
may be set to zero. 

It should be noted that the reserved areas are ordered such that the first sector of one 
plus its sector count must yield the first sector of the next. Therefore, if any sector count is 
modified, all first sector values following those areas must be altered accordingly. 



12-8 



Sector 

1 
2 



61 
62 

63 
64 

664 
665 

824 
825 



Absolute Disc Loader 
Word 112 contains the pack number (1 = master pack) 



Storage for Background Default Assignments 



Master Disc Directory 

14 entries per sector; one 8-word entry for each file on the system 
(any pack) 

Contains: File Name 

First & Last Sectors 

Password 

File Type 

Absolute Starting Address ) Load modules only 

Memory Requirements j 



Space Allocation Map (Always 2 Sectors) 

Each bit is used to represent the availability of a fixed portion of the 
disc. One bit represents from 1-40 sectors. 



Checkpoint Area 

Background memory area is dumped here when background is 
checkpointed. 



Resident System 

This is the DMS that is loaded by ADL Into memory on 
boot -In. 



File Storage 
Contains oM DMS files. 

JOBCTL 

FILEMA 

CATALO 

LL (Link Library) 

Wl ) 

W2 ( Work Files 

GOT 

LR ) 

FORTRAN 

ASSEMBLER 

etc. 

Plus user data files and programs. 

Each file identified by entry in Master Disc Directory. 



Figure 12-1. Typical Disc Layout 
12-9 



Revision A 
May, 1974 

12-3.7 Disc I/O Queue Size 

The Disc I/O Queue accommodates six entries, which should be sufficient for most 
applications. If a large number of programs will be concurrently executed, or several disc 
drives are present in the system, the size of the queue should be increased. 

To increase the size of the Disc I/O Queue (Table K of SYSDAT), the statements 

DAC *+8 

RDAT 7(0) 

must be inserted for each additional entry required in the table. 

12-3.8 Magnetic Tape Options 

The Magnetic Tape Options Table (Table N) defines the density, characters/word, 
mode, and type of transport (7 or 9 tracks) as a function of the transport number. The format 
of this data is given in Appendix A. 

The Magnetic Tape Density Table (Line 738) defines the command word density bits 
for each of the standard densities available. Each 3-bit segment of the word is used for one 
drive, with bits 23-21 of the word for drive and bits 2-0 for drive 7. An octal digit of 4 is 
used to Indicate an invalid density. 

12-3.9 System Service Linkage 

The System Service Linkages are defined by two tables in SYSDAT: Table C and 
Table O. 

The linkage table occupies locations 0-37^ (Branch and Link Unrestricted calls). An 
unconditional branch to an appropriate system service is contained in these locations. 

The identification Table (Table O) contains the label corresponding to each system 
service. This table is used by the Link Loader to satisfy external BLU requests, e.g., BLU $l/0. 

No changes should be made in these tables unless additional services are to be 
included in the system. 

12-3.10 Dyn amic Cell Po ol 

The Dynamic Ceil Pool contains 4-word cells used by various system routines to hold 
small quantities of information, e.g., core allocation threads for dynamic core blocks, and to 
maintain spool file queues. 

The standard table size is 100 words (25 cells). The table may be decreased In size 
if spooling is not incorporated in the system. The size may also be reduced If the Dynamic Core 
Manager is not used. 

To increase the size of the table the statement 

NUMCELS EQIV 100 (Table P, line 771) 

st be changed. The value selected must be an even multiple of 4. 



mu 



12-10 



Revision A 
May, 1974 

12-3,11 External Interrupt Definition Blocks 

Any external interrupt that will initiate a foreground prograrri must be^efined via on 
External Interrupt Definition Block. The format of a block is shown in Table Q of SYSDAI. 

Word 1 of each additional block must define the group and level of the external 
interrupt. The group number must be in bits 6-7 and the level must be coded m bits U-i. 

A linkage to the block must be placed in the dedicated location associated wjth the 
group and level of the interrupt. This entry is made in Table E and provides the •nkag«J° ^^ 
block defined In Table Q. Note that the entry points to the TRM instruction -1 (Table U, line 
786). 

The location EXIDBS (Table Q, line 783) must be changed to reflect the number of 
blocks defined In the table. 

12-3, 12 Spooling Parameters 

There are two parameters which may need changing for a given spooled I/O 
configuration. 

The spool pack number (SPPACK in Table B) should correspond to a pack which Is 
always mounted on a drive, or for single drive systems, the pack which is usually mounted. 

The default spool file size (SPLSIZ In Table B) defines the file size (In sectors) that 
will be dynamically created in the absence of explicit size parameters. 

12-3.13 Blocked I/O Parameters 

Two parameters (both in Table B) determine the size of the blocking buffers. The 
label BLOKSC determines the number of sectors to be used and must be greater than tour. I he 
label BLOKWC specifies the word count of the blocking buffer and must exactly I \Z times 
BLOKSC. 

If the parameters are changed when creating a new system or when modifying the 
present system, previously created block files cannot be read. Therefore, care must be exerCised 
so that no files are lost due to parameter changes. 

12-3, 14 Background Default Options 

The background default options should be set to establish the conditions under v^hlch 
most of the background processors will operate. The option word, the flag word, the list ou put 
logical file, and the lines per page parameters can be set via entr.es m the External Equivalence 
Table (Table B). Refer to lines 232 - 235 for the configuration supplied with the standard 
SYSDAT module. 

The default values are established when the system is loaded and when a ''JOB card 
Is encountered. If a spooled system is used, the List Output assignment is taken from the SJOB 
card. 

The parameter BGDTL is the background job default time-limit in seconds. This is 
used only in accounting systems. 

12-11 



Revision A 
May, 1974 

The JOBMES parameter (Line 236) is used to control the logging of background $JOB 
and $EOJ statements. If this parameter is set to zero, then these statements will not be logged 
on the operator console. If the JOBMES value is non-zero the background $JOB and $EOJ 
statements will logged. 

12-3. 15 In -Core Directory Table 

The In-Core directory table (Table R) is used to hold the Master Disc Directory entries 
for those files which the customer desires to have core resident directory entries. It must be 
large enough to hold all of the entries which could ever be typed as core-resident files at any 
one time. The size of the table may be changed by setting the negative number of entries 
(Line 800) and the table size (number of entries times eight into line 801). 

12-3. 16 Accounti ng Parameters 

The Accounting Parameters are external equivalences (Table B) used to define operational 
parameters for accounting systems only. These include the following: 

AFSC Accounting buffer sector count 

ABUF Accounting buffer size in words (AFSC X 112) 

AFSIZ Accounting file size in sectors 

ACPACK Accounting file disc pack number 

LOUSR Lowest user-number allowed in system 

HIUSR Highest user-number allowed in system. 

12-3. 17 Real-Time Peripherals 

For installations utilizing the RTP equipment line, and desiring to use the DMS RTP Handler, 
some information must be coded in SYS DAT and the RTP equipment should be set up accordingly. 

The RTP Handler is configured into the System Data Module similar to most other handlers. 
However, a single RTP Handler is used to control up to 30 RTP "devices" and thus uses up to 30 
DMS physical device numbers. Each RTP "device" on equipment chassis, as listed in Figure 12-3 
is to be assigned one DMS physical device number. 

Each entry in the Peripheral Device Coordinator Table (PDCT), has the following form: 



DAC 
'13 



$RTPH 
RTPBF 



These two lines should be copied for each peripheral device number assigned as an RTP 
device. The label RTPBF should be assigned one storage location. 

The RTP Handler requires the following external equivalences in Table B of SYSDAT: 

RTPCU Channel/Unit number 

RTPIL Interrupt level bit mask 

RTPED* Device Number of I/O Expander (Normally 1) 

UARTPI Unitary arm instruction 

UERTPI Unitary enable instruction 

UIRTPI Unitary inhibit instruction 



12-12 



Revision A 
May, 1974 

Three additional tables must be provided in SYSDAT ^^/^efine the RTP equiprnent^o^^e 
handler. These are defined as follows and must be externally defined via XDEF cards in bYbUAl 
Table A. 

Table RTPTAB is used to correlate DMS physical device numbers to RTP "'device" numl^ers 
(RTF device numbers are encoded in sv/itches on each device and are thus selectable at any tlme^ 
RTPTAB is 30 v.ords long and each entry position corresponds to the RTP "^^^'^ "7^^^-. J^f^f " 
entry consists of the DMS physical device number. For example, if there are 3RTP dev ces m q 
system numbered 2 3 an<? /(normally device l=l/0 expander to which DMS physical device 
numbers 22, 23, and 24- were assigned, RTPTAB would have the following structure: 

RTPTAB DATA • Device 1= I/O Expander 

DATA '22 . Device 2= DMS PDN '22 

DATA '23 . Device 3= DMS PDN '23 

DATA '24 . Device 4= DMS PDN '24 

RDAT '26(0) . Device 5-31 unassigned 

The second table is RTPTB2, which is used to define the interrupt/non -interrupt status 
of each RTP card or channel. RTPTB2 is also 30 words long and each entry corresponds to the 
same rela ive position in RTPTAB (RTP Device 1 = first entry, etc. ). Bits are se in this word ; 

ndic<^ting7haMhe appropriate channel, card, on device has interrupt capab.hties and is always 
to be programmed via interrupts. Zero positions indicate --'"^.yJiP ."^O/^'^^^ 
interrupt capabilities described in Section B. In the case of the 9470 (7430/20) or 9471 74>30/JU 
eauioment chassis, a bit position in the device word is reserved for each chonnelor card slot. , 
lit ^s used for channel 0, Bit 1 for channel 1, etc. For all other RTP devices listed m Figure 

12-3, ?he who°e word should be set to -1 if the device is to be programmed with interrupts and 
zero otherwise. 

The third table, RTPTB3 is used to define which devices or channels contain Analog I/O 
Modules, which require special programrning considerations JMs table is also 30 -°rds long .nd 
corresponds to RTP device numbers exactly as do RTPTAB and RTPB2 ^or 9410 (7480), y4JU 
f747n 9440 (7460), and 9460 (7440) the entire word should be set to -1 {77777777q) for y4b4, 
9485 (7435/47, 49), the bit position (Bit = card slot 0, etc. ) containing these carJs must be ?et 
to 1. 

The only other RTP Handler configuration item is to insure the dedicated interrupt location 
contains a BSL to $RTPIR if any interrupt devices are to be used. 

12-3. 18 Dispatcher Interrupt Definition 

The channel/unit number of the software controlled interrupt on /I and /3 computers 
must be defined by the external equivalences TTY. On /4 and /5 computers, thus must be set 
to zero. Thus the equivalence 

XEQVTTY, j3f 

is used on all DMS systems. Note that this equivalence is not in the Master System Data Module 
but is required for proper DMS operation. 



12-13 



Revision B 
March, 1975 



DATACRAFT 
MODEL* 


RTP 
MODEL* 


DESCRIPTION 


9470 
9471 


7430/20 
7430/30 


Digital Common 
Universal Common 


9460 
9461 


7440/21 
7440/21 


Analog Out Common 
Analog Out Common 


9450 


7450/20 


DAC Common 


9440 
9442 
9441 


7460/20 
7460/21 
7460/22 


High Level Common 
High Level Common 
High Level Common 


9430 


7471/20 


Low Level Common 


9410 
9411 
9412 
9413 


7480/30 
7480/31 
7480/32 
7480/33 


Wide Range Common 
Wide Range Common 
Wide Range Common 
Wide Range Common 



Figure 12-2. RTP Devices (Equipment Chassis) 

12-3.19 V ERSATEC PRINTER/PLOT TER 

The VERSATEC PRINTER/PLOTTER requires the configuration of several model 
dependent parameters. These parameters are set as External equivalencies (XEQV's) which 
ore listed below: 

PPXCU -device channel/unit ('CCUU). 

PPXIL - Interrupt level ('2000000 would represent level 19). 

UAPPXIL - unltarily arm instruction. 

UEPPXIL - unltarily enables instruction. 

PPXC/L - characters per plot line (see Figure 12-3). 

PPXW/L - words per print line (see Figure 12-3). 

where "PPX" designates the appropriate printer/plotter device ("PPA" for systems 
with a single device). Figure 12-3 describes the model dependent settings- 



MODEL 


PPXC/L 


PPXW/L 


200 


70 


27 


1100 


128 


45 


1600 


200 


34 


2030 


232 


78 


2160 


360 


61 



Figure 12-3. VERSATEC Configuration Parameters 



12-14 



Revision A 
May, 1974 



12-4 BACKGROUND DEFAULT FIL^DEVICE ASSIGNMENTS 



Default assignments must be specified In the Background File/Device Control Table 
within the BGDATA module (refer to Appendix F). Default assignments determine the logical 
file/physical device assignments established at the start of each job. The standard BGDATA 
contains assignments required for standard background processors. Additional assignments may 
be included as required for a specific system. 

The total size of the table must be limited to 112 words. The final entry must be 
followed by a "DATA 0", which is used as a terminator by DMS. 

12-5 ASSEMBLY OPTION CONFIGURATION 

The remainder of the configuration process is accomplished by assembly of the various 
modules comprising DMS. It is essential that the correct options are set for the assembly. i 

Normally, when a system is configured for the customer, all of the modules are assembled with 
the necessary options set for the configuration. However, when re-assembly of any modules is 
necessary, care should be taken with regard to the options. 

12-5. 1 SAU Option 

Bit 23 of the $FLAGS word should be set for configuration having a Scientific 
Arithmetic Unit (SAU). This option affects the assembly of the Executive module (6 1607-01 [), 
and Executive Trap module (61612-01). 

12-5.2 Bit Processor Option 

Bit 22 of the $FLAGS word should be set for configuration having a Bit Processor. 
This option affects the assembly of the Executive module (61607-01) only. 

^2-5. 3 Machine Type 

Bit 21 of the $FLAGS word should be set as follows. 

6024/1 and 6024/3 systems: Bit 21 =0 
6024/5 and 6024/4 systems: Bit 21 = 1 

This flag affects the assembly of the SYSDAT module (61606-01). 

12-5.4 Spooled/Interactive Option 

Bit 20 of the $FLAGS word is used to control the spooled/interactive option in various 
system modules and device handlers. Normally, all relevant handlers and system modules are 
configured with the spooled/interactive option set. However, by setting Bit 20, the handlers 
can be configured to operate in the normal direct IOCS mode only. 

If the spooled/interactive mode Is not a system requirement, then all relevant handlers 
must be assembled with flag bit 20 set. Once this is done, the blocks of system space used to 
control the spooling and terminal interaction features may be removed since they will not be 
referenced. In particular, if no spooling or terminal interaction is to be done, and all relevant 
device handlers have been assembled with flag bit 20 on, then the following system modules 
should also be assembled with bit 20 set: 



12-15 



SYSDAT 61606-01 

Executive 61607-01 

Monitor Service Linkage Routines 61608-01 

I/O Control Supervisor 61609-01 

System Initialize 61614-01 

Job Control 61619-01 

Disc File Handler 61670-01 

Operator Communications Modules: 



61695-00 
61695-01 
61695-02 
61695-03 
61695-04 
61695-05 

These assemblies remove all references to the I/O Executive Module (61663-00) and 
the Spooling Service Routine (61669-00), 

12-5.5 Remote Job Entry Option 

The IR (Initialize Remote Job Entry) command at OPCOM is used to '^'^'^'f'^^^l^^^ ^„. 
Remote Job Entry System. Thus on these systems, the Operator Communications module (61695-U^) 
must be assembled v^ith flag bit 19 set to include this command. 

12-5.6 Ac counting Option 

Bit 18 of the <;FLAGS word is used to control the accounting system option in the 
system routines and handlers. Normally all system routines are configured without accounting, 
but by setting bit 18, the routines can be configured into an accounting version ot UMb. 

All of the following modules, if present, must be assembled with flag bit 18 turned 
on to produce functional accounting system: 

SYSDAT 61606-01 

Executive 61607-01 

Monitor Service Linkage Routines 61608-01 

Background Data 61610-01 

Executive Traps 61612-01 

Program Scheduler 61613-01 

System Initialize 61614-01 

Job Control 61619-01 



12-16 



Revision A 
May, 1974 

Operator Communications Modules 61695-01 

61695-02 
61695-03 
61695-05 

Also, all I/O handlers present in the configuration, if accounting is to be done for 
them, must have flag bit 18 set when assembled. The accounting version of DMS references one 
additional module, the Accounting Service Routine, 61703-00. 

12-5.7 50 Cycle Power Option 

Bit 17 of the $FLAGS word is used to control the 50 cycle power option, in con- 
junction with the 120/100 Hz clock. Bit 17 should be set for 50 Hz power and reset for 60 H?; 
power. This effects the assembly of the program scheduler module (61613-01) only. 

12-6 FINAL MODULE PREPARATION 

As final input to Phase II of the SYSGEN procedure, three modules must be assemjbled 
In their configured state and left on specially named disc files. Appendix G contains a complete 
Job Stream list for configuring, assembling, and establishing the link modules. 

12-6.1 System Linkage Module - SYSGEN 

SGS is a core resident System Generation System that is configured by Da to era ft to 
include those devices associated with a specific system. The System Generation System Linkage 
Module (SLMSGS) is equivalent to SYSDAT of DMS In that it contains all pertinent System 
Configuration Parameters, SLMSGS must be on the disc in link module form for input to Phase II. 

12-6.2 SYSDAT and BGDATA 

After any modifications are made, the System Data Module (61606-01) and Backdround 
Data Module (61610-01) must be assembled and left on disc in link modules files with the nof^es 
SYSDAT and BGDATA respectively. The System Data Module must be assembled with the correct 
options. 

12-6.3 DSR 



DSR is the appropriate Disc Service Routine for the disc controller which controls 
the main disc (disc 1) on which DMS resides. This is used by Phase II to supply the Format 
Absolute Sector Address (FASA) routine to the Disc Initialization Routine (DISINT). 



12-17 



SECTION XIII 
PHASE II - SYSTEM DEVELOPMENT 



13-1 GENERAL 

The objecHve of Phase II of the System Generation procedure is to create a disc 
initialization file on an appropriate media for the installation. 

Phase II procedures require a functional DMS and the presence of the required 
Phase I (System Configuration) files. 

The disc initialization file produced by Phase II consists of: 

o Absolute Device Loader 

o System Generation System 

o Disc Initialization Program 

o Resident DMS 

o Processors 

o Utilities 

13-2 PHASE II PROCEDURES 

The following paragraphs describe the steps required for file development. Appendix 
G contains a sample job stream. Pages G-1 through G-4 pertain to the assemblies and file 
creation required by Phase I procedures. 

The remaining pages show the necessary steps to create the disc initialization file 
for a new DMS. These pages will be referenced in the following paragraphs. 

13-2. 1 Bootstrap Module of Device Loader 

The Absolute Device Loader development consists of building a bootstrap module for 
one of the following devices: Absolute Magnetic Tape Loader (AML), Absolute Card Loader 
(ACL) or Absolute Paper Tape Loader (ATL). The appropriate module, selected according to 
hardware configuration, should be cataloged and dumped (in bootstrap format relative to 
location 20g) as the first element of the disc initialization file. This loader is used to load 
SGS for Phase III of System Generation. 

Page G-5 shows a job stream for creating an AML in bootstrap format. 

13-2.2 SGS Absolute Load Module 

The SGS absolute load module consists of the System Linkage Module (SLM) and 
SGS. The SLM for the system Is configured to the hardware of the installation prior to delivery 
of the system, and unless a hardware change is made, this module should not be changed. 

13-1 



The job stream pages G-1 and G-2 shows the customizing performed to configure 
SGS to the installation equipment. 

The file S54390 contains the configured source for SLMSGS. This module should be 
assembled and the object output should be put on a file named SLMSGS. This is part of Phase I. 

During Phase II, an absolute load module of SLMSGS should be created. . If magnetic 
tape is used for the initialization file, the module must be dumped in bootstrap format (DUMPBF). 
For files on cards or paper tape, the Absolute Device Loader format is required (DUMP). In 
either case, the module is dumped relative to location 0. Refer to page G-5 for a sample job 
stream. 

13-2.3 SGS Disc Initialization Load Module 

The Disc Initialization Program (DISINT) is built in an SGS Load Module format for 
execution under SGS. SYSDAT, as configured in Phase I, defines DMS parameters for DISINT. 
The FASA (Format Absolute Sector Address) routine from the Disc Service Routine (DSR) for the 
main disc must also be present to allow DISINT to build correctly formatted command words. 
This combination of SYSDAT, DSR, and DISIMT should be cataloged, making sure that DISINT 
loads last. This is possible since SYSDAT references both DSR and DISINT via External Requests. 
The resulting module should then be dumped relative to some location greater than SGS (20000g 
should be sufficient in all cases) in DUMP format to the appropriate Disc Initialization file. 

Page G-5 shows a sample job stream of this operation. 

13-2.4 S GS Load Module of Resident DMS 

The resident DMS module consists of the handlers and services required for operation 
of the system. 

The configured SYSDAT module (from Phase I), the services, and the handlers are 
cataloged using the job) stream shown on page G-3. All DMS modules except SYSDAT are 
placed on a file which becomes a library file for the cataloger, thus producing a DMS with 
only the required modules included. When setting up modules for the cataloger, the following 
precautions must be observed: 

a) The modules must be ordered such that there is only one pass made 
through this "library file" by the cataloger. 

b) The System Initialize routine (61614-01) must be the last module on 
the file, preceded immediately by the BGDATA module. 

c) The service routines for the teletypes and CRT's must precede the 
respective handlers in order to accomplish a) above. 

When the cataloging is complete, the load map produced should be checked to 
ensure that no modules were linked such that they would load above the System Initialize 
module (link map label SYINIT). If this has occurred, then the preceding precautions were 
not observed, and the DMS produced will not correctly function. 



13-2 



13-2.5 Load Mod ules of Operator Communications Segments 

The non-resident portions of Operator Communications must be cataloged using the 
external definitions produced by the link cataloging of the DMS module, utilizing the RESTRT 
option of the Link Catcloger. 

The six phases of Operator Communications should follow SYSDAT on file 15, 
separated by end-of -files. They are each cataloged as shown on page G-7 of the sample 
Job Stream, using names OPCON, OPCONl,. . . ,OPCON5. 

13-2.6 Sa ving Master Disc Director Entries for Multiple Discs 

If the system has more than one disc, then the Master Disc Directory Entries for all 
packs except the master pack should be saved for reloading onto the new system. This is done 
by using the SAVMOD command of the File Manager as shown on page G-6 of the sample job 
stream. The output file must then be terminated with an EOF. 

13-2.7 Creation of Dynamic Disc Modules 

The SAVE operations consist of first dumping the resident DMS load module in 
save format, followed by the non-resident modules which are required by the new DMS. 

There are nine non-resident modules necessary for a basic DMS: Job Control 
(JOBCTL), File Manager (FILEMA), Link Cataloger (CATALO), and the six operator communica- 
tions segments: OPCOM, OPCOMl, OPCOM2, OPCOM3, OPCOM4, and OPCOM5. 

Other modules can be included as required. For example, processors such as the 
Macro Assembler (ASSEMB) and Utility Package (UTILIT) are saved as shown on page G-8. 
DMS link and source module files required for System Generation are also saved. 

In general, any load, link, or source module files contained on the DMS in use 
may be retained in this manner for inclusion In the DMS being generated. 

The preceding steps, properly performed, produce a binary input file for Phase III, 
Disc Initialization. Phase II produces a "link map" of the configured DMS. This map should 
be retained for reference. 

13-2,8 Deletion of Temporary Files 

In the process of developing a new system, several files were established during 
Phase I and Phase II, e.g., SLMSGS, SYSDAT, BGDATA, DSR, and the Operator Communications 
segments. These files must now be deleted. A sample job stream which deletes the files ts 
shown on page G-8. 



13-3 



SECTION XIV 
PHASE III - DISC INITIALIZATION 



14-1 GENERAL 

Phase III of System Generation is used to produce an operational DMS. The system 
created may be a re-generation of the existing system, or a modified system incorporating new 
processors, services or hardware in which case Phases I and II must be executed. 

If a back-up copy of the original DMS is required, or if the original DMS has been 
inadvertently destroyed, the procedures of Phase III, using the supplied Disc Initialization file, 
will produce a DMS which is identical in all respects to the original. 

The Disc Initialization file (the one supplied with the system, or one created by the 
user) may be on cards, magnetic tape, or paper tape. The file format is shown In Figure 14-1. 

14-2 PROCEDURES 

This paragraph describes the Phase III operating procedures. There are four major 
steps in the procedure. Step 3 is iterative and continues until the initialization file is completely 
read. 

14-2. 1 Loading SGS 



The first module on the Disc Initiazalition file is in bootstrap format, therefore the 
appropriate device bootstrap must be entered (either manually or via the FILL switch). Appendix 
H contains listing of the various bootstraps. 

Load the Disc Initialization file on the input device and, vio the bootstrap loader, 
read the data. When the SGS module is read, the message: 

ABORT 

will be typed and SGS is then in an idle loop, awaiting operator action. 

14-2.2 I nitial Job Control Statements 

Release the system by entering the control key BELL and enter the following statements: 

SJOB 

SASSIGN 4,X (input device assignments) 

$LOADGO DISINT 

The input device (X) is normally 7 for cards, 4 for high speed paper tape, 2 for tele- 
type paper tape and 23 for magnetic tape. 



START OF FILE 



Module 

1 



Module 
2 



Absolute Device Loader in Bootstrap Format: 

Absolute Magnetic Tape Loader (AML) 
Absolute Card Loader (ACL) 

Absolute Tape Loader (ATL) - Selects ASR reader if sense Switch 1 

is set (if not, selects highspeed reader). 

SGS in Absolute Device Loader Format: 

AML assumes DUMPBF (single record) format for SGS. 
ACL assumes DUMP format for SGS. 
ATL assumes DUMP format for SGS. 



Module 
3 

Modules 
4-m 



Disc Initialization Program in DUMP Format: 

DISINT in DUMP format at some location greater than SGS 
background low. ('20000 will always be adequate). 

Master Disc Directory Entries for disc packs 2-n, 8 -word entries blocked 
to 1 12 -word records. 



End-of-File record. 



Modules 
m-n 



Dynamic Disc Files in DMS SAV^ESTORE Format: 



DMS 


Resident System 


JOBCTL 


Job Control 


CATALO 


Cataloger 


FILEMA 


File Manager 


ASSEMB 


Assembler 


ETC. 





End-of-File Record. 



Figure 14-1, Disc Initialization File Format 



14-2 



Revision B 
March, 1975 



These statements assign the binary input file to the appropriate physical device and 
load the Disc Initialization program. 

14-2.3 Disc Initialization 

Once loaded, DISINT types out three messages: 

MOUNT SCRATCH PACK FOR DISC INITIALIZATION 
SET SS2 TO DELETE OTHER PACK DICTIONARY ENTRIES 
RELEASE TO INITIALIZE PACK 

When the system is released, DISINT will clear the Master Disc Directory. If SS2[ is 
not set, the entries for other packs v/ill not be restored. 

After initializing the Master Disc Directory the system vvill print the message: 

RELEASE TO ENTER RESIDENT DMS 

When the system is released, the Resident DMS module is input and transferred to ; 
the disc. The starting sector Is the one specified in SYSDAT, 

The system will print the message: 

RELEASE TO ENTER DMS LOAD MODULES (SET SSI FOR PAUSE) 

When the system is released, DISINT transfers the next encountered dynamic loadi 
module to disc, enters the name in the Master Disc Directory and prints the name of the modulp 
on the list output device. If Sense Switch I Is set a pause will follow each load module,^ | 
allowing operator intervention for paper tape input. A system release is required to continue.; 
During any appropriate pause in this procedure, the operator may re-assIgn the input file via I 
operator communications by entering a "rub-out" ASSIGN statement to change devices. 

The reading of the load modules continues until an end-of-flle is detected, at whi[ch 
time the system prints the message: 

YOUR DISC IS NOW INITIALIZED 

14^2.4 Preliminary DMS Steps 

Master clear the CPU, enter the disc bootstrap and load DMS. 

It Is necessary to create four files for the new DMS; Link Ready (LR), Work 1 (Wl), 
Work 2 (W2), and the GO file. The following statements are required: 

-^FILEMA 

CREATE,LR,0,pack no., sector count, B6,R,W,D 
CREATE,W1,0,pack no., sector count, B6,R,W, D 
CREATE. W2,0,pack no., sector count,6,R,W,D 
CREATE,GO,GORP,pack no, , sector count,6,R,W,D 

System generation is now complete. 

14-3 



Revision A 
May, 1974 



SECTION XV 
BACKGROUND PROCESSOR OPERATING PROCEDURES 



15-1 MACRO ASSEMBLER 

This subsecMon contains operating procedures for using the Macro Assembler in 
conjunction with the Series 6000 Disc Monitor System (DMS). Included are the necessary Job 
Control statements and examples of typical assemblies. 

15-1.1 Linkage with DMS 

The following items must be specified to Job Control prior to making an assembly: 

Input/Output Assignments 

The assembler requests Input/Output from the following logical devices which 
must be assigned to their respective physical devices. These can be made via; the 
i;ASSIGN Job Control statement, if the system default values are not appropriate. 

Logical Device Logical Device Number 

Source Input (SI) 7 

Source Output (SO) 10 

Binary Output (BO) 5 

List Output (LO) 6 

Options 



The assembler is provided with a 24-bit option word from DMS which is set by 
the 50PTI0NS Job Control statement and Indicates the following: 

Bit (Generally referred to as the "Scratch Option") - If set, signifies that all 
statements encountered on pass 1 will be written on the source output 
logical device; and that this device is to be rewound and used as the source 
input device on pass 2. This option is mainly intended for those systems 
having an available mass storage device. 

If bit is reset, then the source input device Is to be used for input to 
both pass 1 and pass 2. Upon completion of pass 1, the source Input 
device is to be repositioned. 

NOTE: If bit of the option word Is not set, then the source output Is 
not used and hence need not be assigned. 

Bit 1 If set, signifies that control Is to be transferred directly to pass 2 upon 

execution of the assembler. The underlying assumption is that the program 
to be assembled has been assembled previously and therefore, pass 1 need 
not be repeated. 

15-1 



If bit 1 Is not set, then the assembly will proceed in the normal manner; 
i.e., pass 2 after pass 1. 

NOTE: If bit 1 is set, then bit of the option word is examined to 
determine the pass 2 input device. 



-ines 



The assembler is provided a 24-bit number from DMS which is set by the SLINES 
Job Control statement. This number specifies the total number of lines to be 
printed prior to initiating a Top-of-Form request on the list output device; also 
included is the heading line followed by two blank lines. Note that if continuous 
line output is desired (i. e. , no heading lines other than the Initial one), the Lines 
specification should be made to be a large number. 



Date 



The assembler is provided a three-word (nine -character) date from DMS. This date 
will be placed on the heading line of each list output page. 

Flags 



The assembler Is provides a 24-bit user flag word from DMS which Is set by the 
^FLAG'S Job Control statement. This word will be examined upon encountering 
a SKFS or SKFZ pseudo-operation. 

15-1.2 Assem bly Examples 

The following examples Illustrate typical Job Control statements and their use in 
making an assembly. 

$JOB user-job-nome 
$ASSIGN 5,LR,10,WI (Note 1) 
SOPTIONS. (Note 2) 
SLINES 55 
SDATEJAN. 1,70 
SREW5 (Note 3) 
SLOADGO ASSEMBLER 

IDEN MAIN PROGRAM 
TMA CAT 

MAIN 

MAIN PROGRAM 

BLL SSUBl 



END 
SUB 1 XDEF SUB1,SUB1 

TJM EXIT 



(Note 4) 



ENDS SUBROUTINE 

15-2 



NOTES 

1. The $ASSIGN statement causes the assembler's lexical 
devices to be assigned to the following physical devices: 

Logical Device Physical Device 

Binary Output (05) Disc (Link Ready File) 

Source Output (10) Disc (Work File *1) 

2. The $OPTIONS statement Indicates that the "SCRATCH 
OPTION" is to be set. 

3. It is necessary to rewind the source output logical device 
(10) since this is done by the assembler upon detecting a 
"scratch option" bit. 

4. A $WEF statement is not necessary since the assembler 
will write an EOF and then backspace over it upon 
completion of the assembly. 

Note in addition that all of the parameters set by the Job Control statements above 
are set as defaults by the $JOB statement, and that therefore, the following example will yield 
similar results to the above assembly. 

$JOB user -job -name 
SASSEMBLER 

IDEM MAIN PROGRAM 



END$ 

15-rl.3 Assembler Messages and Error Codes 

The following is a list of the basic assembler error codes which appear to the 
immediate left of the statement on the list output device. 

M Signifies that the operand contains a reference to a label that has 

multiple definition. 

U Signifies that the operand contains a reference to a label which has 

not been defined, 

O Indicates one of the following: 

a. Operand syntax error 

b. Improper index specification 

c. Improper indirect specification 

d. Improper literal usage 

e. Improper text usage 

f. Improper expression mode 

g. Improper external specification 

15-3 



h. Operand address exceeds permissible limits 
i. Improper statement ordering 

C Signifies that the contents of the operation field contains ari 

unrecognizable operation code. 

L Signifies the absence of a required label In the label field. 

F Signifies incorrect card format (i.e., columns 8, 13 and 14 must be 

blank on all statements other than comment cards). 

P Signifies a MACRO parameter error: 

a. Greater than 20 parameters in a single call. 

b. Expansion of statement exceeded column 72 of line. 

c. Improper parameter formation. 

The following is a list of the basic assembler error messages which are output to 
the operator communications device: 

ASSEMB 1 Indicates that insufficient storage Is available for the assembler 

symbol table and that the job In progress will be aborted upon 
issuing a RELEASE command. (Each label encountered In the 
label field requires three locations of storage. ) 

ASSEMB 2 Indicates that the number of distinct common block names 

encountered has exceeded 25. (The number of common variables 
Is unlimited. ) Upon Issuing a RELEASE command the job will be 
aborted. 

ASSEMB 3 Indicates that on operand error was encountered in a SKOZ, 

SKOS, SKFS, or SKFZ pseudo -operation. Upon issuing a RELEASE 
command the job will be aborted. 

ASSEMB 4 Indicates that an excess number of ESKP pseudo -operations were 

encountered. Upon issusing a RELEASE command the job will be 
aborted. 

ASSEMB 5 Indicates that an Insufficient number of ESKP pseudo -operations 

were encountered upon completion of pass 1. Upon issuing a 
RELEASE command the job will be aborted. 

ASSEMB 6 Indicates that the expansion of a MACRO resulted In an overflow 

of the macro temporary storage area. (Nesting level is too deep 
or the total number of characters in the macro calling parameter 
is too great. ) Upon issuing a RELEASE command the job will be 
aborted. 



15-2 



FORTRAN IV COMPILER 



This section contains operating procedures for using the Series 6000 FORTRAN 
Compiler in conjunction with the Disc Monitor System (DMS). Included are the necessary Job 
Control statements and examples of typical compilation. 



15-4 



15-2. 1 Linkage with DMS 



The following items must be specified to Job Control prior to compilation. 
Input/Output Assignments 

The compiler requests input/output from the following logical devices which must 
be assigned to their respective physical devices. These may be made via the 
$ASSIGN Job Control statement, if the system default assignments are not 
appropriate. 

Logical Device Logical Device Number 

SOURCE INPUT 7 

BINARY OUTPUT 5 

LIST OUTPUT 6 

NOTE 

It should be noted that either compiler output, i.e., 
list output or binary output, may be suppressed by 
assigning the logical devices to the null device (0). 

Options 

The compiler is provided with a 24-bit option word from DMS which is set by the 
SOPTIONS Job Control statement and indicates the following. 

Bit 4 controls Implicit declaration of DOUBLE PRECISION variables and 
constants. If set, all variables beginning with the letters A through 
H and O through Z are implicitly typed as DOUBLE PRECISION. 
Calls to single precision FORTRAN functions are recognized and 
replaced with calls to their double precision counter-parts. If bit 4 
is reset, implicit typing operates normally, as explained in the FORTRAN 
specifications. 

Bit 5 controls assembly language list output of the generated code. If bit 5 is 
set, an assembly language listing of the generated code is output to the 
list output device interspersed with normal compiler list output. If bit 5 
is reset, only the normal compiler listing is output to the list output deivice. 

Bit 8 controls the map output to the list output device at the end of each 

FORTRAN module. If bit 8 is set, the map will be suppressed. If bit B is 
reset, the map will be output. 

Bit 9 controls the generation of code for upper memory map. If the program to 
be compiled Is to run above 32K In memory, then bit 9 should be set to 
generate correct upper map code. If the program will never run in an 
upper memory area, then bit 9 may be reset to produce less code. 

Lines 



The compiler is provided a 24-bit word which specifies the total number of lines to 
be printed prior to Initiating a Top-of-Form request. Also included is the heading 



15-5 



line followed by one blank line. Note that if continuous list output is desired 
(i. e. , no heading lines or Top-of-Forms other than the initial one) the lines 
specification should be made a large number. 

Date 

The compiler is provided a three-word (nine -character) date from DMS which is 
set by the $DATE Job Control statement which will be placed on the heading line 
of each list output page, 

15-2.2 Com piler Examples 

The following is a typical compile and execute Job Stream under DMS. 

$JOB ... 

SASSIGN 5,LR 

SOPTIONS . 

$LINES 55 

SDATE 1/1 AT 

$REW5 

SLOADGO FORTRAN 

C FORTRAN MAIN PROGRAM 



END 
C FORTRAN SUBPROGRAM 



ENDS 
$CATGO 
$EOJ 

Note that through use of system defaults, the same compile and execute could be 
done with the following job stream. 

$JOB 

$FORTRAN 

C FORTRAN MAIN PROGRAM 



END 
C FORTRAN SUBPROGRAM 



ENDS 
SCATGO 
SEOJ 



15-6 



15-2.3 F ORTRAN Diagnostic Messages 

The Series 6000 FORTRAN system includes an extensive set of compile -time and 
run-time diagnostic messages. Compile-time diagnostics include in the message a complete 
phrase which normally will indicate to the programmer the exact nature of the error as well a? 
the point in the source statement where the error was discovered. The run-time diagnostics do 
not produce a verbose message, but attempt to pinpoint the location in the source program where 
the error occurred. 

Diagnostic messages will appear on the list output file in-line with the source 
statements. In most cases, the diagnostic message will appear on the line immediately following 
the questionable statement. Although this is not always possible due to the one-pass nature of 
the compiler, the "snapshot" feature should pinpoint the location of the questionable text. 

The format of a compile-time diagnostic message is: 

ERROR XX YYYYYY message, 

where: XX is an octal number corresponding to the type of error, and YYYYYY is 

the last six characters encountered within the statement when the decrepancy 
was discovered. 

The message may be up to 30 characters in length and generally indicates the 
exact nature of the error. Table 15-1 is a list of all compile-time diagnostics and a description 
of all conditions which might cause the error. 

Table 15-1. Compile-Time Diagnostic Messages 



Error 
Number 







Message 



DATA POOL OVERFLOW 



INVALID OPERATOR 



Cause 



INVALID CONSTANT 



The entire data storage area available to the 
compiler is filled. This includes symbol table 
and all other table storage combined, since table 
storage is allocated dynamically. This is the only 
error condition which prevents compilation from 
continuing. 

a) Two or more consecutive operators. 

b) A special character not recognized as an 
operator. 

c) Using . NOT. as a leading operator following 
on arithmetic or relational operator. 

d) An attempt to shift or rotate by a value that is 
not an integer constant whose absolute value 
is less than 24. 

a) Too many digits In a constant. 

b) Magnitude of a real or double precision 
constant is out of range. 

c) An octal constant contains an "8" or "9". 

d) A constant appears where an identifier is 
expected. 



15-7 



Table 15-1. Compile-Time DiagnosHc Messages (Cont'd. ) 



Error 
Number 



Message 



INVALID SYNTAX 



MISSING OPERAND 
RETURN STATEMENT 



INVALID STATEMENT 
NUMBER 



DATA IN COMMON 



SUBSCRIPT USAGE 



n 



INVALID STATEMENT 



Cause 



The compiler has accepted the statement as a 
legitimate FORTRAN statement, but the construc- 
tion of some particular element does not conform 
to the rules of the language. In particular, this 
message is caused by: 

a) Incorrectly formed exponent in a real or 
double precision constant, 

b) Unrecognizable logical operator. 

c) Identifier with more than six characters. 

d) Invalid construction of a statement function, 

e) Invalid use of "=" (equal sign). 

f ) Invalid construction of a DO or ASSIGN 
statement. 

g) Two consecutive relational operators not 
separated by a logical operator. 

h) Invalid construction of an argument list. 

An identifier or constant does not exist in the 
text at a point where expected. 

a) A RETURN statement has been recognized in 
a main program. 

b) A subprogram contains no RETURN statement. 

a) Incorrectly constructed statement number. 

b) A statement number contains more than five 
numeric characters. 

c) A reference exists to an undefined statement 
number. These errors are discovered 
Immediately following the output of the 
statement number map. 

The variable list of a DATA statement contains an 
Item which has been allocated common storage and 
the program is not a BLOCK DATA subprogram. 

a) An array is declared using variable subscripts 
which are not dummies (i.e., do not appear as 
arguments of a subroutine or FUNCTION 
statement). 

b) An array element is accessed whose number of 
subscripts do not match the declared number of 
subscripts for that array. 

The statement Is not recognized as a legitimate 
FORTRAN statement. 



15-8 



Table 15-1. Compile-Time Diagnostic Messages (Cont'd.) 



Error 
Number 



12 



13 



14 



15 



16 
17 



20 
21 
22 



Message 



PARENTHESIS 



MIXED MODES 



INVALID DELIMITER 



INVALID DATA 



MULTIPLE DEFINITION 



INVALID ITEM USAGE 



INVALID LOGICAL IF 



MISSING STATEMENT 
NO. 

INVALID H 
SPECIFICATION 



Cause 



a) A left or right parenthesis does not occur 
where expected. 

b) The number of left and right parentheses 
within an expression do not agree in number. 

Invalid mixing of item modes (data types) within 

a) An expression. 

b) An assignment statement. 

c) A DATA statement. 

a) An invalid special character has caused the 
processing of a statement to terminate. 

b) The "/" character does not appear where 
expected in a DATA or COMMON statement. 

c) In an expression, an invalid character follows 
an array or SUBPROGRAM identifier. (Only 
", " and "(" are acceptable. ) 

a) A DATA statement variable list does not con- 
tain the same number of items as its correspond- 
ing constant list. 

b) A DATA statement in a BLOCK DATA sub- 
program is attempting to initialize data intio 
a non-COMMON variable. 

c) An H -specification is too large to fit into its 
corresponding variable. 

d) An H-specification that is preceded by a 
repeat -count is contained on more than onp 
card by use of a continuation Mne. 

More than one statement has the same statement 
number. 

a) An identifier previously defined as a variable 
subroutine or array issued in a context that 
requires a different item usage. 

b) A constant is used where an identifier is 
expected. 

A logical IF statement is used as the executable 
statement of a logical IF statement. 

A FORMAT statement is unlabeled. 



An H-specification is longer than the remaining 
characters in the statement. 



15-9 



Revision B 
March, 1975 



Table 15-1. Compile-Time Diagnostic Messages (Cont'd. ) 



Error 
Number 


Message 


Cause 


23 


INVALID BLOCK DATA 
PROGRAM 


An executable statement has been detected in a 
BLOCK DATA subprogram. 


24 


INVALID COMMON 
USAGE 


Multiply defined common variables. 


25 


INVALID MODE 


a) Logical operation attempted using other than 
logical or integer typed variables. 

b) Arithmetic operation attempted on logical 
variables. 


26 


FUNCTION NEEDS 
ARGUMENTS 


A FUNCTION statement has been encountered 
that does not specify any arguments. 


27 


EQUIVALENCE 


a) Two items are equivalenced, both of which 
have been allocated to a COMMON block. 

b) An equivalence group demands the extension 
of a COMMON clock in a negative direction. 

c) Invalid construction of an EQUIVALENCE 
statement. 

d) Contradicting equivalence groups. 


30 


STATEMENT ORDER 


a) Specification statement follows DATA, state- 
ment function or executoble statement. 

b) DATA statement follows statement function or 
executable statement. 

c) Statement function follows an executable 
statement. 

d) FUNCTION, SUBROUTINE or BLOCK DATA 
statement is not the first statement of a program. 


31 


NO PATH TO HERE 


An executable statement which is not labeled 
with a statement number immediately follows 
with an arithmetic IF or a GO TO statement. 


32 


INVALID DO 


a) The terminal statement of a range of a DO is 
a GO TO, Arithmetic IF, RETURN, PAUSE, 
STOP or DO statement. 

b) Illegally nested DO statements. 

c) An error in an Implied DO vv^ithin an I/O list. 



15-2.4 Run-Time Diagnost ics 

If an error condition occurs during execution of a FORTRAN program or any program 
that calls functions from the FORTRAN library, a message and/or an abort may occur. The 
format of the error message Is: 

FER XX yyyyyy or 
SAU XX yyyyyy 



15-10 



Revision B 
March, 1975 



wtiere: xx is a fwo-digif error number, and 

yyyyyy '* °^ octal address which is the error address or the 
return address of the routine in which the error occurred. 

Table 15-2 is a list of all run-time diagnostics produced by FORTRAN and the 
FORTRAN support libraries. A description of the result, if no abort occurs, is also given. 



Table 15-2, Run-Time Diagnostics 



Error 


Meaning 


Result 


Flag 


SAU/FER 01 


SQUARE ROOT OF X ~ X <0 


0.0 


OA 


SAU/FER 02 


OVERFLOW DURING FIX 


FSP OR FSN 


OA 


SAU/FER 03 


DIVISION BY ZERO 


FSP 


OA 


SAU/FER 04 


UNDERFLOW DURING A/S/M/D 


0.0 


UA 


SAU/FER 05 


OVERFLOW DURING A/S/M/D 


FSP OR FSN 


OA 


FER06 


SIN/COS OFX ~X > 10**7 


0.0 


OA 


FER07 


ATAN2(0.0'0.0) 


0.0 


OA 


FER08 


LOG(X) OR DLOG(X) ~ X . LE. 


0.0 


OA 


FER09 


UNDERFLOW DURING EXP(X) 


0.0 


UA 


FER 10 


OVERFLOW DURING EXP(X) 


FSP 


OA 


FER n 


UNDERFLOW DURING X**Y 


0.0 


UA 


FER 12 


OVERFLOW DURING X**Y 


FSP OR FSN 


OA 


FER 13 


X**0.0 —X =0.0 ORX<0.0 


1.0 


OA 


FER 14 


0.0**Y ~ Y<0,0 


FSP 


OA 


FER 15 


X**Y — X>0.0AND Y .NE. 0.0 


0.0 


OA 


FER 41 


FORMAT ERROR DURING OUTPUT 


_ — 


-- 


FER 42 


FORMAT ERROR DURING INPUT 


— 


lO 


FER 43 


ILLEGAL CHARACTER DURING INPUT 


— 


lO 


FER 44 


UNDERFLOW DURING INPUT CONVERSION 


0.0 


UA 



15-11 



Revision C 
November 1975 



Table 15-2. Run-Time Kagnostics (Conl-'d) 



Error 


Meaning 


Result 


Flag 


FER45 


OVERFLOW DURING INPUT CONVERSION 


FSP OR FSN 


OA 


FER46 


MORE THAN 10 BUFFER IN/OUT FILES 


— 


lO 


PER 47 


MORE THAN 10 RANDOM ACCESS FILES 


— 


lO 


PER 48 


I/O ON AN UNDEFINED RANDOM FILE 


— 


lO 


PER 49 


INVALID RANDOM RECORD NUMBER 


— 


lO 



NOTES: 

1. Error message or abort is controlled as follows: 



Flag 


Error Message 


Error Abort 






YES NO 


YES NO 




OA 


OM NOM 


OA NOA 




UA 


UM NUM 


UA NUA 




iO 


ALWAYS 


lOA NIOA 





Control is thru catalog "TYPE" specifications as described above. Error 
messages do not cause HOLDs. 

lOA and NIOA may be specified as APER and HFER respectively on older 
cataloger versions. 

2. FSP = '27777777 for integer results 

'Z7777777, '37777577 for all SAU and Double precision non- 
SAU results 

'27777777, '00000177 for Real non-SAU results. 



FSN 



'40000001 for integer results 

'40000000, '00000577 for all SAU and Double precision non- 
SAU results. 

'40000001, '00000177 for Read non-SAU results. 



15-nA. 1 



Revlslori C 
November 1975 



0. = '00000000 for integer results 

•00000000, '00000201 for all non-integer results. 

3. SAU/FER Indicates an error output as follows: 
SAU XX for SAU systems 

FER XX for non-SAU systems 

4. FER 41 always results in an error message and is never aborted. 

5. Other than 43 thru 45, \/0 errors result in the I/O operation in error being 
terminated. If the abort was suppressed. 

6. FER 43, if not aborted, will ignore the invalid character. 



15-nA. 2 



15-3 LIBRARY FILE EDITOR 

15-3, 1 Use 

The I Ibrary File Editor is activated In the background area via the Job Control 
Statement SEDITLF. Once activated, the Editor requests commands from the Job Control logical 
device (0). Commands must start in column one and be terminated by c blank. It a name is 
used, it must appear as six consecutive characters Following the blank. 

The library file ('12) and link ready file ('15) are rewound by ^^e Editor for each 
command. Logical file '10 must be assigned to a work file for proper operotion of the ORDER 
command. The Editor may be used with blocked or unblocked files, 

NOTE 

When the Add, Replace, or Order commands are 
executed, the end-of-file Is rewritten at the end 
of the library file. The execution of these 
commands must not be Interrupted by the operator. 

ADD name 



Each module to be added must be externally defined at assembly or compi ation time. 
If "name" Is absent, all modules on the link ready file (15) are added to the end of 
the library file ('12). The link ready file must be terminated by an end-of-file. 
If "name" is present, the link ready file is scanned and the module specified is added 
to the library file. Any external definitions within a module may be used as the 
referenced name. 



DELETE name 



The library module whose name is specified by the parameter is deleted from the 
library file ('12). Any external definition within a module containing multiple 
definitions may be referenced to delete the module, 

REP LACE name 

Replace is a combination of Delete and Add, Each module to be added must be 
externally defined at assembly or compilation time. The modules on the library 
file ('12) that have external definitions the same as those being added from the 
link ready file ('15) are deleted. 

If "name" is absent, all modules on the link ready file ('15) are added to the end 
of the library file ('12). The link ready file must be terminated by an end -of -tile. 
If "name" Is present, the link ready file is scanned and the module specified is 
added to the end of the library file. Any external definitions within a module can 
be used as its name, 

RENAM E name1,name2 

The library file (12) is scanned and the external definition specified as nomel Is 
replaced by name2. Any external deHnitlon within o module can be used as namel, 



15-12 



ORDER 

The modules on the library file ('12) are ordered, that is, modules are arranged such 
that all external requests precede the module being requested. This allows the Link 
Cataloger to satisfy all external requests from the library file in one pass. 

Deleted modules are eliminated from the library file. File '10 is rewound by the 
Order command and should be assigned to a temporary work file. 

LIST 



This command outputs to the listout file (6) a cross reference of the modules on the 
library file ('12) and continues with an alphabetic sort of the external definitions 
with their corresponding module number. The fonnat of the cross reference is as 
follows: 

*XXX JJJJJJ KKKKKK YYY LLLLLL UNDEF 
MMMMMM 

where: * indicates (if present) that the module is out of order (i. e. , the module 
requests an external definition which was previously defined on the 
library file). 

XXX is the sequence number of the module. 

JJJJJJ is the first external definition in module XXX. 

KKKKKK is the first external request in the module XXX. 

YYY is the module number where KKKKKK Is defined. 

LLLLLL is the second external request in the module XXX. 

UNDEF if present, indicates that the request LLLLLL Is undefined on the 
library file. 

MMMMMM is the second external definition in module XXX. 
The following example illustrates the list output format. 

1 AAAAAA BBBBBB UNDEF 

2 DELETED 

3 CCCCCC 
* 4 EEEEEE FFFFFF 5 CCCCCC 



* 5 



EEEEEE 
DDDDDD 

FFFFFF 



AAAAAA 



5 
1 



AAAAAA 1 

CCCCCC 3 

DDDDDD 4 

EEEEEE 4 

FFFFFF 5 



15-13 



Nofe t-hat module number two has been deleted causing module number one to have 
an undefined request. Note that module number four is out of order because request CCCCCC 
is defined In module number three. 

A listing of the same library file after an Order command is given below. 



2 

3 

4 

AAAAAA 

CCCCCC 

DDDDDD 

EEEEEE 

FFFFFF 



EEEEEE 
DDDDDD 

CCCCCC 

FFFFFF 

AAAAAA 

4 
2 
1 
1 
3 



FFFFFF 



AAAAAA 
BBBBBB 



CCCCCC 



4 
UNDEF 



15-3.2 Library File Editor Error Message Codes 

During the editing process, checking is performed to ensure a valid library file. If 
an error condition Is detected, a message will be output to the list output logical device (6) 
and the editing aborted. The error message codes are listed In Table 15-3. 

The format of the error message Is as follows. 

ELF XX MOD YYY AAAAAA 

where: XX is a two decimal digit error code. (Definitions of the error codes 

are given in the table below. 

YYY Is a three decimal digit module number in which the error 
occurred. 

AAAAAA is the last encountered external definition. This will be 
blank if the definition cannot be determined. 



15-4 



UTILITY PACKAGE 



to 
cesser 



The Series 6000 Utility Package consists of a Main Processor that provides access 
three subprocessors: Card List, Source Update, and Binary Update. The Card List Subproces 
lists source input statements and maintains control over horizontal and vertical formatting. 
Other miscellaneous functions, such as sequencing and variable card code conversion may also 
be performed. 

The Source Update Subprocessor performs Insertions, deletions, and copying of source 
language programs (FORTRAN or assembly language). All manipulations are performed In terms 
of End-of-File and source program statement numbers which may be found on assembly or compiler 
listings. 



15-14 



Table 15-3. Library File Editor Error Messages 



Number 



Meaning 



2 
3 



5 
6 



8 

9 

10 

11 
12 
13 

14 

15 

16 

17 

18 

19 



There is insufficient background area to build the external definition and 
external request tables. 

Invalid control statement. 

An external definition is missing from the beginning of a module being 
added to the library file. 

An attempt is being made to add a module which duplicates a name on 
the library file. 

The specified name is not on the link ready file. 

The word count was not complete when a binary input record was 
requested. 

The modules being added will not fit on the library file. To increase the 
size of the library file refer to ESTAB (6-3. 3) and DMAP (6-3. 8). Once 
this has been done, the current ADD or REPLACE should be repeated for 
all modules which did not fit previously. Note that it Is possible that 
an ORDER command may create sufficient space on the library file for 
new entries. 

A name was not specified In the control statement. 

The specified name Is not on the library file. 

An attempt is being made to add modules which exceed the 1000 module 
input. 

An Invalid loader code was encountered on the input file. 

A source program error was encountered on the input file. 

An end-of-file was encountered at an improper position on the library 
file. 

An end-of-file was encountered at an improper position on the link 
ready file. 

A checksum error was encountered on an input record from the library 
file. 

A checksum error was encountered on an input record from the link 
ready file. 

An end-of-file Is present on the start of the library file, (i. e. , no 
program Is on the library file). 

An end-of-file is present on the start of the link ready file, (i. e., no 
program is on the link ready file). 

The work file for the ORDER statement (LFN '16) is not large enough. 



15-15 



The Binary Updal-e Subprocessor performs insertions, deleHons, and copying of binory 
link modules as created by the Assembler or FORTRAN compiler. All manipulations are 
performed in terms of End-of-Files, END codes, ENDS codes, and subprogram names. 

15-4. 1 Linkage with DMS 

The following items must be specified to Job Control prior to using the Utility Package. 

Input/ Output Assignments 

The Utility Package requests Input/Output from the following logical devices which 
must be assigned to their respective physical devices via the SASSIGN Job Control 
Statement. 

Processor 



MAIN 
CARD LIST 

SOURCE UPDATE 
BINARY UPDATE 



Logical Files Used 


Logical 


1 File Number 


COMMAND INPUT 







SOURCE INPUT 
LIST OUTPUT 




7 
6 


COMMAND INPUT 
SOURCE INPUT 
SOURCE OUTPUT 
LIST OUTPUT 






7 

10 

6 


COMMAND INPUT 
BINARY INPUT 
AUXILIARY BINARY INPUT 
BINARY OUTPUT 





4 
2 

5 



Lines 

The Card List nnd Source Update Subprocessnrs ore provided a 24-bit number from 
DMS which is set by the SLINES Job Control statement. This number specifies the 
total number of lines to be printed on the list output device prior to initiating a 
Top-of-Form request. If a heading was specified, then the heading line plus two 
blank lines will be deducted from the line count specification. Note that if 
continuous list output is desired (i. e. , no heading lines or Top-of -Forms oti er than 
the initial one), the Lines specificati<^n should be made to be a large number. 

Date 

The Card List and Source Update Subprocessors are provided a three-word (nine- 
character) date from DMS which is set by the SDATE Job Control statement. This 
date will be placed on the heading line of each list output page. 

FUTILITY 

Refer to document AA61515 (Utility Package, General Specification) for processor 
command definitions. 



15-16 



15-4.2 Error Message Definition 

The Utility Package error messages conform to the following format. 

UTL XX 

where: XX is a two-digit error code. The message is output to the system 

operator communications device and a system "hold" condition ensues. 

A list of the various error codes, their meaning, and corresponding action to be 
taken is provided below. 



Error Code 



01 
02 
03 
04 
05 

06 

07 
08 
09 
10 

11 



Meaning 



Invalid command identifies character 

Invalid command 

Invalid command parameter 

Invalid parameter delimiter 

Invalid sequence specification 
(parameter is too large, small, 
or specifies a conflict in se- 
quence) 

Invalid ANSCII equivalent of 
BCD specification in CDCODE 
command 

Checksum error on B/I device 
Checksum error on A-B/I 



An END$ record was encountered 
on the binary input device 

An ENDS record was encountered 
on the auxiliary binary input 
device 

The number of ANSCII and BCD 
equivalents has exceeded 64 



Action to be Taken 



Correct statement and Issue 
Correct statement and issue 
Correct statement and issue 
Correct statement and issue 
Correct statement and issue 



releose 

release' 

release' 

releqse' 

release' 



Correct statement and issue "releose" 



If "release" issued, a record will be 
backspaced on B/I 

If "release" issued, a record will be 
backspaced 

Prepare I/O on A-B/I device and 
Issue "release" 

Prepare I/P on A-B/I device and 
issue "release" 



Issue "release". No more specifi- 
cations may be made 



15-17 



15-5 



DEBUG 



15-5. 



1 



Background Debug 



Background Debug provides the capability of controlled execution of a background 
program. This is accomplished by providing Debug as a link module file v/hich can be cataloged 
along with the program to be tested. The procedure for this is: 

$ASSIGN 5=LR,15=LR 

$REW5 

$INCLUDE DEBUG 

$. . INCLUDE,ASSEMBLE,OR COMPILE"PROGRAM" 

SCATALOG 



When the cataloged program is loaded for execution. Debug provides operator 
control at the console typev/riter. The user's program bias may be acquired through the Debug 
command OPB. With this address, the user may set breakpoints within his program for controlled 
execution. 

Debug commands are accepted from the typewriter and processed until an EXIT 
command is received. Invalid control statements are ignored and the message "ICS" is typed. 
Valid commands are described in Table 15-4. 

Table 15-4. Debug Commands 



Command 



OPB 



SRA 



O 



OD 



Description 



Format: OPB 

Causes the program bias (i. e. , the first address of the user program) to be 

typed as PB=XXXXXX. 

Format: SRA XXXXXX 

Permits addressing relative to listing address references. Any address reference 

followed by "R" adds the relative address bias to the address. 

Format: I X,dl,d2,... or I XR,. . . 

Indicates that the octal data constants (d) are to be input starting at octal 
address X. If d is a memory reference instruction, dR adds the relative address 
to the address portion of the instruction. 

Format: O X,Y or O XR,YR 

Indicates that the contents of octal memory locations X through Y are to be 
output in octal, one word per line. A blank may be substituted for the comma 
and the Y parameter is optional. 

Format: OD X,Y or OD XR,YR 

Indicates that the contents of octal memory locations X through Y ore to be 
output to the list output logical device. The output format is eight octal words 
per line preceded by the address of the first word. A blank may be substituted 
for the comma. 



15-18 



Table 15-4. Debug Commands (Cont'd.) 



Command 



OA 



SB 



RB 
IB 



RC 



OR 



X- 



Description 



EXIT 



Format: OA X,Y or OA XR,YR 

Indicates that the contents of octal memory locations X through Y are to be 
output in ANSCII format. (Characters are assumed to be packed 3 characters 
per word. ) The output line is limited to 24 word (72 characters). 

Format: SB X or SB XR 

The contents of octal address X are saved and then replaced by a BSL 
instruction to the Debug routine. When the BSL instruction is executed, the 
contents of all registers are saved and the address X preceded by the identifier 
"B" is output. A maximum of eight "breaks" are permitted. 

Causes all previously set "breakpoints" to be reset to their contents. 
Initializes the "breakpoint" routine. This command should be issued prior to 
using the "SB" and "RB" commands. 

Format: C X or C XR 

If the optional parameter X is absent, registers saved from the last break are 
restored and the instruction that belongs in the break address is executed (not 
restored) and the background process is continued at the last encountered 
"break" plus one. Since the instruction associated with a break address Is 
executed 'out-of-line', a breakpoint should never be set at any address con- 
taining a linkage instruction (i. e. , BLL, BLU, BSL, etc. ). If the parameter X 
is present, registers are restored and control is transferred directly to octal 
address X. 

Format: RC X or RC XR 

If the optional parameter X is absent, the last encountered breakpoint is reset, 
registers are restored, and control transferred to the address associated with tjhe 
last break. If the parameter X is present, the above Is performed except that 
control is transferred to octal address X. 

Format: OR r 

Causes the specified reglster(s) (saved from the last "break") to be output 'man 
octal format. The r specification may be I, J, K, E, A or C or any combination 
thereof. If a register specification Is absent, all registers will be output. 

Format: X -d 

Causes the specified octal data d to replace the current contents of register X 

(may be I, J, K, E, A or C). Refer to commands "C", "RC" and "SB". ) 

Format: Z X,Y or Z XR,YR 

Causes the contents of octal memory locations X through Y to be set to zero, 

A blank may be substituted for the comma. 

Format: S X,Y,d,m or S XR,YR,d,m 

Causes the contents of octal memory address X through Y to be searched for ^ 
the following condition: (Memory .AND. m) d. Each time the condition is 
true, the associated memory address and its contents are output. If a true 
condition is not detected, no action will take place. 

The command is necessary only to non-resident Debug processors and causes an 
exit to the operating system. 



15-19 



Debug Messages are: 

ICS "INVALID CONTROL STATEMENT" The statement is ignored. 

BSO "Break Stack Overflow" More than 8 "SB" commands have 

been given. The statement is 



ignored. 



15-5. 2 Foreground Debug 



The same DEBUG program may also be cataloged with foreground programs to 
provide a foreground debugging capability. This also provides a method to control debug from 
devices other than the operator's console. In particular, DEBUG can be cataloged with a 
foreground program and run from a remote TTY or CRT terminal. The procedure for cataloging 
DEBUG into a foreground program is as follows. 

$ASSIGN 5,LR,15,LR 
$REW5 

SINCLUDE DEBUG 

$. . . INCLUDE,ASSEMBLE,OR COMPILE "PROGRAM" 
$CATALOG 
NAME=xxxxxx 
TYPE=FG 

ASSIGN 1,YY (where YY is the device through which communications 
with DEBUG is to be made) 

Once the program has been cataloged, it may be initiated as any foreground program. 
Once started, DEBUG provides input and output communications through the device to which 
logical file 01 is assigned. The same commands and messages apply as in background. 

15-^ CROSS REFERENCE 

This paragraph contains the operational procedures for using the Series 6000 Cross 
Reference program in conjunction with the Series 6000 Disc Monitor System (DMS). Included 
are the necessary Job Control statements and examples of typical jobs. Detailed information 
is contained in document number AA61514, Cross Reference, General Specification. 

The following paragraphs describe the information that must be specified to Job 
Control before using the Cross Reference program. 

15-6. 1 Input/Output A ssignments 

The Cross Reference program requests input/output from the following logical devices 
which must be assigned to their respective physical devices. 

Log ical Fil e Logical Device Num ber 

SOURCE INPUT (SI) 7 

LIST OUTPUT (LO) 6 



15-20 



The job control statement for making input/output assignments is as follows. 

SASSIGN L., P.,...,L , P 
I I n n 

This statement assigns a logical device number L. to physical device number P., etc. 



15-6.2 



Lines 



The Cross Reference program is provided a 24-bit word that specifies the total 
number of lines to be printed on the list output device prior to initiating a Top-of-Form request. 
Included is the heading line followed by two blank lines. Note that if continuous list output 
is desired (i.e., no heading lines other than the initial one), the lines specification should be 
made a large number. The job control statement for specifying lines is as follows. 

$LINES N 

Where: N is a decimal number. 



15-6.3 



Date 



The Cross Reference program is provided a three-word (nine -character) date that 
will be placed on the heading line of each list output page. The job control statement for 
specifying a date is as follows. 

$DATE XXXXXXXXX 

where: XXXXXXXXX is a nine-character date. 

15-6.4 Cross Reference Examples 

Example 1 illustrates typical Job Control statements and their use in running a Cross 
Reference with input from job stream file; where job stream is assigned to the card reader. 

Example 1 : 

SJOB USER-JOB-NAME 

SLINES 55 

$LOADGO XREF (Note 1) 

IDEN MAIN PROGRAM 

TMA CAT 



SUBl 



END 

XDEF 

TMA 



SUBl, SUBl 
DOG 



$EOJ 



END$ (Note 2) 



15-21 



NOTES 

1. An absolute load module of the Cross Reference 
program will be loaded from the processor file 
on encountering the $LOADGO statement. 

2. The Cross Reference program terminates on 
encountering the assembler statement END$. 

Example 2 illustrates a Cross Reference following an assembly wherein the work 
file W1 was used for pass two input. 

Example 2: 

$ASSIGN 7,W1 
$REW7 

SLOADGO XREF 
SEOJ 



NOTE 

Only single module programs can be cross referenced 
this way because the assembler rewinds the work file 
for each module. 



15-6,5 Error Messages 



The following message will be output to the system operator communications device 
if insufficient storage is available, 

TABLE OVERFLO, RELEASE TO PRINT TABLE 

A system "hold" condition will ensue until operator action is taken. 

NOTE: 

Each label requires three locations of storage plus 
one location for each operand reference to a label. 

]5-7 FORGO 

FORGO is a diagnostic FORTRAN compiler and library. It consists of a compiler 
program which compiles FORTRAN IV source code directly into memory, and an execution 
module which contains all the library routines for the executing program. 

15-7. ] Linkage with DMS 

Several items must be provided by the user to use FORGO under DMS. The system 
date is used by FORGO in the heading for each page. The JOB name is also usejd in these 
headings. These may be specified by the user, or the user may elect to use the system default 
values. 

15-22 



The lines per page obtained from the system is also used by FORGO to format the 
listing of the source program, and to format the source program output (if it is output to LFN:6), 
The user may wish to specify a value for lines or he may use the system default. 

In addition to any logical files that the user may reference In his source program, 
there are two logical files that must be properly assigned before FORGO can run. These files 
are LFN 7, which is used for Source/Input, and LFN 6, which is used for List/Output. Note 
that when referencing FORTRAN unit numbers from FORGO, that the unit numbers do not al^vays 
correspond to the same logical file numbers. The correspondence is given below: 



FORTRAN 

Unit Number 

(Decimal) 


System Logical File Number (Octal) 


Input 


Output 


<0 


Illegal 


Illegal 





Used for Reread or Decode 


Used for Encode 


1 


Illegal 


23 


2 


2 


Illegal 


3 


Illegal 


3 


4 


1 


1 


5 


7 


Illegal 


6 


Illegal 


6 


7 


7 


23 


8-12 


Illegal 


Illegal 


13-18 


15-22 


15-22 


> 18 


Illegal 


Illegal 



15-7.2 



Execution Job Stream 



In order to execute a FORGO program, the above requirements must be met, and 
then the following job stream should be entered. 

SFORGO 



source program 



SCATGO 



data from LFN 7 



15-23 



Note t-hat all appropriate assignments must be made prior to the $FORGO statement, 
and may not be made between the program and the SCATGO statement. 

15-7.3 FORGO Error Comments 

All of the FORGO error comments appear on LFN 6 along with any List/Output from 
the program. The error comments are self-explanatory, and contain an indication as to where 
the program error occurred. A complete list of the error comments is available In the FORGO 
General Specification and Users Manual (AA6 1657-00). 

15-8 SNOBOL 

SNOBOL is a string manipulation language. It is used to do high-level string 
manipulation and pattern -matching. The SNOBOL program is a combination compiler and 
interpreter. The source program is "compiled" directly into core and then is executed 
interpretively. The SNOBOL program therefore contains all routines necessary for complete 
program execution. 

15-8. 1 Linkage with DM S 

Several items must be provided by the user to use SNOBOL under DMS, The system 
date is used by SNOBOL for the user function DATE. If this function is not used, or if the user 
desires to use the system default, then the user need not specify a dote to the system. 

The lines per page obtained from the system is also used by SNOBOL to format the 
listing of the source program, and to format the source program output (If It Is output to LFN 6), 
The user may wish to specify a value for lines or he may use the system default. 

In addition to any logical files that the user may reference in his source program, 
there are two logical files that must be properly assigned before SNOBOL can run. These files 
are LFN 7, which is used for Source/Input, and LFN 6, which Is used for List/Output. In addition, 
if the SNOBOL user uses the "output-associated" name PUNCH, then he must provide an assign- 
ment for LFN 23, or he must redefine PUNCH. 

15-8.2 Execution Job Stream 

In order to execute a SNOBOL program, the above requirements must be met, and 
then the following Job Stream should be entered: 

SSNOBOL 



source program 
END 

data from LFN 7 



15-24 



15-8.3 SNOBOL Error Comments 

All of the SNOBOL error comments appear on LFN 6 along with any List/Output 
from the program. The error comments are self-explanatory, and contain an indication as to 
where the program error occurred. A complete list of the error comments Is available in the 
SNOBOL IV Programming Language Manual, described in the SNOBOL IV General Specification, 
(AA6 1659-00). 

15-9 RPG II 

RPG II is a high level business programming language. The RPG II system consists 
of a compiler that produces link ready code, and a set of library subroutines to perform some of 
the functions of RPG II. 

15-9. 1 Linkage with DMS 

Several items must be provided by the user to use RPG II under DMS. The system 
date IS used by RPG II in the heading for each page in the source listing. The date Is also u$ed 
in the reserved field name UDATE. The date may be specified by the user, or the user may elect 
to use the system default value. 

The system time is also used by RPG II to set the value of the reserved field name 
UTIME. The user should ensure that the system time is correct or set to the desired time, if the 
user references any of the reserved time fields. 

The lines per page obtained from the system Is used by RPG II to format the listing 
of the source program. The user may wish to specify a value for lines or he may use the system 
default. 

The RPG II compiler also responds to two options. Option 5 causes the RPG II 
compiler to produce an object code listing of the source program as it is being compiled. Option 
9 is used to determine the processing of DEBUG commands. When Option 9 Is reset, all DEBUG 
commands are treated as comments. When Option 9 is set, then all DEBUG commands are 
compiled for execution. Note, that Option 9 need not be on during execution for DEBUG 
output to occur, however. It must have been on during the compilation of that program. Refer 
to Paragraph 6-2.6 for further information. 

During compilation, the user must supply three assignments for proper compilation. 
These assignments consist of LFN 7, which is used for Source/Input; LFN 6, which is used for 
List/Output; and LFN 5, which is used for binary output. 

To execute an RPG II compiled program under DMS, the only assignments necessary 
ore those which are specified in the source program on the File Description statements. 

1 5 -9. 2 Compilation Job Stream 

In order to compile an RPG II program, the above requirements must be met, and then 
the following Job Stream should be entered: 



15-25 



$RPGII 



source program 

/* (or eof) "l 

., ^. j^ LI J I V (i^h may occur zero or 

compile fime table or array data > „ ».• „ \ 

'^ ' i more times) 

/* ) 

Note, that the last End-of-FIle or/* card may be omitted since the system provides 
an EOF status upon reading the next Job Control card. 

15-9.3 Execution Job Stream 



In order to execute on RPG II program, the above requirements must be met, and 
then the following Job Stream should be entered: 

SCATGO (if the program resides in the link ready file) 

or 

Sprogram name (if the program was previously Cataloged) 

1 5 ~9. 4 RPG II Error Comments 

AM of the RPG II compilation error comments appear on LFN 6 along with any 
List/Output from the program. The error comments are self-explanatory, and occur immediately 
following the line in error. A complete listing of the errors is available in the RPG II General 
Specification, (AA6 171 1 -00). 

All execution errors from RPG are written out to LFN 1. LFN 1 is automatically 
assigned to physical device 1 for background programs. This assignment should be made if the 
program is run in foreground. Following the error message, the program initiates a system HOLD. 
The user should release or abort bis program based on the error message and the task involved. 

15-10 INDEXED SEQUENTIAL UTILITY 

The Indexed Sequential Utility is a utility designed to enable users to perform 
basic manipulations on indexed sequential files. 



15-26 



ons 



15-10. 1 Linkage with DMS 

The Indexed Sequential Utility requires only that appropriate assignments be made 
prior to executing the utility. These assignments consist of LFN 0, which is used for command 
input; LFN 6 which is used for listing of the commands and output from the LIST command; arid 
LFN 1, which is used for error listing. LFN 1 should be assigned to the operator communicatic 
device so that the operator may respond to the error condition. In addition, any logical files 
that are referenced on LFN, SAVE, etc. cards must also be assigned to their appropriate devices 
of files. 

15-10. 2 Execution Job Stream 



In order to execute the Indexed Sequential Utility, the above assignments must be 
mode, and then the following Job Stream should be entered: 



SISUTIL 



utility commands 



15-10.3 UTILITY Error Comments 

Error comments from the Indexed Sequential Utility appear on LFN 6 or LFN 1 
according to whether they must be acted upon immediately or can be referenced later. The 
HOLD message PAUSE ERROR is an indication of some syntax or other error within the commands. 
An actual explanation of the error is available on LFN 6. For a further discussion of the 
Indexed Sequential errors, refer to the Datacraft Indexed Sequential Package General Specifica- 
tion, (AA61676-00). 

15-11 SORT/MERGE UTILITY 

The Sort/Merge Utility is a utility designed to enable users to perform Sorts and/or 
Merges from Job Control Statements. 

15-11.1 Linkage with DMS 

The Sort/Merge Utility requires only that appropriate assignments be made prior to 
executing the utility. These assignments consist of LFN 01, which is used for command input; 
LFN 6, which is used for listing of the commands; and LFN 1, which is used for error listing. 
LFN 1 should be assigned to the operator communications device so that the operator may respond 
to the error condition. In addition, any logical files that are referenced on FILE cards must also 
be assigned to their appropriate devices or files. 



15-27 



Revision A 
May, 1974 

15-11.2 ExecuHon Job Stream 

In order fo execut-e the Sort/Merge Utility, the above assignments must be made, and 
then the following Job Stream should be entered: 

$MSUTIL 

utility commands 



15-11.3 Utility Error Comments 

Error comments from the Merge/Sort Utility appear on LFN6 or LFN1 according to 
whether they must be acted upon immediately or can be referenced later. For a further discussion 
of the Sort/Merge errors, refer to the Sort/Merge General Specification, ( A A6 1 7 1 2 -00 ). 

15-12 PRINT FILE 

PRINT FILE is a utility for printing the contents of a logical file. The file may be 
assigned to any input device. The print format may be either octal or alphanumeric. 

15-12. 1 Commands 

The PRINT FILE utility is executed via the $PRINTF or SLOADGO PRINTF Job Control 
statement. The command card input format is as follows: 

xx,a, b,c, f 
Axx,a,b,c,f 
Cxx,a,b, c,f 

where: xx is the logical file number (octal) 

a is the starting record number (0, 1, 2,. . . ;decimal) 
b is the ending record number (0, 1, 2,. . .;decimal) 
c is the number of words to be printed for each record. 

This may be greater or less than the actual number of 

words in the record (decimal), 
f is the desired format (A for alpha, for octal, or blank 

for octal) 

XX Implies rewind file xx and print c words from record a-b 
in format f. 

Axx implies advance one file before starting the print cycle. 

Cxx implies a continue on file xx without advancing or rewinding, 
the next sequential record is to be considered record number 
zero. 



15-28 



Revision A 
May, 1974 



15-12.2 Adding PRINTF to the Processor File 



The adding of PRINTF to DMS is the same as any background processor, make the 
appropriate assignments, include, and catalog, 

PRINTF is shipped to the user in a link module format. The following is one procedure 
which may be used: 

$JOB... 

$ASSIGN 4, binary input device 

$INCLUDE 

$CATALOG 

NAME=PRINTF„R 

BEGIN 

$EOJ 

15-12. 3 Examples 

The following is an octal dump of the first 5 records on a magnetic tape. 

$JOB 

$ASSIGN 11 = 11 

$PRINTF 

11,0,4,500 (octal output) 

11,0,4,500,A (alphanumeric output) 

EXIT 

$EOJ 

The following procedure will output record of the first file and records 5 through 10 
after the first file mark. 

$JOB 

$ASSIGN 20=FILE 

$PRINTF 

20,0,0,3 (Record 0) 

A20,5,10,100 (Records 5-10, second file) 

EXIT 

$EOJ 



15-29 



Revision B 
March, 1975 



15-13 



VERSATEC PLOTTER PACKAGE 



This section describes the software support provided by the VERSATEC Plotter Package. 
The plotter support library consists of two distinct sets of routines. VERSAPLOT-I is a custom 
plotting pockage which offers the user maximum flexibility and control. VERSAPLOT-II Is a 
series of routines provided for compatability with existing plotting packages provided by the 
manufacturers of pen plotters. In addition to the library, the second pass processors, "VPLOT" 
is responsible for accepting user directives which dictate how the output of the first pass should 
be processed. One such directive will initiate the foreground plot copy program, freeing the 
background area For further processing. 

15-13. 1 VERSAPLOT-I Support Library 

The VERSAPLOT-I library consists of a series of FORTRAN callable subroutines which 
determine the generation of an intermediate (VERSADATA) file. This intermediate file must be 
subsequently processed by the "VPLOT" program (Section 15-13.3). 

The intermediate (VDATA) file is written to LFN 20. For maximum efficiency this 
file should be a "blocked binary" disk file. Additionally, diagnostics are printed to LFN 6. 

The DMS version of the support library agrees in all respects to the description given 
in the Versaplot Graphics Programming Manual (Versatec document number 50001-90003) except 
for those ditterences documented within this section. 



The VERSAPLOT-I library consists of the following modules: 



AXES - draws either or both X and Y axes including tick marks,, scaled 
annotations, and axis labels. 

DRAW - processes input data into graphic movements for straight lines, curves 
or point plots. 

FORM - draws grid patterns and overlay forms. 

MODE - provides program control over the total mode table organization 
allowing the user to either request or alter variables as required. 

NOTE - performs plot generation of character texts numeric values, or 
symbol plots. 

SCAN - searches unsealed data for ranges of maximum and minimum; 
computes scale factors and sets mode table scaling entries. 

TONE - shades (with user designed tone patterns) or clears user defined 
polygonal areas. 



15-30 



Revision' B 
March, 1975 

Because certain parameters within the plotter package are plotter dependent, an independent 
procedure has been added which will dynamically configure the plotter package to a specific 
environment. An initialization call must be made prior to any references to the library. If 
such a call is not made, results will be unpredictable . This call must also be made when using 
the VERSAPLOT-II package. The form of this call is: 

CALL MODE (0, MODEL, 0, 0) 

Where MODEL is an integer designating the Versatec model number of the device for which 
the plot is ultimately destined. This call must be made once prior to any other library references 
but only once. Note that this Mode zero call is the only MODE call requiring an integer 
argument. 

15-13.2 VERSAPLOT-II Support Library 

For computer systems where extensive pen plotter software is already in use, 
VERSAPLOT-II provides a method to generate raster scan plots from existing pen plotter programs. 
The modules included in this package are briefly described below: 

PLOTS - initializes the PLOT routine and sets the mode table for pen 
plotter emulation. 

PLOT - process straight line "pen" moves with the "pen up" or "pen down". 

NEWPEN - for pen plotters this routine selects a different writing pen; in 
VERSAPLOT-II NEWPEN changes the line width. 

FACTOR - allows the user to enlarge or reduce the size of the plot. 

WHERE - returns the current "pen position" as well as indicating whether 
the pen is "up" or "down". 

As indicated in Section 15-13. 1, an initialization call must be made prior to any 
references to the package. Logical file assignments are the same as those for the VERSAPLOT-I 
package. 

15-13.3 VPLOT - Versaplot Second Pass Processor 

References to the Versaplot library during phase one of the plotting process cause 
the generation of the intermediate VDATA file (LFN 20). This VDATA file must be processed 
by the phase two routine, VPLOT. The final raster output may be plotted directly online, 
buffered to mass storage, or saved on a mass storage device. This saved plot file might then be 
copied online or it might be copied "off-line" by the foreground plot copy program. 

VPLOT is executed as a background processor. It reads and processes a series of 
control cards which describe user requests. A discussion of these user requests follows. 



15-31 



Revision B 
March, 1975 



The VPLOT program reads opfions from LFN 7 and prints diagnostics to LFN 6. A 
series of other logical file assignments are required: 

1. LFN 20 is assigned to the VDATA file produced by the output from 
phase one plotter library calls. 

2. LFN 21 is assigned to the VWORK file. This file is used by phase 
two as a scratch work file when creating the final raster output. For 
maximum efficiency, this file should be assigned to an unblocked 
binary file. 

3. LFN 22 is dynamically ASSIGNED by VPLOT. The nature of this 
assignment is determined by user option. This file will contain the 
saved VPLOT raster file, which may be plotted offline at a later time. 
An u nblocked binary file provides maximum efficiency, but any mass 
storage medium is suitable. 

4. LFN 23 should be assigned to the online printer/plotter If the online 
plotting option Is selected. 

The following definitions are required In the discussion of the various control options supplied 
to VPLOT: 

FILE (PW) - a file name fully qualified by password (if necessary). 

PDN - a valid peripheral device no, (octal). 

N1-N2 - two decimal integers separated by a dash, or a single Integer. 

This parameter designates which files of a muitl-flle area should 
be processed. (1<=N1<-N2<-32). 

C n - where n is a decimal integer (l<=n<=32) specifying the plot 

copy count. 

D/K - any string beginning with a "D" or "K", This option specifies 

whether the VPLOT file should be "deleted" or "kept" upon 
completion of processing. 

PACK ^ - a decimal integer describing a pack number upon which the 
VPLOT file should be saved. 

All VPLOT control options must begin in column one. Parameters may be separated 
by blanks or a comma embedded in optional blanks. If a parameter is given as null or missing 
then it will assume its default value. The syntax of the control options is given below. A slash 
("/") designates an alternative. Command names may be abbreviated to six characters. 



Command defaults follow: 



PDN - 

N1-N2 - 1-32 (all files) 
C n defaults to C~1 
D/K defaults to "D" 
Pack # - 1 



15-32 



Revision B 
March, 1975 



SAVEPLOT, FILE(PW)/PDN, NT -N2. Save the raster output onto FILE(PW)/PDN. 
N1-N2 designates which files of the VDATA to save. FILE(PW) must have been created prior 
to its use. 

DSAVEPLOT, FILE(PW), N1-N2, PACK* Create FILE(PW) with the appropriate size 
to save the raster output generated by files N1-N2 of the VDATA file. FILE(PW) will be deleted 
if it existed prior to creation. 

PLOTD, N1-N2. Plot files N1-N2 of VDATA directly to an online device. LFN 23 
is assumed to be assigned to the printer/plotter. 

PLOTS, FILE(PW)/PDN, N1-N2, C=99, D/K. Plot the previously saved area given by 
FILE(PW)/PDN, N1-N2 may be used to select various files from the saved area. Multiple copies 
may be specified. FILE(PW) will be deleted after processing, unless "keep" was specified. 

PLOT, FILE(PW)/PDN, N1-N2, C=99, D/K, PACK #. Initiate the foreground copy 
program to plot files Nl -N2 of FILE(PW)/PDN. Multiple copies may be specified as well as 
the delete option. If no FILE(PW)/PDN is given, then a file will be dynamically created from 
files N1-N2 of the VDATA file, and the foreground plot copy program will be initiated to plot 
the saved file (spooled DMS only). 

15-14 COMPLOT PLOTTER PACKAGE 

The incremental plotter package consists of a FORTRAN encoded subroutine library 
written by Houston Instruments, and Harris written interface routines. In addition, several 
foreground programs exist to support "off-line" operations. 

15-14.1 COMPLOT BASIC SOFTWARE Library 

The COMPLOT BASIC SOFTWARE plotter package consists of 11 user callable 
subroutines which are normally written in FORTRAN. The user writes a FORTRAN or Assembly 
Language program which contains calls to the desired subroutines. These calls will move the 
plotter pen to a specified point, draw symbols and numbers, raise or lower the pen, draw with 
labels, provide the necessary scaling, and plot a series of points when an array of X- and Y- 
coordinates is supplied. 

Output from the library routines is to LFN 5. 

Detailed information on the subroutine arguments and programming examples are 
available in the manual "COMPLOT Software Descriptions" by Houston Instruments. Harris 
has implemented the following routines: 

FUNCTIONS OF THE SUBROUTINES 

PLOT - I>ives the pen from its present position to a new position with the 
pen raised or lowered. It is also used to redefine the present 
position of the pen or to locate the present position of the pen. 

SCALE - Sets and stores scaling information for AXIS and LINE routines. 



15-33 



Revision B 
March, 1975 




Figure 15-1. Versaplot Function Test 



15-34 



Revision B 
March, 1975 



AXIS - Draws an axis with "Tic" marks at one-inch intervals and an 

identification label. Numerals representing the magnitude of the 
plotted data are drawn at each "Tic" mark. 

LINE - Drives the pen through an array of points for point-to-point plotting. 

SYMBOL- Positions the pen and forms the characters to be plotted. Available 
characters are 0-9, A~Z, and various special characters. See Figure 
15.3. 

NUMBER- Positions the pen and forms the numberals that define the magnitude of 
an internal floating point number. 

MARKER - Draws event marker at present pen position. 

FACTOR - Scales all plotting. 

PENUP - Raises the pen. 

PENDN - Lowers the pen. 

RSTR ~ Restores plotter to Z-fold position on a new page and positions the 

pen at the bottom of page. A call to RSTR is required for the dumping 
of the output buffer in time-shared and offline software. 



NOTE: Hollerith strings contain 3 characters per word. 

15-14. 2 Harris Library Routines 

Harris also supplies several subroutines to compliment the above. 

15-14.2. 1 Subroutine PLTOUT 

The subroutine PLTOUT performs the actual output to the operating system. The 
COMPLOT routine DRVR formulates a buffer of plot dota and passes the information to PLTOUT. 
This enables the user to supply his own routine for special applications. 



ENTRY: 
WHERE: 



CALL PLTOUT (LFN,IBUFF,1WC) 



LFN 

IBUFF 

IWC 



OUTPUT LOGICAL FILE NUMBER 
PLOT BUFFER ADDRESS 
WORD COUNT 
POS - OUTPUT BUFFER 

ZERO - OPEN ONLY (PAGE RESTORE) 
NEG - CLOSE AFTER OUTPUTTING ABS (IWC) 
WORDS 



15-35 



Revision B 
March, 1975 

Plol- data is packed three commands per word. The commands contain pen number, 
pen -up or down, and direction. See Figure 15-2. 

For example, a user wants to convert the plot command data to be compatible to a 
second computer, the following job stream may be used. 

$JOB 

SFORTRAN 



(MAIN PROGRAM) 



END 

SUBROUTINE PLTOUT (LFN,IBUFF,IWC) 
(user supplied routine) 

END$ 
$CATALOG 
BEGIN 
SASSIGN 5=n (Output from PLTOUT to mag tape) 

$REW5 
$GO 



DATA (if any) 



$EOJ 



BIT 



NOT USED 







PEN UP 
PEN #1 
PEN #2 
PEN #3 



7 6 



PEN DIRECTION 

I 

-X -X -Y -Y 

5 4 3 2 10 












1 


1 





1 


1 



Figure 15-2. PLOT Command Format 



15-36 



Revision B 
March, 1975 



15-14.2.2 Subroutine STPLOT 



STPLOT may be called to initiate o special foreground plot program, S. PLOT. 
Once initiated, the plot data stored on a disc file, mag tape, or other media, will be output 
to the plotter. Thus an "off-line" operation is available. 



ENTRY: 
WHERE: 



CALL STPLOT (FILE,PASS,COPIES,FIRST,LAST,IERROR) 

FILE: Six character file name or a valid physical device number. 

PASS: Four character password of disc file or zero. 

COPIES: The number of plot copies desired. 

FIRST: First plot file number (one or greater). 

LAST: Last plot file. 

lERROR: Return address upon an invalid file/device name. 

For example, a user wants to output directly from his test program to the plotter, 
the following may be used. 

$JOB ... 
SFORTRAN 

(PROGRAM) 

ENDS 

SCATALOG 

BEGIN 

SASSIGN 5=nn (assign output to plotter directly) 

SGO 

$EOJ 

The user decides to perform a long plot and does not want to dominate the computer. 
The following may be used: 

$JOB... 

SFILEMA 

CREATE PL DATA, MINE, 1,500,B6 

SFORTRAN 



(PROGRAM) 

CALL RSTR (2) 

CALL STPLOT (6HPLDATA, 4HMINE, 1,1,1) 



ENDS 

15-37 



Revision B 
March, 1975 

SASSIGN 5=PLDATA 
SOPEN 5, MINE 
SCAT GO 
SEOJ 

15-14.3 Foreground Programs INTPLT and S. PLO T 

S. PLOT is fhe main foreground program for "off-line" ploh. Once initiafed, 
S. PLOT obtains sevesrol plot parameters from either the subroutine STPLOT or the foreground 
program INTPLT. The parameters include device, file name, password, number of repro- 
ductions and plot file numbers. A buffer length of 110 packed words is assumed. S. PLOT 
may be released or terminated via use of the standard operator communication commands. 

INTPLT is a foreground program input and verify the plot parameters before 
passing the information to S. PLOT. The following is the input format: 

NAME(PASS),COPIES,FIRST-LAST 

WHERE: 

NAME - 1 to 6 character file name containing the plot commands. 

An octal device number which the plot data is currently 
stored. 

PASS - An optional password for disc files, in parenthesis 

COPIES - Number of reproductions of the desired plot(s). 

FIRST - First plot file number, starting with 1 (decimal, optional, 
default 1). 

LAST - Last plot file number. (Decimal, optional, default, 
first plot file. ) 

The following are examples of INTPLT terminal usage. 

$ON Unnn 

$INTPLT 

PLDATA 1 copy of first plot file on PLDATA 

$OFF 

$ON Unnn 

SINTPLT 

PLDATA (MINE),3 three copies of first plot file on PLDATA, password MINE 

$OFF 

SON Unnn 

SINTPLT 

11,3,1-5 3 copies of plot file, 1 thru 5 on mag tape 

$OFF 



15-38 



Revision B 
March, 1975 

The following are the same examples but requesfed by the operator. 

/lP,INTPLT,Unnn, 100,0 

PLDATA 1 copy of first plot file on PLDATA 

/lP,INTPLT,Unnn, 100,0 

PLDATA (MINE),3 3 copies of first file on PLDATA with password MINE 

/IP, INT PLT,Unnn, 100,0 

11,3,1-5 3 copies of plot files 1 thru 5 on mag tape 

The syntax error messages are self-explanatory. After the error message is printed, 
the correct command may be input. 

INTPLT must be cataloged foreground while S. PLOT must be cataloged as privileged 
foreground with LFN 21 assigned to the plotter physical device number (see Cataloger Assign 
Statement). 



15-39 



Revision B 
March, 1975 



o 



CE 




— 1 



X/CX3N[S - i 



L_D£ CD? I^^ 



LlJ 
CO 

QZ 

LlJ 



cr: 
cr: 

DZ 
) 



LiJs ^.? ZI 

rig ^? h-- 






I !P \/ E^ 



C_3s \Z? 005 i \? # 

cQs "z? QZsj r^j^ "- 

CLI? I — I? CI35 >~^n^ — 

Op z::? Q_- X- 



5 + ? CO s ° °^ " 

i:^ L__j" CDs 03? 



Figure 15-3. Sample Plot 



15-40 



Revision C 
November 1975 



APPENDIX A 
DMS TABLES 



DISPATCHER CONTROL TABLE 

The Dispatcher Control Table consists of a fixed area of memory containing two 
threaded lists, the Active Program List and the Available Entry List. The table also contains 
the Operator Communications Block, 

The Active Program List (APL) contains a nine word entry for each program which is 
currently being executed by DMS, The list is threaded in priority order and always contains 
at least one entry (for background which is always active). For spooled systems the entry for 
"lOEXEC" is also always active This thread is started with the pointer which is labeled 
$ACT and contained in the EXEC module. 

Each entry in the APL contains the following information: 

Word Pointer to next entry in the list (Zero indicates last entry). 

1 ) Program name - 

2 \ (6 A NSC II characters) 

3 Program status word (see Table 4-2), 

4 Core allocator threads (if allocated) 

5 Low memory address (start of program service area) 

6 High memory address 

7 Program priority value In bits 7-0 (0 to 255— is highest) 
Accounting user* in bits 23-8 (0-65735 for non-accounting systems). 

8 Parameter passed to program at initiation 

The Available Entry List consists of similar nine word entries with the value of words 
1-8 having no significance. The purpose of this list is to allow the Initiate Program subroutine 
to locate table space rapidly. This list is started by the Available Entry List pointer, which is 
labeled $AVAIL and is contained In the EXEC module. When no entries remian In this list, 
$ AVAIL contains a zero. 

The Operator Communications Block ($OCBLOK) reserves 9 memory words in the 
Dispatcher Control Table which are used as an active program list entry for the operator 
communications program. This block insures that OPCOM functions can be processed when 
the available entry list is empty. 



A-1 



Revision B 
March, 1975 

DISPATCHER CONTROL VARIABLES 

CURNT - When any program is being executed, this variable contains the address 
of the first word of the Program Service Area (PSA) associated with that program. When the 
Disc Mcnstor System is not executing any program, it is considered to be In the 'nul! state' 

and CLxNT must be zero. 

CAPLE - This variable contains the address of the Active Program List (API) entry 
for the active program corresponding with the PSA pointer in CURNT. 

ACT - This pointer cbnto'ns the address of the first (highest priority) entry in the 
Ac:;vs Progrom Lisr. Since tne background is always active, this pointer Is never zarc. 

AVAIL - This pointer contains the address of the first availabye entry in the 
Act"vcj Program L;st. If the entire Dispatcher Control Toble Is fuJI, this pointer will be 
zero. 

The following figLre shows a typical Active Program List. TVii faregroLid program 
ALARMS, the I/O Executive, and background era in the cctive prcgrcr:! :ist, and there are 
two fras i.'^ tries available. 



ACTIVE 
r PT^OGRAM r 

ALARMS i ■ 
1 LOW-— 



h!- 



> 



l> 



CAPLE 



Y 

J 



CURNT 



y 



1. 



-> 



MEMORY 



P/lIMTS 



> 




<r^ 



1 



> PSA 



J 



^ 



> PROG 

BODY 



Mri!4l-!73 



A-2 



PROGRAM SERVICE AREA 

The Proqram Service Area (PSA) consists of register save blocks, systenn variables, and 
device control tiles which are unique to each single program. The PSA precedes each program 
in memory (except for re-entrant foreground programs) and is initially established by the 
foreground allocator before each foreground program is loaded. 

The format of the PSA is shown below: 



Word 



0-4 

5 

6 

7-9 

10 

11-12 

13 

14-145 



Label 



P/PSA 

P/PC 

P/BIT 

P/SAU 

P/SWIT 

P/LIMTS 

P/CTEMP 

P/TEMP 



34-145 


P/SBUFF 


146 


P/ACCTG 


147-154 


P/FDCB 


155-266 


P/CFDCB 


267 


P/MODE 


268 


P/START 



Function 



General register storage (I,J,K,E,A). 

Program counter storage. 

Bit processor storage (H,V). 

S.A. U. register storage (X,Y). 

Program Switch Word (Used for foreground 
communications). 

Values for loading the limit registers 
(Computed by the allocator). 

Pointer to the highest 5-word block of 
temporary storage that is currently 
allocated. 

Re-entrant storage area (132 words including 
sector buffer). 

Sector buffer area (112 words). 

Pointer to Accounting Information Block. 

Reserved file control block (for LFN '11 used 
by loader). 

Standard File/Device Control Blocks. 

Execution mode switches. 

Program execution starting address. 



Execution Mode Switch Word format 

The following table explains the significance of the various bits of the Execution 
Mode Switch Word, (word 267 of the PSA) . 

Bit 23 = 1 Privileged 

Restricted 

Bit 22 =■■ 1 Ignore floating-point overflow 

Test further bits on floating-point overflow 



A-3 



Revision B 
March, 1975 

Bif 21 = 1 Do not t-ype message on SAU underflow. 
^ Type SAU message on SAU underflow. 

Bit 20 = 1 Do not abort on SAU underflow 
Abort on SAU underflow 

Bit 19 = 1 Do not type message on SAU overflow 
Type SAU message on SAU overflow 

Bit 18 ^ 1 Do not abort on SAU overflow 

Abort on SAU overflow condition 

Bit 17 = 1 Do not abort on FORTRAN I/O 
error 
Abort on FORTRAN I/O error 

Bit 16 = 1 Program isa non-accounting foreground 

type j 

Bit 6 =1 Program is re-entrant foreground 

Bit 5-0= Count of users of foreground re-entrant 
program (Onlv in P/MODE of actual 
program body) 

Example of APL/PSA Linkages 

The following chart shows the linkages which ore present when the foreground program 
ALARMS is loaded in memory and is active. 



Bit 15-1 Option 
Option 

Bit 14=1 Option 
Option 

Bit 12=1 Option 
Option 

Bit 10=1 Option 
Option 

Bit 9=1 Option 
Option 

Bit 8=1 Option 
Option 



23 is cataloged with program 
23 not cataloged with program 

22 is cataloged with program 
22 not cataloged with program 

20 is catologed with program 
20 not cataloged with program 

18 is cataloged with program 
1 8 not cata I oged wi th program 

17 is cataloged with program 
1 7 not cataloged with program 

16 is cataloged with program 
16 not cataloged with program 



5 A VAIL 



POINTER 



SOCBLOK 



-> 




BAKGND 

255 



POINTER 

**OC** 




POINTER 

lOEXEC 

10 



POINTER 
(VACANT) 



POINTER 

ALARMS 

50 



(VACANT) 



<r 






POINTER 



$ACT 



MIII40'I73 



A-4 



Revision C 
November 1975 



FIL^DEVICE CONTROL BLOCKS 

File/Device Control Blocks are used to handle logical I/O through the I/O Control 
System and the device handlers. Each Logical File Number which is assigned to a disc file or 
physical device has an associated File/Device Control Block. The general layout of these blocks 
is shown below: 



Device Control Block 



Bits 


23 


22 


21 


20 


19 


18 


17 


16-12 


11-6 


5-0 


WordO 


Busy 


WCNC 


EOF 


Err 


Open 


PA 


Err# 


LFN 


PDN 


1 


Reserved For Hcndler Use 



File Control Block 



Bits 


23 


22 


1 — ■ 

21 


20 


19 


18 


17 


16-12 


11-6 


5-0 


Word 


Busy 


V^CNC 


EOF 


Err 


Open 


1 


PA 


Err# 


LFN 





1 


Reserved For Handler Use 


2 


First 3 ANSCII Characters of File Name 


3 


Second 3 ANSCII Characters Of File Name 


4 


Disc Number 


Initial Sector * 


5 


BL 


SP 


R 


W 


O F 


Final Sector " 


6 


Current Sector Number 


7 


Sector Number Of Start Of Current File 



* If file is blocked (BL = 1) then 
Word 6 = undefined 
Word 7 = pointer to blocked work area 

The definition of the bits of the File/Device Control Blocks Are: 
BUSY - Set to indicate that the user's buffer is busy. 

WCNC - Set to indicate word count r-.ot complete. 
EOF - Set to indicate EOF read on last input, 

ERR - Set to indicate fatal device arror (Error number in 16-12). 



A -5 



Revision C 
November 1975 



OPEN - Set to indicate that the file or defice has been opened. 

PA - Permanent assign - set to indicate that this assignment cannot be changed. 

£1^1^ # _ Error code number of device error. 

LFN - Logical File Number. 

PDN - Physical Device Number to which the LFN is assigned. 

BL - When set, indicates a blocked file. 

SP - When set, indicates a spooled file. 

R - Set to indicate file is read-prohibited for this user. 

W - Set to indicate file is write-prohibited for this user. 

O - Set to indicate file has overflov/ed. 

F - Set to indicate file has been written into. 



PERIPHERAL DEVICE COORDINATION TABLE 

The Peripheral Device Coordination Table (PDCT) is used to associate a particular 
device and its handler with a Physical Device Number and to coordinate and control the 
use of the device among the various active programs. 



PDCT 

PDCTWl 
PDCTW2 



N 


Entry for 
device 


#0 


Entry for 
device 


#1 


Entry for 
device 


#2 


• 
• 


Entry for 
device 


#N 



Maximum device number 

(device must always be the disc handler) 



Note that the physical device number associated with a device is detejrmined by 
its position in this table. Unused entries may occur, but must have both words of their 
entry equal to zero. 



A-6 



Revision B 
March, '\975 



Table Entry Layout: 



Bit 


23- 16 


15- 





Word 1 


Current- 
User 


Device Handler 

Entry Address 








23 


22-18 


15- 





Word 2 


AF 


Device 
Type 


Device Busy 
Flag Address 



Current User - Contains the address of the Active Program List entry of the program 
to which it is allocated. This address is masked by '3770 In order to generate a unique 8-bit 
value for each program. 

Device Handler Entry Address - Provides the memory address of the handler entry 
point used to initiate an I/O request. 

AF (Allocated Flag) Is set to "1 " (negative) v/hen the device is allocated to a 
particular program and cleared upon release. 

Device Type is the type of physical device. The various valid device types are: 




1 
2 

3 

4 

5 

6 

7 

10 

11 

12 

13 
14 
15 



Disc 

Console TTY 

Remote TTY 

Remote CRT 

Paper Tape Reader 

Paper Tape Punch 

Line Printer 

Card Reader 

Card Punch 

Magnetic Tape 

Synchronous Communications Devices 

Real-time peripherals 

Incremental Plotter 

Printer/Plotter 



Device Busy Flag Address - Contains the memory address of the busy flag that is 
associated v^^ith this device. Note that one busy flag might be shared among several^ devices, 
as is the case v^^ith several magnetic tape units on a single controller. Each tape unit can be 
allocated to a separate program but this activity must be coordinated by a single busy flag. 



A -7 



Example Of Peripheral Device Coordination Table 



PDCT 

PDCTWr 

PDCTW2 



DATA 


■11 


. Maximum Device Number 


DAC 


SDFH 


. Device - Disc 


DAC 


- 


. Disc Is Never Busy 


DAC 


SASR 


.Device 1 - ASR TTY 


■01 


ASRBY 




DAC 





. Device 2 


DAC 







DAC 





. Device 3 


DAC 







DAC 





. Device 4 


DAC 







DAC 





. Device 5 


DAC 







DAC 


SLPAH 


. Device 6 - Line Printer 


■06 


LPABF 




DAC 


SCRAH 


. Device 7 - Card Reader 


■07 


CRABF 




DAC 





. Device 10 


DAC 







DAC 


SMCAHO 


. Device 1 1 - Mag Tape 


•11 


MCABF 





RESIDENT PROGRAM LIST 

The Resident Program List contains the ANSCIl name and memory bounds for each 
resident program. The size of this table must be established when DMS is generated, and must 
be large enough to satisfy the worst case requirements of each particular foreground environment. 

Entires are made in this list by the system initialization routine (SYSINIT), which 
directs the loading of all programs which have been cataloged as resident foreground types. 



RPLIST 



WORD 


N 


M 


1 


ENTRY #1 


5 


ENTRY #2 


9 


ENTRY #3 



N Maximum number of entries allowed 
in the table 

M Number of entries in current use. 

Entry Format: 

Word 1 - Program nome 

2 - (6 char. ANSCIl) 

3 - Low memory address 

4 - High memory address 



A-8 



Revision C 
November 1975 



TIMER SCHEDULE TABLE 



The Timer Scheduler musf- reserve a six word entry for each program to be executed 
concurrently on a periodic basis. The size of this table must be specified at system configuration 
to be large enough for worst case conditions of requests for timer schedule services. 



MXTPRG 



N 



NAMEl 



NAME2 



LEVEL 



INTRV 



INCTR 



PARAM 



Maximum number of programs on timer schedule 

First 3 characters of program 1 name or zero * 
First 3 characters of program 2 name or zero* 

First 3 characters of program N name or zero * 

Second 3 characters of program 1 name 
Second 3 characters of program 2 name 

Second 3 characters of program N name 

Program 1 priority level 
Program 2 priority level 

Program N priority Level 

Program 1 negative of interval 
Program 2 negotive of interval 

Progrom N negative of interval 

Program 1 interval counter (incremented each cycle) 
Program 2 interval counter 

Program N interval counter 

Program 1 initiation parameter APL pointer for 

Program 2 initiation parameter or suspend calling 

program for 
Program N initiation parameter interval mode. 



* Note that a vacant entry is denoted by having the NAMEl value equal to zero. 

If the INTRV value is zero, and if the LEVEL value is zero, the program is suspended 
until the clock period is completed, at which time it will be released by the Timer Scheduler. 
If the LEVEL value is not zero, then the specified program will be initiated when the interval 
has been completed, and the entry will be removed from the timer schedule list. 

MAGNETIC TAPE OPTIONS TABLE 

This table is used to define the characteristics of and the default tape options of 
the various tape drives in the system. There is a one word entry for each drive. Thus, 
there can be up to 8 words in this table. The position of an entry in this table is determined 
by the software transport number (T0-T7) associated with the entry. E.g., Word 1 is the 
default tape-op for transport TO and word 7 is the default tape-op for transport T6, An 8 
word block is also set aside here which contains the background tape options word actually 
being used. 



A-9 



Revision C 
November 1975 



The entry format is shown below: 



Bits 


23-17 


16 


15-14 


13-12 


11-10 


9-6 


5-3 


2-0 


Entry 





Type 


Mode 


Density 


CPW 





TR. 






Type (0) Specifies 9-lTack tope 
(1) Specifies 7-track tape 

Mode(O) Specifies binary-ASCII (no conversion) for symbolic ]/0 
(1) Specifies BCD or EBCDIC conversion for symbolic ]/0 

Dens. (0) Specifies 200 BPI - or - low density PEC 

(1) Specifies 556 BPI - or - Hi density PEC 

(2) Specifies 800 BPI 

(3) Specifies 1600 BPI 

CPW (0) Specifies 1 character per word 

(1) Specifies 2 character per word 

(2) Specifies 3 character per word 

(3) Specifies 4 character per word 

TR is hardware transport number on controller 



TERMINAL CONTROL BLOCKS 

Terminal Control Blocks are established for each physical device which is either 
to be spooled or to interact with foreground through the remote terminal handler. 

Terminal Control Blocks define the physical characteristics of these physical 
devices, along with holding certain control information to allow the spooling and foreground 
]/0 tasks to be performed. 

Each Terminal Control Block (TCB) consists of 21 words as defined below: 



Word 



1 
2-3 

4-7 
8 
9 



Label 



T/PDN 
T/FCB 



T/NAME 



T/C 
T/LINK 



Contents 



Bits 23-12 Normal File Control Block Bits 

for word of FCB (status), 
(bit 23 set indicates TCB busy) 

bits 5-0 Physical Device Number 

Reserved for handler use 

File name for spooling or processor name for 
foreground communications. 

Reserved for handler or processor use 

Control word for TCB (see below) 

Link to next TCB in chain or (for end of chain) 



A-10 



Word 
10 

11 
12 



13 
14 



15 
16 

17 

18 



19 



20 



Lobe I 
T/PL 
T/WC 
T/BA 



T/PRI 
T/FPRI 



T/SQP 
T/MODE 

T/LP 
T/ALT 



T/PROG 



T/REGS 



Contenfs 

Parameter list storage for ]/0 coll ('XXYY) 

Word count of ]/0 buffer for device 

Address of I/O buffer (0 at SYSGEN — filled in 
via dynamic core allocation request) 
(storage beyond I/O buffer in this core block 
is used as permanent storage by ACRONIM.) 

Foreground execution priorily of terminal 

Priority limit for device, (default priority set 
in bits 7-0; if bit 23 set, then this is 
a maximum limit for this terminal; if 
both bits 23 and 22 set, then this is a 
fixed priority for this device — none 
other will ever be used.) 

Spool queue pointer 

Mode of terminal : -1 = Input only 

~ Both input and output 
+ 1 = Output only 

Bits 23-8 Characters per line 

7-0 Lines per page 

TTY = 1 l/P; 72 C/L. 
Printer = 1 l/P; 132 C/L. 

Address of releted TCB. Gives output TCB for any input only 
or input/oLtput device. Should be address of first word 
of TCB. For output devices, gives address of other output 
TCB to take output from It if that device is busy, or zero 
if this is nci' desired. 

Gives negativi) of Active Program Listentry address 
for current foreground program connected 
to this terninal, or last initiated by 
this terminal. If input spooling, gives 
input job stream queue priority. 

Gives storage definitions for ACRONIM function. 
Bits 23-16 = Maximum * of files available at any one 
tirre under ACRONIM 
15_8 = Number of "number" registers available to 

the terminal minus 1 . 
7_0 = Number of "alphanumeric" registers 
available to the terminal. 



The TCB control word is used by the ^O executive module to manipulate the TCB 
qnd keep track of its current status and operations. The various bits of the control word are 
defined below: 



Revision C 
November 1975 



TCB CONTROL WORD 



Bit 22 - 
Bit 21 - 

Bit 20 - 

Bit 18 - 
Bit 16 - 

Bit 15 - 
Bit 14- 
Bit 8 - 
Bits 2-0 



Terminate Output 



Input Ready - 



Special Action 
Request - 

Input Request - 

Operator Open 
Request - 

Close Request 

Delayed Open 
Request 

Waiting for Cell 
Mode 



DISC DEFINITION TABLE 
D/NUMB 

D/DEFT 



(Abort) - set by handler to indicate that user wishes to 
abort his current foreground or spooling process 

Indicates that the handler has input ready for I/O 

executive to pass on either to spooling or foreground 

processors 

used to return $JOB card from foreground interpreter 

to initiate input spooling process. 

signals I/O executive to request Input from device. 

Indicates that the terminal user wishes to begin 
communications through his terminal. I/O executive 
opens input from device and reads one line. 
I/O executive closes the device and releases the I/O 
buffer and permanent storage area. 

An operator open request is made when the current 
program is disconnected from the terminal. 

The I/O Executive was unable to obtain a 4-word cell 
for this TCB. 

000 = Closed 

001 = Input spool 
010 = Processor 
Oil = Control 

100 = Output spool 



N 


Disc 


#1 Entry 




Disc 


#2 Entry 





number of discs in system 



(each entry 16 words long) 



Entry format: 

Word Address of disc controller busy flag 

1 Number of words per sector 

2 Number of sectors per trock 

3 Number of tracks per cylinder 

4 Number of cylinders per pack 

5 Pack number currently mounted (default set at SYSGEN time) 

6 Sector number of space allocation map on the disc 

7 Sectors per space allocation bit 

8 Retry count 

9 Drive number at appropriate bit position for command word 



A-12 



Word 10 Channel/Unit number 

1 ] Address of disc controller service routine 

12 Output Address Word (OAW *CU) Instruction 

13 Output Command Word (OCW #CU) instruction 

14 Address of disc controller string pointer 

15 Reserved 



DISC V^O QUEUE 

The Disc I/O queue is a queue in which oil disc ]/0 requests are stacked for 
processing according to priority and disc controller availabllitv. Queue entries are prepared 
and entered Into the stack by the resident disc handler, as each request is made, and processed 
according to priority. 

Each entry consists of 8 words, defined as follows: 

Word String address pointing to NEXT AVAILABLE SPACE or the NEXT PRIORITY 

ENTRY FOR THAT CONTROLLER. 

1 Disc definition block pointer 

2 Word count 

3 Buffer address 

4 Disc command word 

5 File Control Block pointer 

6 Priority of request 

7 Bit 23 = 1 For adv. file; otherwise. 

Bit 22 = 1 For I/O executive call; otherwise. 
Bit 21 = 1 For absolute I^W call; otherwise. 

Each controller maintains its own string through the queue, only those entries which 
are for that disc controller are kept on the string. An Available Space List Is also maintained 
to link together the unused entries for later use. 

The variable DA VAlLmaintains the Available Space List through the vacant cells 
in the queue. The variable(s) DC-SP maintain the individual disc controller string for disc 
controller "n". 

All strings are terminated with a pointer value. 

When an entry is taken from the string for processing, its address is negated and 
stored as the disc controller busy flag DC-BF. After successful completion of a request, word 
is removed from the disc controller string, and added to the available space string. 



A-13 



Revision C 
November 1975 



WORD 




MASTER DISC DIRECTORY (MDD) 



FIRST THREE ASCII CHAR OF FILE NAME 



SECOND THREE ASCII CHAR OF FILE NAME 



INITIAL SECTOR NUMBER 



23 22 

P R 
R 

I P 

V R 

T O 



21 

W 

P 
R 
O 



20 

D 

P 
R 
O 



23 22 21 

B S C 
L P O 
COR 
C O E 
K L 



20 

P 

E 

R 

M 



19-16 
TYPE 



10-0 
FINAL SECTOR NUMBER 



15-0 
MEMORY REQUIREMENTS 



23-16 
PACK NO 



15-0 
ABSOLUTE PROGRAM ORIGIN 



FIRST THREE ASCII CHAR OF PASSWORD 



23-16 
4TH CHAR OF 
PASSWORD 



15-0 
USER NUMBER 



A-14 



EXTERNAL INTERRUPT DEFINITION BLOCKS 



An External Interrupt Definition Block is required for each interrupt which might 
be used for foreground program activation in a particular configuration. The format of this 
table is: 



EXIDBS 



N 



Interrupt 1 
Definition Block 



Interrupt 2 
Definition Block 



Interrupt N 
Definition Block 



Number of blocks 



Each entry takes the form: 



IDBXYY 



DATA 


'XYY 


DATA 


0,0 


DATA 





DATA 





RDAT 


5(0) 


DATA 





TRM 


*-6 


TMD 


*-n 


TMI 


*-10 


TMK 


*-10 


BSL 


$INIT^ 


TMR 


*-11 


BRL* 


*-7 



. Interrupt group (X) and level (YY) 

. Name of connected program 

. Priority of connected program 

.Initiation parameter of connected program 

. Register save block 

. Interrupt address 

. Save registers upon entry 

. (D) = program name 

.(I) -■- execution priority 

. (K) - parameter 

.Call initiate subroutine 

. Restore registers 

.Return to interrupted program 



The corresponding dedicated interrupt location must be filled with a BSL 
instruction to the location IDBXYY + 10. 



A-15 



APPENDIX B 
ACCOUNTING RECORD STRUCTURE 



This appendix defines fhe confents of DMS accounting records, produced by accounting 
configurations of DMS as discussed in Section VII. 

All accounting records are eight words long and follow a standard format as discussed 
below, and shown in Table B-L 

Word contains the identification of the type of accounting record. The bits are 
defined as follows. 

Bits 23-18 - Device type (see Table 4-3) 

Bit 8 - Set to indicate remote terminal accounting record. 

Bit 7 - Set to indicate re-entrant foreground program accounting record. 

Bit 6 - Set to indicate background accounting record. 

Bits 5-0 - Physical device number. 

Some records use special combination of these fields for special records. These are 
as follows. 

Device type - Disc Record 

36g - System Idle Time Record 

378 - CPU Usage Record 
Word = -1 {77777777 q) - Date Record 

The exact format of each of these records is discussed later. 

Word 1 of all records contains the user number, or zero if none. 

Word 2 defines the starting time-of-day for accumulation of Information in the record. 
This is expressed in tenths of seconds since midnight. 

Word 3 defines the ending tlme-of-day for accumulation of information within the 
record. This Is also expressed as tenths of seconds since midnight. 

Words 4-7 are variable depending on record type. See Table B-2 for these words. 



Table B-1. Sfandard Accounting Record 



Word 



4 
5 

6 
7 



23 18 




8 


7 


6 


5 


Device 




T 


R 


B 


Physical 


Type 




e 

r 


e 
e 


a 

c 
k 


Device 
Number 






m 


n 








i 


t 


g 








n 


r 


n 








a 
1 


a 
n 
t 


d 




User Number 


Starting time-of-day 


Ending time-of-day 


- 


Vary depending on 


- 


- 


Word 
See Table B-2 


-" 









B-2 



Table B-2. Accounting Record Contents 



Revision B 
March, 1975 



Record Type 


Device Type 
in Word 


Word 4 


Word 5 


Word 6 


Word 7 1 


Date 


Word = 
'77777777 


First 3 ASCII 
characters of 
date 


Second 3 ASCII 
characters of 
date 


Last 2 ASCII 
characters of 
date & blank 


N/A 1 


CPU Usage 


'37 


CPU time in 
milliseconds 


Core usage in 
words 


N/A 


N/A 


System Idle time 
Accumulator 


'36 


Time spent in 
Idle loop in 
millisec. 


N/A 


N/A 


N/A 


Disc 


■00 


Disc Accesses 


Hundreds of 
words transferred 


N/A 


Disc errors ; 


Console Device 


'01 


Lines input or 
output 


N/A 


N/A 


N/A 


Remote TTY 


'02 


Lines input or 
output 


N/A 


N/A 


N/A 


Remote CRT 


'03 


Lines input or 
output 


N/A 


N/A 


N/A 


Paper Tape Reader 


'04 


Characters 
read 


N/A 


N/A 


N/A 


Pbper Tape Punch 


'05 


Characters 
punched 


N/A 


N/A 


N/A 


Printer 


'06 


Lines printed 


N/A 


N/A 


Error stops , 


Card Reader 


■07 


Cards read 


N/A 


N/A 


Error stops 


Magnetic Tape 


■11 


I/O requests 


Hundreds of 
words transferred 


N/A 


Mag. Tape 


Synchronous 
Communications 


'12 


Characters 
transferred 


N/A 


N/A 


Errors 


Real-Time 
Peripherals 


'13 


Words 
transferred 


N/A 


N/A 


N/A 


Printer/Plotter 


'15 


Lines 
printed 


Lines Plotted 


N/A 


Error Stops 


Incremental 
Plotter 


'14 


Hundred of 
commands 
transferred 


Number of 
physical 
pages used 


N/A 


N/A 



B-3 



APPENDIX C 
SYSTEM ERROR MESSAGES 



C-] 



Revision C 
November 1975 



System Error Messages 



Message 



.-I ADD flLNAM 
NON [XISTtNT 

A8S BIAS ERROR 



ABS START ERROR 
ABT XX "cccccc 



ABT 01 


ABT 0? 


ABT 03 


ABT 04 


ABT 0.5 


ABT 06 


ABT 07 


ABT 1 3 


ABT 1 1 


ABT 12 


ABT 13 


ABT 1 4 


ABT 15 


ABT 16 


ABT 17 


ABT 20 


AST 21 


ABT 72 


ABT 23 


ABT 24 


ABT 23 


ABT 26 


ABT 27 


ABT 33 


ABT 34 


ABT 35 


ABT 36 


ABT :./■ 


ABT 40 


ABT 47 


ABT 43 


ABT 44 


ABT i6 


ABT 47 


ABT 50 


ABT :il 


ABT . 



Generated by 



DMS 

File Manager 

File Manoger 
DMS 



ACCIG DISC FULL 
ACCrO INOPERTIV 

ASSEM8 I 
A5SEMB ? 
AS5EMB 3 



DMS 
DMS 



DMS 



Macro 
Assembler 

Macro 
Assembler 

Macro 
Assembler 



Meaning 



Hold 
Message 7 



Attempted to ADD a non-existent file 
to job stream. 

Invalid progrom BIAS speclFIed on DUMP or 
DUMPBF command. 

Invalid program sfortinc) address specified. 

Program aborted rat location cccccc for reoson 
XX - see below; 

Program colled abort„ 

Operator aborted program. 

Instruction trap violation. 

Memory protect violation. 

Stall Alarm violation, 

Flootinci point overflov*„ 

Invalid "BLU" operond,, 

Unassigned device codi;. 

Invalid function code„ 

Failed to open o devici; before using it. 

Program attempted to input below its lower bound. 

Program otfempttd to input above its upper bound. 

Temporary storage e>fct:eded. 

File extents overrun. 

Program attemptt-d to read job Statement record. 

System service caMed with invalid parameter. 

Unable to load "BAKGND" program due to 
size limitations. 

Invalid absolute load module origin, 
Inva'id open request (disc file). 
Invalid-file type for loadir>g. 
Invalid externol interrupl speci ficotiong 
InvoMd program itarting address. 

Attempt to load ion-absolute background 

program' across 32K map. 
Invalid request to return dynamic core„ 
Invo'id parameters on dynamic assign call. 
Assign table overflow. 
Invalid parameters on Dynamic Core Manoger 

calL 

Program aborted by terminal user recfjest. 
Attempt to use duplicate or nested $ADD cords. 
No room on disc For spoo' file„ 
Irrecoverable dir.c I/O error. 

Spoo! assignmen- made to device which cannot 

be spooled out ^o. 

Read access to disc file prohibited for this user. 
Write access to disc file prohibited for this user. 
Background Job time-limit exceeded. 

Too many currently open RTP devices. 

Operator of TTY aborted current program with 
X-OFF key. 

Accounting disc pack full. Unable to create 
new accounting file. Accounting records will 
be 'ost and message will repeat at 20 second 
intervals until space becomes available. 

Accounting disc pack full. Unable to create 
ACSUSR files. Viie /JC command may be used to 
run bock ground jobs without user number in cor- 
rectirg this sltuotion. Wliefi room has been cre- 
ated on the pock, the jystem should be re-booted. 

Symbol table overflow. 

Greater than 25 common block names 

Error on skip pseudo operation. 



No 



No 
No 



Action taken 
when released 



Yes 
Yes 



C-2 



Revision B 
March, 1975 



System Error Messages (Cont'd) 



Message 


Generated by 


Moaning 


Hold 
Message ? 


Action token 
when released 


ASSEMB 4 


Macro 
Assembler 


Excess number of E5KP commands. 


Yes 


Abort 


ASSEMB 5 


Macro 
Assembler 


Insufficient number of ESKP operations. 


Yes 


Abort 


ASSEMB 6 


Macro 
Assembler 


Macro expansion overflow. 


Yes 


Abort 


BSFCR 


DMS 


Operator should backspace file on card reader. 


Yes 


Program Continues 


BSF TR 


DMS 


Operator should backspace file on paper tope 
reader. 


Yes 


Program Continues 


BSO 


DEBUG 


Break stack overflow. 


No 




BSR+i CR 


DMS 


Operator should backspace one card plus one 
record on card reader. 


Yes 


Program Continues 


6SR Ci': 


DMS 


Operator should backspace one record on 
card reader. 


Yes 


Program Continues 


BSRTK 


DMS 


Operator should backspace one record on 
tape reader. 


Yes 


Program Continues 


CD nn 


ACRONIM 


Error codes below. 


No 




CD 1 




Syntax error. 






CD 2 




Dynamic core unavailable. 






CD 3 




Too many concurrently active disc files. 






CD 4 




Cannot copy to CRT terminal. 






CD 5 




First output device or file name invalid. 






CD 6 




Second output device or file name invalid. 






CD 7 




Third output device or file name invalid. 






CD 8 




Invalid command code. 






CD 9 




BASIC statement number error. 






CD 10 




No area Is in edit mode. 






CD 11 




Not in BASIC mode. 






CD 12 




Cannot do ]/0 to another interactive tenninai. 






CD 13 




Cannot copy an "area" from non-disc device. 






CD 14 




Initialization request must be on first card. 






CD 15 




Unexpected end-of-area. 






CD 16 




Disc area overflow on destination file. 






CD 17 




Invalid standard scratch area name. 






CD 18 




More than 8 numbers on TV statement. 






CD 19 




Cannot change processor modes while editing. 






CD 20 




Invalid variable on "mode value" statement. 






CD 21 




BASIC work area "CI" not present. 






CD 22 




Disc area name already exists, or not enough 
space on disc. 






CD 23 




BASIC statement number not in l-VVVy range. 






CD 24 




Edit area full: update needed. 






CD 25 




RC area full: updote needed. 






CD 26 




Cannot specify RC size as zero. 






CD 2/ 




No edit area currently defined. 






CD 28 




Edit area too small - system error. 






CD 29 




Edit area not on disc. 






CD 30 




Insufficient disc space to create scratch area. 






CD 3t 




Output disc area overflow on update command. 






CD 32 




Core allocation problems; Delete edit area name 
then rename IP area to olcTedrt area name. 






CD 33 




Run name not same as edit area name. 






CD 34 




Function not allowed in BASIC mode. 






CD 35 




Requested disc area( s) not on disc. 






CD 36 




New disc name already in use. 






CD 37 




Cannot delete oi rename standard terminal 
scratch areas. 






CD 38 




Disc area is nonexistent. 






CD 39 




No disc area name supplied where required. 






CD 40 




No list or view area defined. 






CD 41 




Non-BASIC record found in disc area. 







C-3 



Revision C 
November 1975 



System Error Messages (Cont-'d) 



Message 



CDA-2 
CO -13 
CD .M 
CD 4.5 

CD .(.6 
CD -17 

CD iB 
CD 49 
CD SO 

CD SI 
CD 52 
CD 53 
CD 54 

CD 55 

CD 5p 
CO !? 
CD rS 
CD :'9 
CD to 



CD 61 


CD 62 


CD t3 


CD 64 


CD 65 


CD 66 


CD 67 


CD 68 


CD 69 


CD 70 


CD :-; 


CD '2 


CD -3 


CD ■?4 


CD -5 


CD -6 


CD " 



Generated by 



CD 'S 
CD ^9 
CD iO 

CD ^1 
CD 32 
CD 33 
CD 84 
CD 85 
CHEiCKSUM ERROR 

che:cksum error 

co^e dict full 
co-?e not avail 

CSi^ 

DEV XX ERROR YY 
Dk\' XX ERROR 01 
UEV XX ERROR 02 



Job Control 
INCLUDE 

SHLEMA- 

Restore 
DMS 
$|-ILEMA- 

DMAP 
SG5 
DMS 



Meaning 



Request to list or view beyond end of disc area. 
Cannot delete "output area" disc area. 
Key (password) must be alphabeHc. 
Edit requests for records post end of disc area 
ignored. 

Cannot delete Of change line number 0. 
Too many (more than 7) arguments on CR 
cofTimand, 

Specified text not found on search request. 
Column number not in 1-30 range. 
Specified text cannot be found: not enough 
room in search area. 
Cannot edit on und-ot-fi'e record. 
Requested texf not found in edit record. 
No "output area" defined. 
Edit line not de'Ined. 

Cannot insert end-of-fl!e line in edit line 
mode. 

Requested word in line does not exist. 
Cannot delete ocross tab field. 
Non-existent registerls). 

Register's) not larpe enough for given text. 
Command only valid when Acronim control 
is from disc area. 

Non-numeric values in number register. 
Requested deconcotenated text not found. 
More Than 80 characters building text. 
List or v'\ew values out of range. 
Name not in dUc area table. 
Register's) reqic-jsted are beyond maximum. 
Disc area does ■ ot contain valid SJOB card 
as First record. 

Invalid SJOB card parameter. 
Invalid on non-existent user-number. 
Invalid output device op^ SJOB card. 
Terminal alreoo/ on, SON treated as SOFE„ 
Reenter SON. 
Invalid user-number^ 
Edit record greater than 32767, 
User number on SON statement has not been 
entered. 

Invalid password. 

Old area gone or new area already exists. 
Pile being updated does not have proper 
access bits. Rename TP to new nome. 
Cannot delete 'id it area file. 
Register setting command is invalid. 
Buffer size too large (^999 characters), too 
small ( ■^10 characters) or from a non-inter- 
active device. 

Illegal PDN as first porameter on " SM" card 
Illegal optional parameter on "SM" card 
Transport was rot specified on "5M" card 
Non-existant djsc area to be spooled 
Invalid PDN as spool out device. 
Checksum error on binary input record. 

Checksum errof on binary Input record. 

The in-core-dir,-r:tor/ '"■I MOD entries is full. 
Insufficient core avoiloi-le for map. 

Checksum Error in Load 

Physical I/O error on device XX, See below. 
Device XX no* "ON-LINE". 
Read error (checksum, pority, etc.l on 
device XX„ 



Hold 
Message ? 



Action taken 
when released 



Yes 
Yes 



Yes 
Yes 
Yes 



Reread 
Reread 



Retry 
Retry 



C-4 



Revision C 
November 1975 



Syst-em Error Messages (Cont'd) 



Massage 


Generated By 


Meaning 


Hold 
Mossoge 7 


Action when 
when released 


DEV XX ERROR 03 




Write error on device XX. 


Yes 


Retry 


DEV XX ERROR 04 




Paper tape reader gate open. 


Yes 


Retry 


DEV XX ERROR 05 




Paper tape punch paper 'ow. 


Yes 


Retry 


DEV XX ERROR 06 




Cord reader command buffer full. 


Yes 


Retry 


DEV XX ERROR 07 




Cord reader stacker full. 


Yes 


Retry 


DEV XX ERROR 10 




Output device trouble. 


Yes 


Retry 


DEV XX ERROR 1 1 




File protected. 


Yes 


Retry 


DEV XX ERROR 12 




Irrecoverable disc en-or. 






DISC ERR XX 


DMS 


Disc I/O error on disc XX. 


Yes 


Abort 


DISC READ ERROR 


DMS 


Unrecoverable disc read error. 


No 




DISC WRITE ERROR 


DMS 


Unrecoverable disc v/rite error. 


No 




DMS NOT ON 
FILE 


FILEMA- 
REPSYS 


The module on LFN 4 was not DMS. 


No 




DMS SA ERROR 


FILEMA- 
REPSYS 


The starting address was not zero. 


No 




DMS TOO LARGE 


FILEMA- 
REP5YS 


Now DMS does not fll in the current resident 
DMS area. 


No 




ELF 


EDITLF 


insufficient background area tn build externol 
definition tables. 


No 




ELF 02 


EDITLF 


Invalid control statement. 


No 




ELF 03 


EDITLF 


An external definition Is niisslng from the begin- 
ning of a module being added to librory file., 


No 




ELF 04 


EDITLF 


Attempt to odd module which duplicates already 
existing name to library file. 


No 




ELF 05 


EDITLF 


Specified name not on link ready file. 


No 




ELF 06 


EDITLF 


Word count not complete on binary read request 


No 




ELF 07 


EDITLF 


Modules being added will not fit on current 
library File, 


No 




ELF 08 


EDITLF 


Name not specified where required. 


No 




ELF 09 


EDITLF 


Specified name Is not or. library file. 


No 




ELF to 


EDITLF 


An attempt is being made to add modules which 
exceeds 1000 module limit. 


No 




ELF 11 


EDITLF 


An invalid loader code was encountered on Input 
tile. 


No 




ELF 12 


EDITLF 


A source program error was encountered on input 
file. 


No 




ELF 13 


EDITLF 


An end-of-file wos encountered at on improper 
position on library file. 


No 




ELF 14 


EDITLF 


An end-of-file wos encountered at an improper 
position on link ready file. 


No 




ELF 15 


EDITLF 


A checksum error was encountered on a library 
file record. 


No 




ELF 16 


EDITLF 


A checksum error wos encountered on a link ready 
file record. 


No 




ELF 1 "' 


EDITLF 


An end-of-file is present at start of library file. 


No 




ELF 18 


EDITLF 


An end-ot-file Is present at start of link ready 
file. 


No 




ELF 19 


EDITLF 


Work file (LFN'16) for ORDER statement is too 
smoll. 


No 




EOF.. 


DMS 


An end-of-file wos written to the output device. 


No 




EOT Tx 


DMS 


End-of-tape detected on Transport X. 


Yes 


Program Continues 


ERR File-xxxxxx 


DMS 


Irrecoverable disc error on file xxxxxx. 


No 




FER 01 


Fortran Library 


Square root of o negative number. 






FER02 


Fortran Library 


Overflow in conversion from real to Integer. 






FER 03 


Fortran Library 


Division by zero. 






FER 04 


Fortran Library 


Arithmetic underflow. 






FER 05 


Fortran Library 


Arithmetic overflow. 






FER 06 


Fortran Library 


SIN or COS of o number so large that all 
significance is lost. 






FER 07 


Fortran Library 


ATAN2 or DATAN2 called with both arguments 
zero. 






FER 08 


Fortran Library 


Logarithm of zero or negative number. 






FER 09 


Fortran Library 


Underflow during EXP or DEXP, 






FER 10 


Fortran Library 


Overllow during EXP or DEXP. 






FER 11 


Fortran Library 


Underflow during exponentiation iX*'Yl. 






FER 12 


Fortran Library 


Overflow during exponentiation (X*"Y). 






FER 13 


Fortran Library 


Exponentiation error :0*'0 or neg^O). 






FER 14 


Fortran Library 


Exponentiation error iO""neg). 







C-5 



Revision B 
March, 1975 



System Error Messages (Cont'd) 



Message 



FER 15 


PER 41 


FER 42 


FER 43 


FER 44 


FtR45 


FER 46 


FER 4/' 


FER 48 


tER49 


FG ERR 2«xxx,<x 


1 f- IRR Jxxxxxx 


EC- Fi^R 4xx«xxx 


FO Fi^R ixxxxx^ 


1 HE i-N'T i. 5. 


1 111 FJOr THERE 


ULE NOT FHERE 


1 ILE NOT FHERE 



FIFE NON-EXIST 
FILE SIZE ERROR 
FILE lYl'E ERROR 
FILF IN USE 

FORMAT ERROR 

iCS 

1C5 

ILR 

INPUT SPOOL 

INSL'F FG SPACE 



KEY FOO LARGE 



iCT 


<x 


LCT 


11 


icr 


i2 


LCT 


:)3 


FCT 


■14 


LCT 


')') 


icr 


l)lj 



Generated by 


Fortran 


Library 


Fortran 


Library 


Fortran 


Library 


Fortran Library 


Fortran 


Library 


Fortran 


Library 


Fortran 


Library 


Fortran 


Librory 


Fortrai 


Library 


l-ortran 


Library 



INV ilLF TYPE 


INCLUDE 


INVAl FUNCTION 


FILEMA 


INVALID PRIORITY 


DMS 


INV ALIO SJOB 
CARP SYNTAX 


QMS 


INVALID OUTPUT 
DEVICE 


DMS 


INVALID USER 
NUMBER 


DMS 


JCL ERROR 


Job Contra 



DMS 

DM!> 

DMS 

Index 
Sequential 

Package 

INCLUDE 

FiLEMA 

DMS 

PMS 
F(LtMA 
FILEMA 
DMS 

FILEMA 

DEBUG 

SGS 

SGS 

DMS 

DMS 



Index Sequen- 
tial Package 

Cataloger 



Meaning 



Hold 
Mossoge ? 



Exponentiation error (neg^'neg or neg**pos). 
Invalid output FORMAT specification. 
Invalid input FGKMAT specification. 
Illegal character during input. 
Underftov^ during numeric input conversion. 
Overflow during numeric input conversion. 
More than iO BUFFER IN or OUT files. 

More than 10 files were defined via l-he 

DEFINE FILE statement. 
Attempted READ, WRITE, or FIND a record on an 

undefined random access file. 
Attempted READ, WRITE, or FIND a record number 

larger than the defined number of records in the 

random access file. 
Attempts to initiate nonexistent foreground 

program named xxxxxx. 

Too many progroms already active. Table full. 
Foreground program too large. 
Attempt to load invalid file type into foreground. 
The disc file has never been initialized with an 

index sequential initialization request. 

Attempt to Inclu<le nonexistent file. 

Attempt to SAVE nonexistent file. 

File name does not start v/ith alphabetic 

character. 

Attempt to delei-Fi nonexistent disc file. 
Invalid file size parameter. 
invalid fi'e type parameter. 
Attempt to de'efo a file which is open to 

another prograo'. 

Improper parame-er sequence on statement. 
Invalid Control ')totement„ 
Invalid Control ■>tatement, 
Inva'id Load Recuest, 
Input spool file of insufficient size to hold input 

job. Or, user "X-OFf" ed the spooled input. 

Resident foreground area is not large enough 
to load all programs t/prd as resident foreground. 

Attempt to "include" load module file^ 

Unrecognized command. 

Invalid priority .alue on SJOB statement. 

Invalid format of SJOB statement. 

invalid spool output de./lce specification on 

SJOB statement. 

Invalid user number on SJOB statement. 

Unrecognized or invalid parameter or commond 
on Job Control statement. 

Key size of greater ttian 111 words requested. 

Link Cataloger error message. See below: 
ln\'alid control statemeni .- 

A "TYPE" control statement was encountered alter 
an ASSIGN control statoment. 

An invalid paraiieter was pncountered in a 

■TYPE" control statfi-noi-t . 
Invalid delimiter toMnwint) o parameter on o 

corttrol stotenient. 
An end-jump-relative code was encountered 

within an overlay segment, 
file access speci McoHon on a "NAME" control 

statement is not "R", "W", or " D" , 



No 

No 

No 
Yes 

No 
No 

No 

No 
No 
No 
No 

No 
No 



No 
No 
No 



Yes 

Console 

Inpuf only 

Yes 



Action taken 
when released 



Request Ignored 



C-^ 



Revision C 
November 1975 



System Error Messages (Cont'd) 



Message 


Generofed \iy 


Meaning 


Hold 

Message ? 


Action taken 
when released 


OC 10 




File not fhere. 






OC 11 




Program not there. 






OC 12 




Program of wrong type. 






OC 13 




Cannot change permanent assignment. 






OC 14 




No room in Assign table. 






OC 15 




Device is not a spooled terminal device. 






OC 16 




Invalid priority value. 






OC 17 




Invalid time. 






OC 18 




Terminal not in output mode. 






OC 19 




Invalid pack number. 






OC 20 




Invalid disc number. 






OC21 




Pack no there. 






OC 22 




Invalid size field. 






OC 23 




Space not available. 






OC24 




Missing or invalid record count value. 






OC 25 




SJOB not first line of file. 






OC 26 




Cannot assign re-entrant foreground. 






' OC 27 




Logical file in use. 






OC 28 




File permanently assigned. 






OC 29 




Timer scnedole full. 






OC 30 




Progrcm already scheduled. 






OC 31 




Invalid interrupt designation. 






OC 32 




Prograrr, already connected. 






OC 33 




No program is connected to interrupt. 






OC 34 




Word number must be less than 1 12. 






OC 35 




"FROMDATA" does not match disc data. 






OC36 




Cannot modif/ "EOF" sector. 






OC 37 




Address Invalid. 






OC38 




User number not present where required or not 

vo 1 i d . 






OC 39 




User number already exists. 






OC 40 




Program not on Timer schedule. 






OC4I 




Invalid date. 






PASSWORD ERROR 


DMS 


Passv/ord does not ha/e first character alphabetic 
or is incorrect on file operation. 


No 




PAUSE ERROR 


Index Sequen- 
tial UHiity 


Error - See logical File 6 for message. 


Yes 


Command ignored 


POWER FAIL 


DMS 


Power fail/restore activated - reboot is 
necessary. 


No 




RAR 


SGS 


Restricted Address Reference 






RE-ENTER SPOOL 
JOB 


DMS 


The spool Input job Is cancelled due too pre- 
viously stated error on the SJOB statement. 


No 




REL ORG ERROR 


FILEMA 


Invalid relative origin specified on DUMP 
statement. 


No 




RPF CR 


DMS 


Operator should reposition file on card reader. 


Yes 


Processing Continue:, 


RPF TR 


DMS 


Operator should reposition file on paper tape 
reader. 


Yes 


Processing Continues 


RPLIST OVERFLOW 


DMS 


Resident foreground program li.t is full. 






SAUOO 


DMS 


Unrecognized 5AU trap. 


No 




SAUOl 


DMS 


Square Root of c Negative Number. 


No 




SAU02 


DMS 


Overflow during FIX. 


No 




SAU03 


DMS 


Division by Zero. 


No 




SAU04 


DMS 


Arithmetic Underflow. 


No 




SAU05 


DMS 


Arithmetic Overflow. 


No 




SORT INHIBITED 


Sort/Meroe 


Error - Se^ logicol file 06 for message. 


Yes 


Program Execution 


TABLE OVERFLOW, 
RELEASE TO 
PRINT TABLE 


Cross Ki;fert:nce 


The internal table in XREF is full. 


Yes 


Table printed and 
execution continues 


TOO MANY FILES 


Index Sequen- 
lial Package 


More than 10 unique files are active at one time. 


Yes 


Request ignored 


UNDEFINED LFN 


Index Sequen- 
tial Package 


The si^ecified logical file numoar woi never 
specified on an iSINIT call. 


Yes 


Request ignored 



C-9 



Revision C 
November 1975 



System Error Messages (Cont'd) 









Hold 


Action taken 


Mess<ige 


Genorat^d by 


Meaning 


Message ? 


when released 


UTL XX 


UKlit/ Package 


S«fl below for meanings. 


Yes 




UTLOl 


Utility 


Invalid commond identifier character. 


Yes 


Command Ignored 


UTL 02 


Utility 


Invalid command. 


Yes 


Command Ignored 


UTL 03 


Utility 


Invalid command parometer. 


Yes 


Commond Ignored 


UTL 04 


Utility 


Invalid command delimiter. 


Yes 


Command Igniared 


UTL 05 


Utility 


Sequence error. 


Yes 


Command Ignored 


UTL OS 


Utility 


Invalid ASCII equivalent of BCD character. 


Yes 


Corimond Ignored 


UTL 07 


Utility 


Checksum error on Binary Input Device. 


Yes 


Record will be 
backspaced. 


UTL 08 


Utility 


Checksum error on Alternate Binary Input Device. 


Yes 


Record will be 
backspaced. 


UT109 


Utility 


ENDS record encountered on Binary Input Device. 


Yes 


Prepare Input on 
Binary Input 
Device & Release 


UTL 10 


Utility 


ENDS record encountered on Alternate Binary 
Input Device. 


Yes 


Prepare input on 
alternate Binary 
Input Device & 
Release. 


UTL n 


Utility 


More than 64 ANSCII equivalence of BCD code 
hove been input. 


Yes 


Command Ignored 


WORK TCO SMALL 


Index Sequen- 


Insufficient working buffer space. 


Yes 


Request Ignored 


XXXXX.X NOT 


DMS 


XXXXXX was not entered in the in-core-directory 






ENTERED 




of MOD entries. 






XXXXXX NOT 
LOADED 


DM5 


Resident foreground program XXXXXX was not 
loaded. 






DISC' NN NOT 


SYSINT 


Pack on disc NN cannot be read 






READABLE 










ERROR ■ f'K NNN 


QMS 


A disc error hoi occurred on pock NNN, the 
sector number follows or the next line. 






S'NNNN(OVERFLW) 


DMS 


Spool nie S'NNNN overflowed when it was 
written. 







C-10 



APPENDIX D 
SYSTEM FLAGS AND OPTIONS 



D-1 



Revision A 
May, 1974 



SYSTEM FLAGS AND OPTIONS 



This appendix lisfs the standard bits of the $FLAGS and $OPTIONS (see Paragraphs 6-2.6 
and 6-2. 7) used by Datacroft processors and by DMS. Table D-1 lists the $OPTION bits. The 
$FLAGS bits are normally used in the assembly of programs to produce different versions of what 
is basically the same program. Table D-2 lists these assembly $FLAGS values. 

Table D-1. SOPTIONS Bits 



Bit 


Used In 


Meaning 





Macro Assembler 


Set to Indicate v/rite pass one to disc and read for passtv/o. 


1 


Macro Assembler 


Set for pass tv/o only. 


3 


Optimizer 


Set to produce expanded (object code) listing of 
optimized code. 


4 


FORTRAN Compiler 


Set forces all type REAL variables to type DOUBLE 
PRECISION. 


5 


FORTRAN Compiler 


Set to produce expanded (object code) listing 


5 


RPG II Compiler 


Set to produce expanded (object code) listing 


6 


Link Cataloger 


Set to output hold message upon encountering END$ 


8 


FORTRAN Compiler 


Set to suppress map listing 


9 


FORTRAN Compiler 


Set to produce code to operate In upper memory map 


9 


RPG 11 Compiler 


Set to produce DEBUG command code. Reset to treat 
DEBUG commands as comments. 


16* 


Not used 




17* 


Not used 




18* 


Not used 




19 


FORTRAN Compiler 


Set to optimize FORTRAN code 


20* 


Not used 




21 


FORTRAN Compiler 


Set to move sequence number to left side of source listing 


22* 


FORTRAN Compiler 
and I/O Library 


Set to suppress internal translation of 026 to 029 source 
code. 


23* 


DMS 


Set to cause Card Punch Handler to convert symbolic 
data to 026 code Instead of 029. 


NOT! 


:: OPTION 23 is checked b> 
opened. If it is desired tc 
change Is made for it to h< 


' the Card Punch Handler only at the time the punch is 
) change the option, the Punch must be opened after the 
3ve any effect. 


* Op 
the 


tlons 16, 17, 18, 20, 22 and 
' Link Cataloger OPTION sta 


23 may be cataloged with a program through the use of 
tement. 



D-2 



Revision A 
May, 1974 



Table D-2. $FLAGS Bits 



Bit 


Used in 
Assembly of 


Meaning 







Fortran Compiler 


Set - Always execute DO loops at least once. 








Reset - Skip execution of DO loop if limits sa 


tisfied 






on initial entry. 




1 


Fortran Compiler 


Set - Produce extended compiler. 
Reset - Produce basic compiler. 




5 


Fortran Compiler 


Set - Produce SAU Compiler. 
Reset - Produce non-SAU Compiler. 




5 


Macro Assembler 


Set - Produce Macro Assembler. 
Reset - Produce basic assembler. 




17 


DMS-61613-01 


Set - 50 Hz power. 
Reset - 60 Hz power. 




18 


DMS - Modules: 


Set - Produce accounting version of system. 






61601-01 


Reset - Produce non-accounting version. 






61607-01 








61608-01 








61610-01 








61612-01 








61613-01 








61614-01 








61616-01 








61619-01 








61622-01 








61624-01 








61625-01 








61626-01 








61627-01 








61629-01 








61640-02 








61663-00 








61670-00 








61677-01 








61685-00 








61690-01 








61695-00 








61695-01 








61695-02 








61695-03 








61695-04 








61695-05 






19 


DMS-OPCOM 2 


Set - Produce Remote job entry version. 






61695-02 


Reset - Produce Non-RJE version. 





D-3 



Table D-2. $FLAGS Bits (Cont'd. ) 



Btl- 



Used in 
Assembly of 



20 DMS - 

61606-01 
61607-01 
61608-01 
61609-01 
61614-01 
61619-01 
61670-01 
61695-00 
61695-01 
61695-02 
61695-03 
61695-04 
61695-05 

21 DMS - SYS DAT 
61606-01 

22 DMS - Executive 
61607-01 

23 DMS - Executive 

61607-01 

Executive Traps 
61612-01 



Meaning 



Set - Produce Spooled/Interactive version. 

Reset - Produce Non -Spool ed/Non -Interactive version. 



Set - Configure for 6024/4 or 6024/5. 

Reset - Configure for 6024/1 or 6024/3. 

Set - Produce code for bit processor. 

Reset - Do not produce code for bit processor. 

Set - Produce code for Scientific Arithmetic Unit (SAU). 

Reset - Do not produce code for SAU. 



D-4 



APPENDIX E 
SYSTEM DATA MODULE 



E-1 



Revision B 
March, 1975 

1^.1-^.73 SVSTf'i AATA MnUMLf tliMS) 6lh'^6-01 01. "70173 r- d^l j 

2 • ThT system data MnOULE (SYSDAT) tS THE "MAIN" MU^ULE ur A nMS SYSTEM, 

i * PRnPFR caNFir.uRATiniN of This mhoulf is neCFSSary fhr a cnNFir.uRen 

i, * system GENFRATIQN. 

5 ♦ 

6 * 



7 * 

8 
9 
10 

u 



t***************** TAflUE IMOEX ♦♦**♦«***♦*****♦*•******♦♦** 

♦ EXTERNAL OFFINITIQN TABLE TABLE A 

♦ EXTERNAL EOUIVALENCE TABLES TABLE B 

♦ MONITOR SERVICF LINKAGE TABLE TAflLE C 

12 * SYSTEM ABSOLUTE LiNKAGF TABLE TABLE 

1 i * INTERRUPT LINKAGE TABLE TABLE E 
H * DISPATCHER CnNTRHL TABLE TABLE F 
,5 * R'ESinENT PROGRAM L'ST TABLE G 
16 « TIMER SCHEnULER TaBLE TABLE H 

,7 * nisc OEFiNiTiuN Table table i 

13 * MiSCFLLANtnuS PARAMETERS TABLE TABLE J 
19 * DISC I/O QUEUE TABLE K 

♦ Peripheral device coDRniNATinN tabls table l 

♦ terminal CnNTRPL BLUCK table TABLE M 

♦ MAT.NFTIC TAPE PPTIONS TABLE TABLE N 

♦ SYSTEM SERVICE mtNTIFICATIDN TAPLF TABLE 

♦ DYNAMIC CELL PHQL OEFlNlTmN TABLE TABLE P 

♦ EXTERNAL INTFR'UPT DEFINITION fiLDC^S TABLE Q 
2b * DISC OtCTIPNARV In CORF TABLE TABLE R 

2 ) **♦»♦♦«♦♦*♦♦»♦*♦««*♦***♦♦♦*♦***♦***♦♦♦»»*♦♦**♦♦*♦»♦♦♦♦**♦♦***»**♦♦****** 

?B * 

?9 * 

?0 * 

1, * NDTEl ASSEMBLE WlTH FlaCS 21 SET FQR 6024/5 SYSTEMS 

32 « AMD FLAGS 21 ZERn FQR 6024/1*3 SYSTEMS 

,3 * ASSEMBLE WITH FLAGS 20 SFT FHR UNSPOnLED/NflN- INTERACT I Ve DMS 

Hi, * ASSEMBLE WITH F|.AGS 20 ZERH FOR SPnOLED/ INTERACTIVE HMS 

,5 * ASSEMBLE WITH FLAGS 18 SET FDR ACCnUNTING SYSTEM 

If, * ASSEMBLE WITH FLAGS M KFSET FDR NON-ACCnUNTING SYSTI-M 



?1 

?i 
7M 
?5 



E-2 



i\c; V I Oil \j\ I i-r 

March, 1975 



r>7-l?.73 



38 


* EX 


rtRNAL ui-i 


39 


* 




40 


oooo'>ono 2 


XDEF 


41 


00001^046 2 


xOfF 


*2 


nonond37 2 


XOEF 


'•S 


0000'1054 2 


XDEF 


<><^ 


iono'^211 S2 


XOEF 


4! 


noro'^zn 2 


XOEF 


46 


0000"047 2 


XDEF 


47 


rOOO'^044 2 


XDFF 


48 


n0'^0"046 Z 


XDEF 


49 


0000^201 2 


XDEF 


■50 


ooro"2oz 2 


XDEF 


51 


O0O0"2f^3 2 


XDEF 


■^2 


POOO'^214 2 


XDEF 


53 


00000206 2 


XDEF 


54 


00001236 2 


XDEF 


55 


0000(^313 2 


xOEF 


56 


OOPOi^ZnO 2 


XDEF 


57 


00^00520 2 


XDEF 


58 


0000O5?! 2 


XDEF 


59 


0000f>5?2 2 


XDEF 


60 


00000576 2 


XOEF 


^1 


0000^57 7 2 


XOEF 


hZ 


nOOO'^600 2 


XDEF 


63 


0000^6"! 2 


XDEF 


64 


00001612 2 


XOEF 


65 


00001603 2 


XDEF 


66 


0000^374 2 


XDEF 


67 


00001375 2 


XDEF 


68 


00001436 2 


XDEF 


69 


00001437 2 


XOEF 


70 


00001571 2 


XDEF 


71 


00001574 2 


XDEF 


72 


00001572 2 


XDEF 


73 


00001573 2 


XDEF 


''4 


00001334 2 


XDEF 


75 


0000''575 2 


XDEF 


76 


00001015 2 


XDEF 


77 


O0O01045 2 


XDEF 


78 


00r.0r6l4 2 


XDEF 


79 


00001615 2 


XDEF 


"0 


O0O01032 2 


XDEF 


fll 


00001570 2 


XDEF 


PZ 


00001567 2 


XOEF 



SVSTfM DATA MnDt'LF (O^S) 



EXTERNAL OFEINTTION TAflLE 



sy';dat*a«opt 

ALLOLQjALL^LO 

ALLQHljALLnH! 

fiAKLO,PAKLn 

BAKHljBAKHl 

RCHl/fAKHl 

NRFLtl^NRFtn 

NRFHI,MRFH1 

CQ^LOjCOMLn 

CURNTjCURNT 

CAPLE/CAPLE 

APLjOcT 

ncRLOKjOCBLOK 

CKPTFljCKPTFL 

OCTFR,nCTFREE 

RPLISTjRPLIST 

DiSINTiOlSINT 

POCT/POCT 

PDCTWi,POCT+l 

POCTW2,POCT+2 

S,CHA,CH& 

S.CAH,CAH 

S,CBA,C6A 

S, CAP, CAB 

S,CEA,C£A 

S,CA£,CAE 

D/NUM9*0/iMUMn 

0/DEETjD/DEFT 

DaEUtL*D/QFUl.L 

OAVAlLiU/AVAlL 

CRA6F,CRABF 

LPABF,LPABF 

CPABF,CPABF 

CPPBE,CPBBF 

MAXPRQlMAXPRO 

MCABEjMCABF 

MCATnuTOT 

MEMSIZjMEMSI I 

TTVINjTTVIN 

TTYQUT^TTYnUT 

5STAP,SSTAB 

TPABE,TPA8F 

TRABF,TRABF 



61606-01 01,070173 



PAr,[ 



*» TABLE A 



.MOnULE NAME C INITIAL ENTRY AOORESS 
.ALLOCATOR LOW MEMDRV OEFINITIOM 

ALLOCATOR HIGH MEMORY OEEIMITIPN BLQCK . 
IbAKGNO low MFMhRV ADORfSS (LnwFST EXECUTABLE INST) 
.PAKGNO HIGH MEMORY ADDRESS 

NDM-RESIOENT FOREGRnUNO LOW MEMORY AODRESS 
'.NON-RESIDENT FOREGROUNn HIOH MFMHRV ADORESS 
.SYSTEM COMMON LOW MEMQPY AODRESS 
.ADDRESS OF CURRENTLY ACTIVE PSA 
.ADORESS np CURRENT ACTIVE APL ENTRY 

START nF ACTIVE PRnGRAM LIST 
|aPL entry for nPERATOR COMMUNICATIONS PRnCFSSDR 
!cHEC'<Pni'^T FLAO , ,, 

ImSPATCHER CONTRRL TABLE FREE ENTRY LIST 
.RESIDENT FPRFCRQtiNO PROGRAM LIST 

DISPATCHER INTERRUPT UNITARY CHNTRHL MASK 

PERIPHERAL DEVICE CQnRDINATinN TABLE- IN 1 T I AL LHC. 
.PERIPHERAL DEVICE COOROINATION TABLE-WORD i 
|P£BIPHFRAL DEVICE COORDINATION TABLE-WORD 7 
.CONVERT HOLLERITH TQ ASCII 
.CONVERT ASCII TO HOLLERITH 
.CONVERT Bcn To ASCII - SEVEN TRACK TAPF 

CONVERT ASCII TO BCD - SFVEN TRACK TAPE 
.CONVERT EBCD TO ASCII - NIk'E TRACK TAPF 
.CONVERT ASCII TO EBCD _ NINE TRACK TAPF 
.NUMBER OF niSC DRIVES 
.DISC DEFINITION TAPLE 

.DISC QUEUE FULL FLAG 

.DISC QUEUE AVAILABLE ENTRY PHINIFR 

.CARD READER "A" BUSY FLAG 

.LINE PRINTER "A" BUSY FLAG 

.CARD PUNCH "A" BUSY FLAG 

.CARD PUNCH 6 BUSY FLAG 

.MAXIMUM PROGRAM SIZE (FQRE'-.RnUND) 

.MAGTAPE BUSY FLAG 

.MA1.TAPE OPTIONS TAPLE 

.TOTAL MEMORY S^ZE (MiNUS ONE) 

.CONSOLE ASP INPUT INTERRUPT MASK 

.CONSOLE ASR OUTPUT INTERRUPT MASK 

.SYSTEM SERVICES TABLE 

.PAPER TAPE PUNCH "A" BUSY riAO 

.PAPER TAPE REAOER "A" RUSY FIAr 



E-3 



Revision B 
March, 1975 



'J.i*-Ti 



SVSTt^ niT4 MpniJLF (D"S) 



616^6-01 01. "70173 



PiGE 



ft*. 
"5 
«6 
07 
"8 
at) 

•JO 
"1 
12 

^3 

<5 7 

no 

I'll 

n3 
nt 

1-^5 



EXTERNAL D'^'^INITIO^' TAOLF (C"NT]HufD> 



* TABLE 4 



nono'"3i6 


2 


nooc^J^.i 


2 


no^of^B'^o 


2 


00000355 


2 


OOCOOJ*^ 


2 


OO00O3^7 


2 


0000O3''5 


2 


OQ001220 


2 


0OCOO6O6 


2 


000010^3 


2 


O000O'(?4 


2 


00000^73 


2 


O0O0O225 


2 


00O0O607 


2 


00001005 


2 


oooolZ'tS 


2 


10000*11 


2 


■^oro"*T2 


2 



XOFF NAME1,NAME1 

XDEF NA"IE?,NAME? 

XOEF LEVEL, LEVEL 

XUEF 1nTRV,INT.<V 

XDEF lNf.TR,lNCTR 

XDEF PARA", PAR AM 

XUEF MxTPRCMXTPRG 

XOEF EXIOBSjEXIOBS 

XDEF 0ELT1m,DELTIM 

XOEF CELLS, CELLS 

XDEF BG'?PCIP»BCSPQP 

XOEF PGIDLE/Bf'ir'LE 

SKFS Bzo 

XDEF IQXAPLi inXAPL 

XOEF Tcfi,TcS 

XOEF FGTCR,EQTCR 
ESKR 

XDEF niCT.DlCT 

XDEF DUMPBG.OUMPBG 

XDEF AO'IMP,AOUmP 



,IST S CHAR. PROG NAME-TIHER 5CMEnuLE 
.LA-iT 3 CHAP, PROG MAMe-TIMFR SCHEOULF 

.PROG. fxfcmtion priority LFVFL-TIMFR SCHFDIILF 

!inT£PVAL CnUNTFR-TIMER SCHFDDLF 
.INTERVAL DFFINITION-TimeR SCHEOULE 
.PARAMETERS FHR TIMER SCHEDHLFD PRqGRAm^ 

MAXIMUM NUMBER QF TIMER SCHEOULEO PRrCPAMS 
.EXTERNAL INTERRUPT DEFTNITIGN BLnCi<S 
.riELTA TIME«ONE SECOND 

.puhl qf available (i-woro cells 
.rackcrhund spohl queue pointfr 

.BACKCRnuNO IflLF FLAG 
.Only IH SPnULEH VERSION 
.I/n FXEC APL ENTRY 
.TERMINAL CHNTRHL BLQCK<; 
.ADOR QF ENO OF TCB AREA 

,lN-CnRF PICTIDNARY ADDRESS 
.ftACKr.ROUND CnRF DUMP ACTIVF FLAG 
.BACKGRHUND ABORT DUMP REQUEST FLAG 



E-4 



Revision B 
March, 1975 



n7-ll-73 SVSTfM nATA MOOULF (O^S) 616nb-01 01, 07^173 PAf.E 



EXTERNAL EQUIVALENCE TABLES *♦ TABLE B 



107 

IflB 

109 * REtL TIME CLOCK 

lln n3?onon0 6 XEOV TMERI |.i i ZOOOOOOO .INTERRUPT MASK ^HRO 

tn n3?onooo 6 «EQV uatmer, r eooioo .unitary arm instruction 

112 0320'iOnO 6 xeOV IJETMER, 1620100 .UNITARV ENABLE INSTRUCTION 

Jl3 03200000 6 XEOV U] TMER, '630100 .UnITArilY INHjPlT INSTRUCTION 

Hi, • r>ISPATCHFR INTERRUPT C^NTRnL 

115 niZO'^OriO b XEQV ALLOW, 100620100 .UNITARY ENAi^LP 

116 03200000 6 XEQV PRE VNTi • 00*30100 .UNITARY INMICIT 

117 "il^f^S 82' 

Jj8 * .TRIGGER /I OR /3 

ng O32000O0 6 XEOV TINSTl, 162000000 .NOP 

170 03200000 6 "EOV TlNSTj, 1 62500<t00 .TQA B8 

121 0320rOOO 6 XEQV TIHSTSj ' OOTl'tOOO .HAW «TTY 

122 FSKP 

123 SKFZ R21 

Jjj, * .TRIGGER /5 

125 XEQV TJNSTi, IO't0002nO .TME OISINT 

1?6 XEOV TINST2, 100300020 .TZA 

i;)7 XEQV TINST3, 10064*100 .TD* 

128 f^SKP 

129 * DISC CHNTRHLLER PARAMETERS 

,,„ 0320^^000 6 XEQV DCACU, '0500 .MOVING HEAD RISC CHNTrhLLER C/U.5/n 

in oilSnSoO 6 XEOV OCAIlI 100040000 .DISC CONTRHlLER "A" INTERRUPT LEVEL - U 

132 03200000 6 XEOV UAOCA] « 1 00600100 .UNITARY ARM 

113 03200000 6 XEQV UEOCAl, 100620100 .UNITARY ENABLE 

13* 0320O0O0 6 XEOV UOOCA I , I 006 10 100 .UNITARY DISARM 

PS 0320O0O0 6 XEOV Ul OCA 1 , 1 006301O0 .UNITARY INHIBIT 

13(, • CONSOLE ASR TELETYPE 

1^7 0320O000 6 XEQV OPC0MDj'20 .OPERATOR COMMUNICATIONS PO"' 

138 03200000 6 XEOV RT0I,l2 .CONSOLE TTY INPUT INTERRUPT LEVEL 

139 03200000 6 XfcOV RTOCU, lOOOO , CHANNEL/UNI T NUMBER 
lAQ * CAPO RFAOER "A" 

141 O320O0O0 6 XEOV CRACU, ICOO ,CARO READER-A f/U.A/o 

1^2 03200000 6 XEQV CRA1L,1400 .INTERRUPT LEVEL • 

143 03200000 6 XEQV UaCRAi , i 00600100 .UNITARY ARM CRA 

144 03200000 6 XEQV UOCRA j , i 006 lOloO .UNITARY OISARLE 

145 0320O000 6 XEOV UECRA I >' 00620100 .UNITARY ENABLE CRA 

146 03200000 6 XEOV U ICRA J , 1 00630100 .UNITARY INHIBIT 

147 * CARD PUNCH "A" 

148 0320O0OO 6 XEOV CPACU, 10600 .CARD PUNCH-A C/U»6/0 

149 0320O000 6 XEOV CPAIL,llOOO .INTERRUPT LEVEL 9 
15n 0320O0O0 6 XEOV UACPA i , 1 00600100 .UNITARY ARM 

liil 0320O000 6 XEOV UOCPAi, 100610100 .UNITARY DISARM 

152 O320O000 6 XEQV U£CPA J, I O062O1O0 .UNITARY ENABLE 

l.i3 0320O000 6 XEOV UlCPA l , 1 00630100 .UNITARY INHIBIT 



E-5 



Revision B 
March, 1975 

P7. 13.73 SVSTEM n4TA HnOUL? <0"S1 61606-01 01.070173 PA^.E 5 

1,5 * EXTEPNAL EQUIVALENCE TABLES (CONTINJEDI * ^*BLE B 

LS * C4RD PUNCH "R" 

\SK 03?0O0O0 b XEQV CPSCU, >0*0l .CARD PUNCH-8 C/U-'./l 

\ll P3?0"000 b XE«V CP«IL, ".000000 .INTERRUPT LEVEL 20 

16n 0320O00O 6 X£QV UftCPB J , 1 600100 .UNITARILY ARM 

U 0320'^000 6 XEQV mdCPR I , t6lOl00 .UNITARILV OISARM 

^2 03P0O000 6 >(E3V DEC PB I ,. 620100 .MMTARILV ENABLE 

63 0320^000 6 XfcQV UlCPBi, '630100 .UNITARTLY INHIBIT 

IA4 ♦ LINE PRINTFR "A" 

III 03200000 6 XEOV LPACU^iO^OO .LIME P^IMTfR-A C/U.3/0 

\tl 0320-000 6 XEQV LPAIL, 11000000 INTERRUPT LEVEL - 18 

67 0320O000 6 ^EOV UflLPAi, 100600100 .I'NlTARV ARM LPA 

ftl ^320^000 6 XEOV U0LPA[,iOO6l01OO .UNITARY DISARM 

69 03200000 6 XEOV UELPAl , ' OO'-ZOlOO .UNITARY FNABLE LPa 

70 0320n000 6 XEQV U U PA J , - 00630 100 .UMTARY INHIBIT 
,,, * P4PER TAPE READER "A" 

72 O3?0n0O0 6 XEaV TrAcU, 10100 .TAPE REAOER-« C/U-l/0 

,73 0320^^000 6 XEOV TRAIL, 'ZOOOOO .INTERRUPT LEVEL " 16 

.,. 0320O000 6 XEQV UATRAI, 100600100 .UNITARY ARM 

75 0320O0O0 6 "tav UDTRAl,. 00610100 .UNITARY DISARM 

\-,l 03200000 6 XEOV UE TRA J , I 006201CO .UNITARY ENABLE 

J, 7 032011000 6 XEQV UITRAI, I0063O100 .UNITARY INHIBIT 

,70 • PAPER TAPE PUNCH "A" 

Wq 03200000 6 XtOV TPACU,I0101 .TAPE PUNCH-A C/U-1/1 

\ll O320O0O0 6 XEOV TRAIL, <«00000 .INTERRUPT LEVEL - 17 

* . 0320O0O0 6 XEQV UaTPA I , 1 OO6OOIOO .UNITARY ARM 

,,, -13201000 6 XEOV UQTP A ] , . 006 10 100 .UNITARY PISARM 

lA 0320 5000 6 XEOV U£ TP A i , t 00620100 .UNITARY ENABLE 

l^H n320'^000 6 XfcOV U I TPA j , I 006301 00 . UN I TAR Y I NH I P 1 T 

jB., « Mif.NFTIC TAPE CUNTPQLLRR "A" 

=.6 O3P0O000 6 XE2V MCACU, .0700 .MAf.TAPF CONTRQLLFR-A C/U.7/0 

1P7 -,3^00000 6 XEQV MCAIL, 1100000 .INTERRUPT LEVEL • 15 

,ag ■i320"0O0 6 "EQV UAMCAl, lOOhOOloO .UNITARY ARM 

= , -^iPO-^OOO 6 xEOV UDMCAI, 100610100 .UNITARY DISARM 

,rj, OB^OOOOO 6 XEOV UEMCAl, 100620100 .UNITARY ENABLE 

[-,: '>3?ci000 b XEOV UIMQA, ,100630100 .UNITARY INHIBIT 

np * RE-^QTE TElfTYPF-1 

Nb -i3?onooO 6 XEOV RTKU, -0200 . CHANNEL /UNI T ,,.o,,i,t ►uiMUfO 

o^ O320O0OO 6 XEQV RT1PIN,10 .RtMQTE TTY PRIORITY INTERRUPT UUMBFR 

,()5 ♦ REMOTE TELFTYPF-2 

ifiK 03701000 6 XEQV RT2CU, '0201 , CHANNEL /UNIT ,,.„,.- 

97 0320-000 6 XEQV r|2PIn.11 .REMQTe TTY PRIORITY INTERRUPT MUMBFR 

lOH • SYrjCHRONOUS INTERFACE-A (llOB) 

Q, 03?00000 6 XEOV SIACtJ, '0201 .CHANNEL /UNI T 

200 0320O0OO 6 XEOV SIAIL,".0 .INTERRUPT LEVEL • ? 

2^, O3P00000 6 XEQV UASIAI, I6OOIOO .UNITARILY ARM 

2A^ 13201000 6 XEOV UE S 1 A ] , I 620100 .UNITARUY ENABLE 



E-6 



Revision B 
March, 1975 



07-l-(-73 SVSTfM DATA MOOllLF ( DMS ) blfe^b-Ol 01.070173 " HCi 



20^ * FXTERNAL EQUIVALENCE TABLES (CHNTlMUEO) * ^*B'-'- ^ 

206 « RESERVED DISC STORAGE PARa^-ETERS 

I'^l I FS SUFFIX MEANS FIRST SECTPR 



209 



SC SUFFIX MEANS SECTOR COUNT 



l\° 03?onOOO 6 i^EOV AOLFS,0 .ABSDtUTE DISC LOADER 

III olllZl t XE§: B^SFS;; ..AKGND DEFAULT ASSIONHFNTS 

III nl5nnnnn I XEQV MDOFS^Z .MASTFR DISC OIPECTnRY 

2?? 03 00000 b XEQV rKPTSC,601 .CKPT SFCTnR COUNT 

22 O370O000 6 ^EQV SySFS,665 .SYSTFM FIRST SFCTQR 

^"3 0^3^00^00^ . JEOV SVSSC 1.0 ' ^f^^^^SlirS^^E n V.,nTR, ES /OIRECTHRV ; 

22. O320O0O0 t XEQV ^^/L 839 \1l]ll IWl n p gcTnRV.FNTR I E S /SEC THR 

III ?,HZol X^aV ZIA:\W Im'aSTER DISC oJRlcTnRV.wORDS/SECTnR 

III 03200000 6 * ''''" ll'.''%lT,VAr .MICRnsFCONDS PER CVCLE * 10 FO ,oM/<. L . 

229 03200000 6 XEOV CPS / lo, lOQOOO .CYCLES PFR SFCDNn/10 FOR C"2*/^ /, : 

210 03200000 I XEQV CYC/MS. 100 .CYCLES PER M I LL 1 SECUNQ/ 10 FQR 602. /. t 5 ^ 

?11 * BACKGROUND OEFAULT OPTIONS AccrrMucMT 

232 03200000 6 XEQV BGOLHAib .DEFAULT LIST OUTPUT AJS I GN-ENT 

,,, * BlhCKEO I/n PARAMtTERS 

-« ^^^SoSoS I nil srnr.^;L. :stfi^^ ^^ss^&r: 2.. sfc.or s.e 

'" „ ..„o . " '"°' XE^I'%PPACk*i'' .PACK NUMBER FOR SPOOL FILES 

\l\ Z x^°v sPLSizlioo Ihefault slnoL ^•L^^.-f^ '^,f ^^""^ 

2*2 OdZO-ionu o .ACCOUNTING SYSTEM PARAMETERS 

IJ 0:1200000 6 XEQV AFSC>2 ACCOUNTING FlLF BUFFER SECTOR COUNT 

111 032S0OOO I XEQV ABUF,224 .ACCOUNTING BUFFER SIZE (11?*AFSC1 

^ * Ai°r.r,rl. t XFOW LnUSR.l .LOWEST VALID USER NUMBER IN SYSTEM 

1:5 00000 6 QV H?UP3000 ! ^^G^E St\a[ I D USFR NUMBER I N SYSTEM 

111 O32D10O0 6 XEQV AF51Z,100 .SUE QF ACCOUNTING FUFS Im SECTORS 

111 o^Sonoo 6 XEQV ACPAci.l .ACCOUNTING F,lFS PACK NUMBFR 



249 03200000 6 

2'!0 



FSKP 



E-7 



Revision B 
March, 1975 



n7-n-"'3 



SYSTEM DATA MnOU|.F lOMS) 



61606-0) 01,070173 



PAT.E 



2^2 




253 




25* 




2?5 




256 




257 


000000 


258 


oooooo 


259 


OOOOOl 


260 


000002 


2IS1 


0O0O03 


2^2 


00000* 


263 


0O0O05 


26* 


000006 


265 


0O0307 


266 


OOOOIO 


267 


OOOOll 


268 


0OOO12 


269 


000013 


270 


OOQOl* 


271 


0O0O15 


272 


000O16 


273 


000017 


27* 


0O0O2O 


275 


000021 


276 


OO0O22 


277 


000023 


278 


00002* 


279 


000025 


280 


000026 


281 


000027 


282 


000030 


283 


000031 


28* 


000O32 


285 


000033 


286 


00003* 


287 


000035 


288 


000036 


289 


000037 



* MONITOR SERVICE tINKAGF TABLF 



♦» TABLE C 



0020"000 6 
210000O0 3 
21000000 3 
21000000 3 
2100O000 3 
21000000 3 
21000000 3 
2100O000 3 
21000000 3 
21000000 3 
2100O000 3 
21C0O0O0 3 
2100O000 3 
21000000 3 
21000000 3 
21000000 3 
2100O0O0 3 
21000000 3 
2100O0O0 3 
2100O0O0 3 
21000000 i 
21000000 3 
21000000 3 
21000000 3 
21000000 3 
21000000 3 
21000000 i 
21000000 3 
21000000 3 
2100O000 3 
2100O000 3 
21000000 3 
21000000 3 





UO«C 





ABORT 


BUC 


tSVINiT 


l/n 


BUC 


tioc 


EXIT 


BUC 


iEXlT* 


HOLD 


RUC 


tIDLE 


CHA.IN 


flUC 


»CLDI» 


INFO 


sue 


tlNFOs 


WAIT 


BUC 


»WAITS 


SFUNC 


BUC 


tSFUNCT 


CONV 


BUC 


jconvrt 


FROGS 


BUC 


$FI'OGS 


SVSTER 


BUC 


tSTEMs 


TERMIN 


BUC 


JTERMJN 


ASSIGN 


BUC 


tA-SSlGN 


nCM 


BUC 


tOCM 


IJNTRAP 


BUC 


IUNTRaP 


FPACK 


BUC 


»FPaCK 




BUC 


»SERR 




BUC 


»SERR 




BUC 


»SERR 




BUC 


»SERR 




BUC 


tSERft 




BUC 


»SERR 




BUC 


$SERR 




BUC 


tSERR 




BUC 


»SERR 




BUC 


iSERR 




BUC 


»SERR 




BUC 


»SERR 




BUC 


*SERR 




BUC 


tSERR 




BUC 


>SERR 




BUC 


JSERR 



,FDR FACH LOCATION WHICH CAN Bf ACCFSSEO 
BY A "BLUi'j THIS TABLE CONTAINS A "BUC 
TO THE APPROPRIATE SUbROUTTNF, 

.REPLACED WITH "ABORT" ADORFSS BY SYINIT 

.BEOUEST I/n FUMCTinN 

.TERMINATE FXFCDTION 

.PRINT MESSAGE f. SUSPENO EXFCHTION 

.LOAD CHAIN SEC«^ENT 

.r.ET BACKCROUN INFORMATION 

.WAIT UNTILL FLAG IS SET (OP RESET) 

.PERFHRM special system FUNCTION 

.oeBFHRM DATA CnNVEBSlQM 

.PERFORM SPECIAL FQBECRnUND SERVICE 

.SERFHRM Restricted svste»i servicf 

.TERMINATE (EXIT WITHOUT OE-AL L nC A TI n'J ) 
.DYNAMIC ASSIGN SERVICE 

.oYNAMic Core manager 

.BACKGROUND t CARO CONTROL 
.PINO PACK 
.•♦PROGRAM ERROR** 
.♦♦PROORA*^ ERROR** 
.**PROGRAH ERROR** 
,*»PROGRAM ERROR** 
.♦♦PROGRAM ERROR** 
,**PROGRAM ERRQR** 
.♦♦PROGRAM ERRQP** 
,**PRr)GRAM ERROR** 
.♦♦PROGRAM ERROR** 
.♦♦PROGRAM ERROR** 
.**PROGPAM ERROR** 
,**PROGRAM ERROR** 
,**PRnGRAM ERRQR** 
.**PROGRAM ERROR** 
.♦♦PROGRAM FRROR^^ 
.♦♦PROGRAM ERROR** 



E-8 



Revision B 
March, 1975 



07- 


•n-73 






SVSTE« OATA MHOUlC (jfS) 


Z"! 








♦ SVSTI! 


M ABSnLUTE LINKAGE 


z"; 








* 






293 








* 






2<)4 








* 






Z«»5 








* 






2<>6 




00117777 




MSIZF 


FQIV 


'II7777 


297 




00000144 




SCS12E 


EQIV 


100 


298 




no02''37O 




NRFSIZE 


EQIV 


11000 


299 








* 






300 


0000*0 


002000*0 


6 




RDRG 


'40 


301 


000040 


OOOOOQOl 


3 




OAC 


♦UtFLAG 


302 


000041 


00000001 


3 




OAC 


$0/OEFT 


303 


000042 


oooooooi 


3 




OAC 


»SSTAb 


304 




00000037 




ALLOHI 


eoiv 


ABORT+t37 


305 


000043 


OOOO-^OOl 


3 




OAC 


tALLHun 


306 


000044 


00117633 





NRFHl 


OAC 


MSIZE-SCSirE 


307 


000045 


001 17777 





HEMSIZ 


DAC 


MSIZE 


308 


000046 


0011763* 





CQMLO 


DAC 


MSUE-SCSIZE 


309 


000047 


0007224* 





NRFLO 


OAC 


MSUE-SCSIjE 


310 


000050 


00000*15 


* 


_ 


nAC 


n/HDD 


311 


000051 


000002U 


4 




OAC 


RAKHI 


312 




00000046 




ALLULO 


EQIV 


AB0RT+<46 


313 


0O005Z 


O037O000 







OATA 


13VOO0O 


314 


000053 


OQOOOOOO 







OAC 


n 


315 


000054 


OOOOOOOI 


3 


RAKLH 


DAC 


»8STAr 


315 


000055 


OOOOOOOI 


3 


POCTA 


OAC 


»PDCT 


317 


000056 


00001005 


* 


MTSUPA 


OAC 


TOT 


318 


000057 


OOOOOOOI 


3 


LOADPG 


OAC 


♦ eC'LnAD 



6)606-01 01.070173 PACE 



TABLE ** TABLE 

,IF THE EHLLOWING EOUIVALENCES ARF SET 
PRHPERlYj the REMAINOeR OF THE TABLE 
WILL BF AUTQMATICALLV caHPHTEO. 

.MEMQRY SIZE ■ *0K 

.SYSTEM COMMON SIZE 

,NQN-RESIDenT FHREGRO'INO SI7E 



'40, ADDRESS HE BACKOROUNO CONTROL AREA 
'*l.ADnRESS OF DISC DEFINITION TABLE 
'*?, ADDRESS OF SYSTE" SERVICE TABLE 

.IDENTIFIES THE START QF DUMMY ALLqCATqR LIST 
143 ENTRY THAT RFSFRVES SYSCOM t RFS FG AREA 
i44,NnN-RFSlDENT FORfGRnuHO HIGH 
'45.TnTAL MEMORY SIZE 
+ 1 1*6. SYSTEM COMMON LOW A0DRE";S 
-NRFSIZE*! l*7'.NnN-RFSlDENT FG LHi^ ADDRESS 

150. ADDRESS OF "ISC. PARAMETER LIST 
'51. ADDRESS OF CURRENT BAkGND HI 

.IDENTIFIES START QF DUMMY ALLOCATOR LIST ENTRY 
'52. HHICH RESERVES THE RESIDEi^'T SYSTEM AREA, 
'53. RESIDENT SYSTE" LOW MfMURY ADDRESS 
'54, START OF BAKGND EXECUTION AREA 
'S*!, ADDRESS OF PERIPH oeVkE CHORD TABLE 
'56, ADDRESS OF MAG TAPF UNIT SETUP TABLE 
'57. ADDRESS OF BAKCND PROGRAM LOAD ROUTINE 



E-9 



Revision B 




Ma 


rch, 1975 




07- 


13-73 




SY 


320 






* 


321 


000060 


00200060 


6 


3?2 






* 


323 






* 


324 






« 


325 






* 


326 






« 


377 






* 


328 






* 


329 






* 


330 






* 


331 


000060 


25000001 




332 


000061 


25000001 




333 


000062 


25000001 




334 


000063 


25000001 




335 


000064 


25000001 




336 


000065 


25000001 




337 


000066 


2S00O001 




338 


000067 


25OOO0OI 




339 


000070 


25O0O0O1 




3*0 


000071 


25000001 




3*1 


000072 


25000001 




342 


000073 


25000001 




343 


000074 


25000001 




344 


000075 


25000001 




345 


000076 


25000001 




346 


000077 


25000001 




347 


OOOIOO 


25000001 




348 


OOOlOl 


25OOO0OI 




349 


000102 


25000001 




350 


000103 


29000001 




351 


000104 


29000001 




352 


000105 


29000001 




353 


000106 


29000001 




354 


000107 


29000001 




355 


OOOllO 


29000001 




356 


OOOlll 


25000001 




357 


000112 


25000001 




358 


000113 


29000001 




359 


0O0U4 


29000001 




360 


000115 


29000001 




361 


000116 


2900O0O1 




362 


000117 


25000001 





SYSTEM OATA MnOULF (D"S) 



INTERRUPT LINKAGE TABLE 
RORC <60 



61606-01 01.070173 



PARE 



*♦ TABLE f- 



THIS TABLf CONTAINS A "BSL" TH THE INTERRUPT SERVICE 
ROUTINE FOR EACH INTERRUPT WHICH IS USED IN THIS 
SPECIFIC DC_6024 CDNPICURATinN, THE TABLE IS ORnEREO 
SEOUENTIALLY WITH GROUP 0, LEVEL FIRST AND GROUP 3, 
LEVEL 23 LAST, THE SLOT FDR EACH UNUSED INTFRRUPT 
SHOULD CONTAIN A "BSL »INVINT« SUCH THAT THE INVALID 
INTERRUPT ERROR ROUTINE IS ENTERED. 

-OOO'POWER FAIL 

-001-POWER RESTORE 

-OOZ-MEMORY PROTECT VmLATION 

-003"lNSTRUCTinN TRAP VIOLATION 

-004-STALL ALARM 

OO'-'NTERVAL TIMER 

-OO61-SAU TRAP 

-0O7-A00RESS TRAP 

-lOO-INVALID INTERRUPT 

ilOl-INVALlO INTERRUPT 

-102, INVALID INTERRUPT 

-103-INVALlO INTERRUPT 

-in4-INVALID INTERRUPT 

-105-INVAlID INTERRUPT LFVFL 5 

-106-invalio interrupt level 6 

-107-INVAlIO interrupt level 7 

-110-caro reader input lfvel 8 

-m-invalid interrupt level 9 

-112-rehdte teletype i/o lfvel 10 

-113-remote tty hz level u 

-114-cansole teletype input level 12 

-115"cnns0l'e teletype output level 13 

-u6-disc controllfr lfvel 1* 

-117-MAOTaPE CONTRnLLER READ LFVFL 15 

-120-TAPE READER INPUT LFVEL 1* 

-121-TAPE PUNCH OUTPUT LFVFL 17 

-122-LINE PRINTER LEVEL 18 

-123-INVALlD INTERRUPT LEVEL 19 

-U4-CAR0 PUNCH B LFVEL 20 

iU5-INVAL10 INTERRUPT LFVEL 21 

-126«120 HI CLOCK LEVEL 22 

-127-DISPATCHER INTERRUPT LEVEL 23 



BSL 


JPFAlL 


BSL 


»prestr 


9SL 


♦mehpro 


BSL 


sinstrp 


SSL 


»stall 


BSL 


»TIMER 


BSL 


»SAunuT 


BSL 


iaotrap 


BSL 


IINVInT 


BSL 


unvint 


BSL 


»INV1nT 


BSL 


IINVInT 


BSL 


UNVInT 


BSL 


»INVInT 


BSL 


UNVInT 


BSL 


»INV1nT 


BSL 


»CRAIR 


BSL 


iinvint 


BSL 


SRTIIR 


BSL 


»RT2IR 


BSL 


»RTOlR 


BSL 


JRTQOR 


BSL 


SDCAIR 


BSL 


$MCAIR 


BSL 


»TRAIR 


SSL 


ITPAIR 


BSL 


»LPAIR 


BSL 


»1NVInT 


BSL 


tCPBlR 


BSL 


»INVInT 


BSL 


»1TIR 


BSL 


tDINT 



E-10 



Revision B 
March, 1975 



07-13-73 



SYSTEM flATA WnDUtE (QMS) 



61606-01 01,070173 



PAGE 



10 



364 
365 
366 

367 

36a 

369 
370 
3T1 
372 
373 
374 
37S 
376 
377 
378 
379 
380 
381 
382 
383 
384 
384 
384 
38S 
385 
386 
387 
388 
389 
390 
390 
390 
390 
390 
391 
392 
392 
392 
393 
394 
395 
395 
396 
396 
397 
398 
39S 
398 
399 
400 
401 
<t02 



♦ DISPATCHER COnTrOu TABLE 



OOOZOO 00200200 6 

000200 40O0O00O 

000201 00000000 

000202 OOOOOOOO 



000203 
00020* 
000209 
000206 
000207 
000210 
0002X1 
060212 
0002J3 
0002H 
00021S 
000216 
000217 
000220 
000221 
000222 
000223 
000224 

000229 
000226 
000227 
000230 
000231 
000232 
0O0233 
000234 
000235 



oooooooo 

20440513 
21647104 
10000000 
OOOOOOOO 
00000001 
OOOOOOOO 
00000377 
00000001 
OOOOOOOO 
I2429ll7 
20629052 
OOOOOOOO 
OOOOOOOO 
00000001 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 



00000203 4 
22247905 
26042903 
lOOOOOOO 

00000000 

00000001 3 
OOOOOOOO 
00000012 
OOOOOOOO 



OISINT 
CURNT 

* 

caple 

* 


RORG 
DATA 
DATA 


'200 
B23 




DATA 






* 

* 
OCT 



DATA 0,"BAkGND" 



CKPTFt DATA B2140 
BAKHI 



OAC tBPSA 

DAC 

DATA 299 

DAC IJSBUFR 



♦* TABLE f 



.MUST REMAIN AT I20fi 

.MUST REMAIN AT 1201. CONTAINS ADDRESS Of 

PROGRAM SERVICE AREA QF CURRENT ACTIVE 
.MUST REMAIN AT 1202. CONTAINS THE RELATIVE 

ADDRESS OF THE APL ENTRY QF THF PROGRAM 

CURRENTLY BEING EXECUTED. 

PROGRAM OR ZERO IF NONE ACTIVE. 



THE DISPATCHER REQUIRES ONF 8. WORD ENTRY FOR 

EACH ACTIVE PROGRAM, THE TABLE SHQULO 

THEN BE ESTABLISHED LARGE ENOUGH TO SATISFY 

THE WORST-CASE CONOITIONS WITH REGARD TO 

THE MAXIMUM NUMBER QE PROGRAMS WHICH 

COULO BE CONCURRENTLY ACTIVE. 



.BAKGNO ENTRY . ALWAYS ACTIVE 



SET BY SYSINIT EQUAL NRFLO^BUFSZ 

NON-CHANGABLE PRIORITY 

,JOB STREAM BUFFER IS PARAMFTER FOR BKqnD 



OCBLOK DATA 0/ "**0C**"»0, 



000236 00000247 4 

000237 OOOOOOOO 
000247 0000O260 4 



C.C »0CPSa 
DATA 0,0*0 



SKFS B20 

iOXAPl OAC OCT 

DATA "IDEXEC" 

DATA 'lOOOOOOO/O 

OAC »IDXPSA 

DATA 0,10*0 



ESKP 

OCTFREE DAC *♦<? 

RDAT 8(0) 

DAC **') 



.OP COMM ENTRY - REMAINS IN OCT 
EVEN WHEN DP"CQMM IS INACTIVE, 



.ONLY IN SPOOLEO VERSION 
.1/0 EXEC ENTRY 



.STATUS ■ SUSPENDED INITIALLY 
.PRIORITY . 10 

.INITIAL AVAILABLE LIST - ENTRY I 

- ENTRY 2 



E-n 



Revision B 
March, 1975| 



07-13-73 



SYSTEM naTA MODULE (DMSl 



61606-01 01.070173 



PA'iE 



U 



«03 000250 00000000 
ItO* 0O0260 OOOOOJTl 
40! 000261 00000000 
«06 000271 00000302 
«07 000272 00000000 
40B 000302 00000000 
409 000303 00000000 






RD4T 


8(0) 


<l 


OAC 


*+9 





BOAT 


8(0) 


h 


DAC 


♦+9 





ROAT 


8(0) 





OAC 








ROAT 


8(0) 



- ENTRY 3 

- ENTRY * 

- ENTRY 5 



07-13-73 



SYSTEM OATA MODULE (OMS) 



61606-01 01.070173 



PACE 



13 



429 

430 
431 
432 
433 

434 
435 
436 
437 



TIMER SCHEnULER TftBLE 



0000O003 
O000OOO5 

0020O343 
00200350 



000335 
000336 
000143 

438 000350 00200355 

439 000355 00200362 

440 000362 00200367 

441 000367 00200374 



* 
« 
* 
* 

TPROGS 

MXTPRC 

NAMEl 

NAME2 

LEVEL 

INTRV 

INCTR 

PARAM 



•* TABLE H 



THE FOLLOWING LABEL TPROGS MUST RE SET EOUAl Tn THE 

TO THE MAXIMUM NO, DP PROGRAMS THAT WILL 8? ON THE 

TIMER SCHEDULE 

EQiV 5 , NO, OF PROCS. ON TIMER SCHEDULE 

DAC TPROGS .MAXIMUM TIMER SCHEDULER PROGRAMS 

BLOK TPRqGs , IST 3 CHAR, Qf PROG, NAME 

BLDK TPROGS , 2N0 3 CHAR. QF PROG. NAM£ 

BLDK TpROGs , PRQG, LEVFL 

BLDK TPROGS . PERMANENT INTERVAL COUNTER 

BLOK TpRQGs , TEMPORARY JNTFRVAL COUNTER 

BLDK TPROGS , PARAMETER PASSED FROM CALLING PROGRAM 



E-12 



Revision B 
March, 1975 



(17-13-73 



SVSTEM DATA MODULE (DMS) 



61606-01 01,070173 



PACE 



12 



411 
412 
413 
414 
415 
416 
417 
416 
419 
420 
421 
422 
423 
424 
425 
426 
427 



RESIDENT PROGRAM UJST 



000313 00040000 

000314 00000000 



000334 00000000 



RPIIST 

* 
MAXPRO 

* 



FORM 
DATA 
RDAT 

OAC 



12«12 

/4j0/ 
16(0) 



♦• TABLE G 

.CONTAINS ONE 4 WORD ENTRY F0"» EACH RESIDENT 
PROGRAM WHICH CONSISTS OF THE PROGRAM NAME 
AND MEMORY ADDRESSES. 

.THIS TABLE CONTAINS ONLY ZFROES WHEN THE 
RESIDENT SYSTEM IS INpuT FROM DISC* BjT 
THE ENTRIES ARE MAOE BY THE BOOTSTRAP 
INITIALIZATION PROGRAM AS IT BRINGS IN 
THE RESIDENT FOREGROUND PROGRAMS. 

.MAY # OF ENTRIES* CURRENT « OF ENTRIES 



.MAX Fg PROGRAM SIZE/ COMPUTED BY SYINT 



E-13 



Revision B 
March, 1975 



07-13-73 



SYSTEM BATA MOOUte (QMS) 



61606"01 0iiO7O173 



>»AOE 



13 



429 

430 
431 
432 
433 
434 
435 
436 
437 
438 
439 
440 
441 



TIMEK SCHEDULER TABLE 



"* TABLE H 



THE POLLOMlNe LABEL TPKOOS MUST BE SET EOUA). TP THE 

TO THE MAXIMUM NO, OF PUnCRAMS THAT WILL 86 ON THE 
TIMER SCHEDULE 

00000005 TPROCS EOIV 5 , NO, Of PROCJ. ON TIMER SCHEDULE 

000SJ5 00000009 hxTRRO OAC TPRQCs .maximum timer scheduler PROGRAMS 

0OOS36 00»0O3*3 6 NAMEl BLOK TpRQGS , IST 3 CHAR, OF FROG, NAME 

000848 002003S0 6 NAME2 BLOK TPROGS , ZNO 3 CHAR, OF FROG, NAME 

000390 0020O3S5 6 LEVEL BLOK TpROGs . PRQC. LEVEL 

000359 O020O3«>2 6 INTRV BLOK TPRQOS , PERMANENT INTERVAL COUNTER 

000362 00200367 6 INCTR BLOK TPRQCs , TEMPORARY INTERVAL COUNTER 

00016T 002003T4 6 PARAH BLOK TPRQCS , PARAMETER PASSED FROM CALLING PBOCRAM 



E-14 



Revision B 
March, 1975 



P7-13-T3 






SVSTEM ( 


DATA HO 


DUI.E (QMS) 


443 






* DISC 


DEPiNiTiDN Table 


444 






* 






445 000374 


OOOOOOOl 





0/NUMB 


DATA 


1 


446 


00000375 




0/DEFT 


EOIV 


« 


447 00037S 


OOOOOOOl 


3 


,;DACl 


DAC 


»DCABF 


448 000376 


00000160 







DATA 


112 


449 000377 


00000024 







DATA 


20 


450 000400 


000000*4 







DATA 


20 


4?1 000401 


00000313 







DATA 


203 


452 000402 


OOOOOOOl 







DATA 


I 


453 000403 


03400000 


6 




DAC 


#SAMlFS 


454 000404 


00000024 







DATA 


20 


455 000405 


oooooooo 







DATA 





456 000406 


00000000 







DATA 





497 000407 


03400000 


6 




DAC 


«OCACU 


4S6 000410 


OOOOOOOl 


3 




DAC 


tOCASR 


459 000411 


03400000 


6 




CtAW 


IVOCACU 


460 000412 


03400000 


6 




new 


moCACu 


461 000413 


OOOOOOOl 


3 




DAC 


lOCASp 


462 000414 


00000000 







DAC 






61606-01 01.070173 



PAGE 



14 



*♦ TABLE I 



.NUMBER OF DISCS 



O.OISC CONTROLLER BUSV FLAG ADDRESS 

I.IK Of WORDS PER SECTOR 

2.# Of SECTORS PER TRACK 

3',* OF TRACKS PFR CYLINDER 

4.« OF CYLINDERS 

S'.PACK NUMBER 

6. ADDRESS OF SPACE ALLOCATinN MAP 

7. SECTORS PER SPACE ALLOCATION BIT 

B, RETRY COUNT 

9. DRIVE NUMBER 3 819 

10. CHANNEL/UNIT NUMBER 

11. ADDRESS OF DISC CQNTRDLLFR SERVICE ROUTli^E 

12. OAW INSTRUCTION 

IJ. OCw INSTRUCTION 

14, DISC CONTROLLER QUEUE STRING PQINTeR 

19. RESERVED 



E-15 



Revision B 
March, 1975 



07-13-73 



SYSTEM nATA MnjULf (QMS) 



61606-01 01|07nl73 



PAGE 



15 



t,(>5 
466 
'•67 
468 
469 
470 
471 
472 
473 
474 
475 
476 
477 
47B 
479 
480 
481 
482 
483 
484 
485 
486 
487 
488 
489 
49o 
491 
492 
493 



MISC. PARAMETERS TABLE 



00041! 
000416 
00041T 
000420 
000421 
000*22 
0O0423 
000424 

0O0425 
000*26 
0OO427 



000430 
000*31 
00043? 
000*33 
000*3* 
000*35 



03400000 
03400000 
03400000 
03400000 

oooooooo 

03400000 

7777777? 
77777777 



03400000 
OOOOOOOO 

oooooooo 
oooooooo 
oooooooo 

03400000 



00000001 3 
0340O000 6 
03*00000 6 



♦ MISCELLANEOUS PARAMETERS TABLE 

* 

* 
* 

n/Moo 



*♦ TABLE J 



BGIDLE 
8GSP0P 



THESE PARAMETERS MAY BE REFERENCED AS ABSOLUTE LINKAGES 

BY Picking up the base address which is im LocATmN fio 

AND THEN REf'ERlNC TD THESE PARAMETERS INDIVIDUALLY, 



DUMPBG 
ADUMP 



OAC 

OAC 

DAC 

OAC 

DATA 

III 

DATA 

OATA 

skpz 

OAC 

III 

III 

ESKP 

SKFS 

OATA 

ESKP 

III 

DATA 

DATA 

DATA 

OATA 

III 



*MODE/D 

#MDDE/5 

*HDOFS 

*MDDSC 



#bgdloa 

-I 
-1 
B18 

»bcacbk 
#LnuSR 

*H1USR 

Bie 

0,0,0 

*ckptfs 





#J0BMES 



O.MOO ENTRIES PPR DtSf 

l.MOO ENTRIES PPR SFCTOR 

2'.M00 FIRST SECTOR 

S'.MOD SECTOR COUNT 

4'.ACRnNIM CDNTRPL FLAG 

5.B4CKGRDUNn DEFAULT LIST OUTPUT ASSGNhpn^ 

6'.BACKGRDUNn IDLE FLAG (SET INITIALLY! 

T.BACKGRDUNn SPOOL OUFUF POINTgR ((:MPTy) 

.ACCOUNTING SYSTEM ONLY 

B.AODRESS OF BACKGROUND ACCOUNTING RLOCK 

9. LOW SYSTEM USER NUMBER 

10. HIGH SYSTEM USER NUMBER 

.FOR NQN-ACCQUNTING SYSTEMS 
8.9,10, NULL 

11,ABS, SECTOR NUMBER QF CHFCKPDINT AREa 

12. BACKGROUND MEMORY DUMP ACTIVE FLAG 

13, BACKGROUND REQUESTS ABORT nUMP FLAG 

I*. LOW DUMP LIMIT 

H. MICH DUMP LIMIT 

16. BG JOB MESS FLACi FOR NO MESJ 



E-16 



Revision B 
March, 1975 



OT^lB-'a 



495 

497 

496 000436 

499 000437 

500 000**0 

501 000441 

502 000450 

503 000451 

504 000460 

505 000»*1 

506 000470 

507 000471 

508 000500 

509 000501 

510 000510 

511 000511 



SVSTEM DATA MODULF (QMS) 



* DISC I/O QUEUE 

* 

00000000 0/QFULL DATA 

00000440 4 0/AVAU DAC *'»1 

00000450 4 OAC •♦8 

00000000 RDAT 7(0) 

00000460 4 OAC *♦» 

00000000 "OAT 7(0) 

00000470 4 OAC ♦+8 

00000000 ROAT 7(0) 

00000500 4 OAC •♦8 

00000000 ROAT 7(0) 

00000510 4 OAC •♦8 

00000000 RDAT 7(0) 

00000000 OAC 

00000000 ROAT 7(0) 



61606^01 01t07nl73 PAGE 16 

♦* TABLE K 

.QUEUE FUtL FLAG 

.AVAILABLE ENTRY STRING AOQRESS 

.ENTRV #1 

.FNTRV «2 

.FNTRV «3 

.ENTRY #4 

,?NTRY «5 

.ENTRY «6 



E-17 



Revision B 












March, 1975 










07-13-73 






5V5 


Tem OATA MHOULF (Of'S) 


513 








PERIPHERAL 


DEVICE COOROINAT 


5U 












515 












516 












517 








THIS TABLE CONTAINS AN g 


51B 








cdnficuration plus a single 


519 








HANDLE" ADDRESS/ THE DEVICE 


520 








ID WHEN THE 


OEVKE 15 ALLOC 


5?1 








TABLE DETERMINES THE "PERIP 


5?2 








THE ENTRIES UHJCH DEFINE 


523 








FLAG - ONE 


FOR E*CH DEVICE 


5ti* 








PRINTER HAVE SEPARATE OEVIC 


52S 








CONTROLLER 


HAVE ONLY ONE OF 


526 












527 000520 


000000?2 





POCT DATA 


'2? 


528 000521 


OQOOOOOl 


3 




nAC 


tOFH 


529 000522 


0000131* 


* 




OAC 


•0 


530 000523 


OOOOOOOl 


3 




OAC 


»RTOH 


531 00052* 


OlOOOOOO 


3 




'01 


»RTOBF 


532 000525 


0000"0«0 







nAC 





533 000526 


oooooooo 







OAC 





53'* 000527 


0000^000 







OAC 





535 000530 


oooooooo 







OAC 





536 000531 


OOOOOOOl 






OAC 


»TRAH 


537 000532 


0*000567 






'0* 


TRABF 


538 000533 


OOOOOOOl 






OAC 


»TPAH 


539 00053* 


05000570 






105 


TPABF 


540 000535 


OOOOOOOl 






OAC 


»lpah 


541 000536 


0600057* 






106 


LPABF 


5'»2 000537 


nooooooi 






OAC 


»CRAH 


5*3 0005*0 


0700^571 






•07 


CRABF 


5** O00'*l 


OOOOOOOl 






OAC 


tCPBH 


5*5 0005*2 


10000573 






'10 


CP9BF 


5*6 0005*3 


OOOOOOOl 






OAC 


»rtCAH0 


5*7 0005** 


11000575 






'U 


MCABF 


5*8 0005*5 


OOOOOOOl 






OAC 


IMCAHi 


5*9 0005*6 


U00O5T5 






'11 


MCABF 


550 0005*7 


OOOOOOOO 







OAC 





J'^l 000550 


oooooooo 







OAC 





552 000551 


OOOOOOOO 







DAC 





553 000552 


oooooooo 







OAC 





55* 000553 


OOOOOOOO 







OAC 





555 00055* 


oooooooo 







DAC 





5''6 0O0555 


OOOOf^OOO 







OAC 





5S7 000556 


oooooooo 







OAC 


n 


558 000557 


OOOOOOOO 







OAC 





559 000560 


oooooooo 







OAC 





560 000561 


OOOOOOOl 






OAC 


tRTQH 


5f>l 000562 


0200O00G 






'02 


tRTOBF 


5h2 000563 


OOOOOOOl 






OAC 


iRTlH 


563 00056* 


02OOO000 






'02 


»RT1BF 


56* 000565 


OOOOOOOl 






OAC 


»RT2H 



61606-01 01.070173 



PAGE 



17 



ION TABLE 



»♦ TABLE L 



NTRV FqR each ALLOCATABLE OEVICF PRESENT IN A 
ENTRV FOR ALL OISCS, EACH ENTRY CONTAINS THE 
BUSY FLAG ADDRESS AND STORAGE FOR THE CURRENT USER 

ATEO. THE RELATIVE POSITION OF AN ENTRY IN THIS 

HERAL DEVICE NUMBER" OF THE DEVICE. 
BC-602* DEVICES ARE FOLLOWED BY THE DEVICE BUSY 

CONTROLLER. FOR EXAMPLE. THE CARD READER AnO LINE 

E FLAGSJ Two MAGNETIC TAPE DRIVFS ON A SINGLE 

VICE BUSY FLAG. 

.MAXIMUM DEVICE NUMBER 
.DEVICE - ALWAYS DISC 

DISC NEVER BUSY, 
.DEVICE I - CONSOLE TTy - ALWAYS 

.DEVICE 2 - UNASS1-6NE0 

.DEVICE 3 - UNA5SIGNED 

.DEVICE * - TAPE READER 

.DEVICE 5 - TAPF PUNCH 

.DEVICE 6 - LINF PRINTER 

.DEVICE 7 - CARD READER 

.DEVICE 10 - CARD PUNCH 

•DEVICE U - MAGTAPE TR&NSPnRT 

.DEVICE 12 - MAGTAPE TRANSPORT \ 



.DEVICE 17 

.DEVICE 20 - CONSOLE TELETYPE 

.OfVlCE 21 - REMOTE TELETYPI- 1 

.OEVICE 22 - REMOTE TELFTYPT ? 



E-18 



Revision B 
March, 1975 



07- 


-13-73 






SVSTEM t 


lATA MflDULF (QMS) 


61606-01 


565 


000566 


02000000 


3 




'02 


♦RT2BF 




566 








« 






.DEVICE BUSY FLAG 


567 


000167 


00000000 





TRA8F 


DATA 





.PAPER TAPE RfAOE 


S6B 


000570 


OOOQOOOO 





TPABF 


DAT'A 





.PAPER TAPE PUNCH 


569 


0P0J71 


00000000 





CRABF 


DATA 





.CARD READER "A" 


570 


000572 


00000000 





cpabf 


DATA 





.Card punch "a" i\ 


571 


000573 


00000000 





CPBBF 


DATA 





.CARD PUNCH B BUS 


572 


000974 


00000000 





LPABF 


DATA 





,LIN£ PRJNTFR "A" 


573 


000975 


oooooooo 





MCABF 


DATA 





.MAGTAPE CqnTRDLL 


57« 


000576 


21O0OOOO 


3 


CHA 


BUC 


»C02629 


.CONVERT HOLLERITI 


575 


000977 


21000000 


3 


CAH 


BUC 


»A(2629 


•CONVFRT ASCII TO 


576 


000600 


21000000 


3 


CBA 


BUC 


»BIA 


.CONVERT BCD TQ A: 


577 


000601 


21000000 


3 


CAB 


BUC 


tAlB 


.CONVERT ASCII TO 


578 


000602 


21000000 


3 


CEA 


BUC 


tElA 


.CONVERT EBCO TO 


579 


000603 


2100O000 


3 


CAE 


BUC 


tAlE 


.CONVERT ASCII TO 


580 


000604 


0340O0O0 


6 


TTVIN 


DAC 


*TTVlI 


.TELETYPE INPUT Ii 


581 


000609 


03400000 


6 


TTVOUT 


DAC 


«TTYOl 


.TELETYPE OUTPUT 


582 


000606 


03400000 


6 


DELTIM 


III 


*CPS/10 


.DELTA TIME. ONE S 



PACE 



S 

R "A" BUSY FLAG 

"A" BUSY FLAG 
BUSY FLAG 
USY Fi_AG 
V FLAG 

BUSV FLAG 
ER "A" BUSY FLAG 
H(026/O29) TO ASCII 

026/029 HOLLEPITH 
sen (7-TRACK TAPE) 

BCD 
ASCII (9-TRACK TAPE) 

EBCO 
NTERRUPT MASK 
INTERRUPT MASK 
ECOND IN T»COUNT$ 



18 



E-19 



Revision B 
March, 1975 



07-13-73 



5VSTEM DATA MOOULF (t)MS) 



61606-01 01.070173 



PACE 



19 



5«<( 
585 
586 
587 
588 
589 
590 
591 
592 
593 
59<, 
595 
596 
597 
598 
599 
6P0 
601 
602 
603 
604 
605 
606 
607 
603 
609 
610 
611 
612 
613 
6U 
615 
616 
617 
618 
619 
620 
621 
622 
623 
621 
625 



SKPS 620 



00060T 
000610 
000617 
000620 
000621 
000622 
000623 
000624 
000625 
000*26 
000627 
000630 
000631 
000632 
000633 

000634 
000635 
00064A 
000645 
0006*6 
000647 
000450 
000651 
000652 
000653 
00065* 
000655 
000656 
000657 
000660 



00000007 
OOOOOOOO 

oooooooo 

00000634 

oooooooo 

00O0O033 
OOOOOOOO 
00000062 
00000062 

OOOOOOOO 

77777777 
OOOOOOOO 
00000634 
OOOOOOOO 
0120O000 

00000006 
OOOOOOOO 

oooooooo 

00000661 

oooooooo 

00000055 
OOOOOOOO 
00000074 
00000074 
OOOOOOOO 
00000001 
00102067 
00000607 
30000000 
OOOOOOOO 



* TERMINAC CnNTROL BLOCK TABLE 

« 

* 
* 



.ONLY IN SPnOLEP SYSTEM 



♦* TABLE M 



TCB 



* 
TCB2 



Terminal control blocks 

A terminal control block (TCB) MUST BE establishfd for 

FACH OFVICF WHICH IS TO BE SPOni.FD'. 



FORM 

DATA 

RDAT 

DATA 

DAC 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

OAC 

DATA 

DATA 

DATA 

RDAT 

DATA 

DAC 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DAC 

DATA 

DATA 



8,8,8 

'07 

7(0) 



TCB2 



27 



50 

50 



-1 



TCR2 



/5jO/0/ 

106 

7(0) 



TCB3 



45 



60 

60 



1 

/0*132j55/ 

TCB 



/0»0*0/ 



jPQN.OT FOR CARD READER 

.CONTROL WQRD • FOR NOW 

.LINK 

.PL 

,WC 

.BA 

.PRIORITY 

.FIXED PRIORITY (DEFAULT • IQ) 

.SPOOL QUE7F POINTER 

.MODE'INPUT ONLY 

.LINES PER PACE • NULL 

.RELATED TCB ADOR • PRINTER 

.PROGRAM 

.5 FILES, BYT NO REGISTERS 

,PON 06 ■ PRINTER 

.CONTROL WORD 

.LINK 

,PL 

WC 

,BA 

.PRIORITY 

.FIXED PRIORITY 

.SPOOL QUEUE POINTER 

,MQOE"OUTPUT ONLY 

,132 CHAR/LINF; 55 LINES/PACE. 

.RELATED TCB ADDR ■ CARD READER 

.T/PRDC ■ NULL 

.REGS DEFINITION'S NULL 



E-20 



Revision B 
March, 1975 



07-13-73 






SVSTEM 


DATA MO 


DUlE (QMS 


627 






♦ 7ERMINAL CONTROL BLO' 


623 






* 






629 000661 


00000005 





TCB3 


DATA 


'05 


630 000662 


00000000 







ROAT 


7(0) 


631 000671 


00000000 







DATA 





632 000672 


00000706 


* 




OAC 


TCB* 


633 000673 


00000000 







DATA 





63<( 00067* 


00000033 







DATA 


27 


635 000675 


oooonooo 







DATA 





636 000676 


00000106 







DATA 


70 


637 000677 


00000106 







DATA 


70 


638 OOOTOO 


00000000 







DATA 





639 000701 


00000001 







DATA 


1 


6«0 000702 


00000000 







DATA 





6*1 000703 


00000000 







DATA 





6*2 00070* 


00000000 







DATA 





6*3 000705 


00000000 







DATA 


/OtOtO/ 


6** 






« 






6*5 000706 


00000020 





TCB* 


DATA 


120 


6*6 000707 


oooooooo 







ROAT 


7(0) 


6*7 000716 


00000000 







DATA 





6*8 000717 


0000O733 


* 




DAC 


TCB5 


6*9 000720 


nooooooo 







DATA 





650 000721 


00000033 







DATA 


27 


651 000722 


00000000 







DATA 





652 000723 


00000106 







DATA 


70 


653 00072* 


00000106 







DATA 


70 


65* 000725 


00000000 







DATA 





655 000726 


00000000 







DATA 





656 000727 


000**001 







DATA 


/Oj72,1/ 


657 000730 


00000000 







DATA 





658 000731 


00000706 


* 




DAC 


TCB* 


659 000732 


03001*03 







DATA 


/12*3,3/ 


660 






* 







61606-01 01.070173 



TABLE (CONTINUED) 

,PON • 105 FOR PAPER TAPE PUNCH 

.CONTROL WORD 

.LINK TO NEXT TCB 

,'l 

iWC 

,BA 

.PRIORITY 

.FIXED PRIORITY 

.SPOOL QUEUE POINTER 

.MODE • OUTPUT ONLY 

.LINES PER PAGE • NULL 

.RELATED TCB • NONE 

,T/PROG • NULL 

.REGS DEFINITIONS NULL 

,PDN • '20 FOR CONSOLE TELETYPE 

.CONTROL WORD 

.LINK TO NEXT TCB 

.PL 

.WC 

.BA 

.PRIORITY 

, FIXED PRIORITY 

.SPOOL QUEUE POINTER 

.MODE ■ BOTH INPUT AND OUTPUT 

,72 CHAR/LINEJ 1 IINE/PAOE, 

.RELATED TCB » NONE 

.RELATED TCB - SELF 

.REGS DEFINITIONS FOR ACRONIH 



PACE 



20 



* TABLE M 



E-21 



Revision B 
March, 1975 



07-U-"'3 






SVSTEM 


OATA MHOULf ' dmS ) 


61606-01 01.070173 


PAGE 


6*^^ 






♦ TERMINAL CnN7RnL 3L0CK 


TABLE (CONTINUED) 


« TA( 


663 

664 000733 


00001021 





TCB5 


OATA 


'21 


,PON . 121 FOR REMOTE TTY 




665 000734 


0000(1000 







ROAT 


7(0) 






666 000743 


oooonoco 







OATA 





.COMTRQL WORD 




667 000744 


00000760 


4 




DAC 


TC86 


.LINK 




668 000745 


00000000 







DATA 





.PL 




669 000746 


00000033 







DATA 


27 


.WC 




670 000747 


00000000 







OATA 





.BA 




671 0O075O 


00000055 







OATA 


45 


.PRIORITY 




672 000751 


40000055 







OATA 


'40000055 


.PRIORITY MAX LIMIT FOR TERM 


[NAL ■' *5 


673 000752 


00000000 







DATA 





.SPOOL QUEUE POINTER 




674 000753 


00000000 







OATA 





.MODE • BOTH I/n 




675 000754 


00044001 







DATA 


/0*72,1/ 


.72 CHAR/LINEJ 1 LINE/PACE, 




676 000755 


00000733 


4 




DAC 


TCB5 


.RELATED TCB - SELF 




677 000756 


00000000 







DATA 





,T/PROG " NULL 




678 000757 


03001403 







DATA 


/12#3,3/ 


.12 FILESJ 3 DF EACH TYPE OF 


RE(;iSTERS 


679 






« 










680 000760 


000000X2 





TCB6 


DATA 


'22 


.PON • '22 FOR REMOTE TTY #2 




681 000761 


00000000 







ROAT 


7(0) 






682 000770 


00000000 







OATA 





.CONTROL WORD 




683 000771 


0000^000 







DAC 





.LINK 




684 000772 


00000000 







DATA 





• PL 




685 000773 


00000033 







DATA 


27 


.WC 




686 000774 


00000000 







DATA 





.BA 




687 000775 


0000"0!tO 







DATA 


*0 


.PRIORITY 




688 000776 


60000090 







DATA 


'60000050 


.PRIORITY FIXED AT 40 




689 000777 


0000"000 







DATA 





.SPOOL QUEUE POINTER 




690 oniooo 


OOOOnOOO 







DATA 





.MODE « BOTH I/O 




691 omooi 


00044001 







OATA 


/0*72,l/ 


,72 CMAR/LINEJ 1 LINE/PACE, 




692 001002 


00000760 


4 




DAC 


TCB6 


.RELATED TCB ■ SELF 




693 001003 


00000000 







DATA 





.T/PROG • NULL 




694 0O1004 


03001403 







DATA 


/l2/3,3/ 


.12 FiLESJ 3 OF EACH TYPE OF 


REGI'iTERS 


695 


00001005 




E0TC8 


EQIV 


« 


.END OF TCB AREA 




696 








ESKP 









21 



E-22 



Revision B 
March, 1975 



07-13-73 SVSTEM DATA MDOULF (QMS) 61606-01 01|f)70l73 PAGE 22 

698 ♦ MAGNETIC TAPE npTjONS TABLE ♦* TABLE N 

699 * 

700 ♦ TYPE (0) SPECIFIES 9-TRACK TAPE 

701 ♦ tl) SPECIFIES 7-TRACK TAPE 

702 ♦ MOOE (0) SPECIFIES BINARY, aSC 1 1 (NO CONV) FOR SVMBQLIC I/O 

703 * (1) SPECIFIES BCD DP EBCO CONVERSION FQR S¥MBni,IC I /Q 

704 * (ODD PARITY IS FORCED FOR BINAPY I/O REOUES'TS) 

705 ♦ DENSlTYl (0) IS 2C0 BPl -OR- LOW Oen PEC 

706 * (1) IS 556 BPI -OR- HI DEN PEC 

707 ♦ (2) is 800 BPI 

708 * CWPl (0) IS I CH/WD 

709 ♦ (1) IS Z CH/WD 

710 * f2> IS 3 CH/WO 

711 ♦ (3) IS «t CH/WO 

712 • 

713 * (DC) AND (PI) IN THE FniLDWINC MUST Be ZERn 

714 * TYPai6/ MDosu, oeNai2; cpwaio* nc36 t«33j piso 

715 fORM «,2i2,2t'f>3fi 

716 ♦ .1. .«C TAPE OPTION TABLEJ SET BY JOB CONTROL 

717 * III ,TQT MUST BE 8 WORDS 

718 001005 OOOOOOOC TOT ROAT 8(0) 

719 « .,, ,BG/FG DEFAULT TAPE OPTIONS TABLE 
7iO * III .OTOT MUST RE 8 WORDS 

721 001015 0002*000 DTOT DATA /O* 0^2j2# 0^0* 0/ TRANSPORT - 9T#B IN* 3CPW, 800BP I 

722 001016 0002*010 DATA /O* 0*2* 2* 0* 1/0/ TRANSPORT 1 - 9T* B IN* SCPW* BOOBPI 

723 001017 00014010 DATA /O* 0* 1* 2* Oj li 0/ TRANSPORT 1 

724 001020 00014020 DATA /0« 0» 1*2* 0* 2, 0/ TRANSPORT 2 

725 001021 00014030 OATA /O* 0* 1* 2* 0* 3* 0/ TRANSPORT 3 

726 001022 00014040 DATA /O* 0* 1* 2* 0*4* 0/ TRANSPORT 4 

727 001023 00014050 DATA /O* 0* Ij 2* 0* Sj 0/ TRANSPORT 5 

728 001024 00014060 DATA /O* 0* 1* 2*0/6* 0/ TRANSPORT 6 

729 001025 00014070 DATA /O* 0* 1* 2* 0* 7* 0/ TRANSPORT 7 

730 * .,, .DENSITY CONTROL TABLE 

731 ♦ .ONE OCTAL DIGIT (3 BITS) IS USED FOR EACH 

732 • DRIVE* LEFTMOST (BITS 23-21) EOR TRANSPORT 

733 * OJ VALUES OF 0-3 INDICATE DENSITY BITS IN 

734 * COMMAND WORD AS APPROPRIATE FOR PHYSICAL 

735 ♦ OEVlCEi VALUE OF 4 INDICATES OFNSITY IS 

736 * INVALID. 

737 * 

73B 001026 44444444 MTDENS DATA '44444444 ,200 BPI 

739 001027 44444444 DATA 144444444 ,556 BPI 

740 001030 22444444 DATA '22444444 ,800 BPI 

741 001031 44444444 DATA '44444444 .1600 BPI 



E-23 



Revision B 
March, 1975 



07-11-73 



SVSTgM riATA MnOULF (QMS) 



61606-01 01,070173 



f'ACE 



23 



743 

Tti 001032 0000O020 SSTaB DAC 

746 001033 20241117 DATA 

747 001034 22227517 DATA 
7*8 001035 21Z5*1U DATA 

749 0O1036 22047514 DATA 

750 001037 20644101 DATA 

751 001040 22247ln6 DATA 

752 001041 25640511 DATA 

753 001042 246431?5 DATA 

754 001043 20647516 DATA 

755 001044 21451117 DATA 

756 001045 246545?3 DATA 

757 001046 250425?2 DATA 

758 001047 202515?.3 DATA 

759 OOIOSO 21041515 DATA 

760 001051 252471J4 DATA 

761 001052 21450101 DATA 

762 000010'i3 SSTARE EQIV 



* system service i dent i f t c ati d^ tablf 
sstab 



•>* T43LE 



sstaRe-sstab-1 ,nq qf entries 

"A«0" 
"I/O" 
"EX I" 
"HDL" 
"CHA" 
"INF" 
"WAI" 
"SFU" 
"CTN" 
"FRO" 
"SVS" 
"TER" 
"ASS" 
"DCH" 
"UNT" 
"FPA" 



fO 


»ABORT 




»i/n 




lEXIT 




$HQLD 




iCHAIN 




SINFO 




♦ WAIT 




SSFUNC 


.10 


ICQNVERT 




»PRnGS 




♦SYSTER 




$TERMlN 




♦ASSIGN 




$OCM 


■ 16 


»UnTRAP 


.17 


SFPACK 


,FND OF SYSTEM SERVICES 1" TARtF 



E-24 



Revision B 
March, 1975 



07-13-T3 



SYSTEM DATA MODULE (QMS) 



61606-01 01.070173 



PACE 



2* 



DYNAMIC CELL POOL OE'lNITiON TABLE 



764 
765 
766 
767 
768 
769 
T70 

771 0000C144 NUHCELS EQIV 100 

772 001053 00000144 CELLS OAC NyMCELS 

773 00103* 00201220 6 BLOK NUHCELS 



** TABLE P 



.POOL OF AVAILABLE *-WDI»0 CfLLS 



THIS POOL is REFERENCED By THE "PUTCEl" AND "GFTCEL" RHUTINES 
TO ACCESS 4-WORO CELLS AS NEEDED BY THE SYSTEM, 

.SI?E OF AVAILABLE SPACF 

.RESERVE SPACE 



E-25 



Revision B 
March, 1975 



07-13-73 



SYSTEM DATA MODULE lD»S) 



61616-01 01.070173 



PACE 



25 



775 
776 
777 
778 
779 
780 
7?1 
7«2 
7^3 
7B* 
7«5 
786 
787 
788 
789 
790 
791 
792 



001220 
001221 
001222 
001234 
001235 
001236 
001237 
O0l2*0 
001241 
001242 



00000001 
00000113 

oonooooo 

20001226 
06001222 
01001224 
03001225 
25000001 
10001226 
25601233 



* EXTERNAL INTERRUPT DEFINITION BLOCKS 
« 

•ENTRY FORMAT 

* WORD 

* WORD 1-2 
« WORD 3 

* WORD 4 
* 

EXIDBS 
IDB113 



(ONE PER EXTERNAL INTERRUPT) i 

INTERRUPT CROUP/LEVEL 

PROCRAf^ NAME (6 ANSCII CHARACTERS) 

EXECUTION PRIORITY 

EXECUTION PARAMETER 



- INITIALLY 

- INITIALLY 



♦♦ TABLE Q 



DATA 

DATA 

ROAT 

TRM 

TMD 

TMI 

TMK 

BSL 

TMR 

8RL* 



1 

•113 
lOlO) 
*.6 

•-11 

♦ ,10 

♦ ^10 
»INIT« 

*-ll 

♦ -7 



.NUMBER Qf BLnCKS 
.BROUP I, LEVEL 'U 



.INITIATE CONNECTED PROGRAM 
.RESTORE REGS 



E-26 



Revision B 
March, 1975 



07-13-73 



SYSTEM DATA MODULE (DMS) 



6l606"01 01,070173 



PAGE 



26 



794 
799 
796 
797 
798 
799 

800 001143 77777773 OICT 

801 0012** OOOOOOOO 

802 * 

803 00131S 0040f>000 6 



DISC OICTinNARV IN CORE TABLE 



*• TABLE R 



DATA -5 
RDAT 40(0) 

END* 



.ALL DISC FILES TYPED AS "CHRE RESIDENT 
DIRECTORY ENTRY" (C) ARE ENTERED IN THIS 
TABLE BY SYSINIT'. 

.NEC # OF ENTRIES AVAILABLE 
.TABLE AREA (B WORDS PEP ENTRY) 

.END OF SYSDAT 



E-27 



APPENDIX F 
BACKGROUND DATA MODULE 



F-1 



Revision C 
November 1975 



fSl77J-00 WAC-O flSSEMbLtt! - wtvIblON LEVEL 1*.0v2?'7s 

12_fll_7i, tiflCKbPOUNO OftTd MODULE (0Mb.) 6161U-01 0.i.l2^^''3 ^"*^^f 1 

? nO0O0O()3 WEVK EQIV 3 .CIIRREnT t^tVISlON LEVEL 

^ o ASSEMBLE WITM FLor,S 1 ti SET FOP ACCOUNTING SYSTEMS 

I, » RESET FOR NON-ACCOUNT iNfi SYSTEMS 

h » 

7 -inttttnnntinnteoflaossixnt********** INDEX »»»»o» o»a-»eo «»«»HHnnt-innnt»»»««« 

a » EXTERNAL OtFlNITION TAhLE - LINE ^Q 

4 « FLAGS - LINE 36 

10 » BACKGWOUNO INFORMATION TABLE - LINE 46 

11 ■» BACKGROUND PROGRAM SERVICE ARE* - LINE liH 
1? ■» BACKGROUND FILE/OEVICE CONTROL BLOCK - LINE 77 
13 o BACKGROUND EXECUTION AREA - LINE 108 



F-2 



Revision C 
Novesmber 1975 



1>'-01-7S BACKGPOUND DATA MODULE (U^S) 61610-01 03.1^2^75 PAGt 

16 » NOTf- : THIS MUST HE THE lAST RESIDENT MODULE, PKECEEDING SYSINTi! 

IV » 

18 » EXTEKNAL UtFIMTION TABLE 

IV « 

^0 oononnoo ? xdef e6iooi,« .reginninc of bi6io-oi 

r?l OOOOOnnn ? aDEF BGOATA.UtFLAfi .MODULE NAME 

^^ 00000000 ? XDEF UtFLAG . U$FL AG .IINSOLILITED $ FLAG 

di OOOOOnOl 2 XDEF AriOPTF , A80RTF .JOH ABORT FLAo 

dA 00000004 ? XDEF REDUCE . REDUCE .REDUCE HACKGKOUND bl7t FLAG 

^S 00000317 ? XDEF JSFDCH , JSFOGB .JOB STR£AM«S F/D CONTROL BUFFtR 

,^6 00000006 ? XDEF JSHUFR , JCBUFR .JOB STREAM<S INPUT HUFFtR 

el 0O00OO03 ? XDEF JSFLAG , JSFLAG .JOB STREAM FLAG 

^H 00000041 ? XDEF INFORM, INFORM .BACKGROUND INFORMATION TABLE 

,'H 00000042 ? XDEF DA TE , I NFORM+ 1 .SYSTEM DATE 

in 00000041 i XDEF option, inform .SYSTEM OPTION WOWD 

11 00000064 i? XDEF BPSA.riPSA .PACKGHUUND PSA 

j2 00000306 2 XDEF BACC TG ,BACCTG .RAKGIMD ACCTG AREA PARAMETERS 

33 00000307 ?. XDEF BFDCB.BFDCB .HACKGROUNU F/D CONTROL BUFFER 

14 OOOOOBOl 2 XDEF BSTAR.BSTAR .HACKGROUNU STARTING ADDRESS 

3S • 

16 » FLAGS 

U 000000 00000000 USFLAG DATA .UNSOLICITtU CONTROL STATEMENT FLAG 

)6 000001 00000000 AdORTF DATA .BACKGROUND JOB ABORTED FLAG 

■!'> 000002 OOnOOOOO GOFLAG DATA ."GO" FLAG 

".O 000003 00000000 JSFLAG DATA .JOB STREAM FLAG 

41 000004 OOQOOOOO REDUCE DATA ■ .REDUCE bAKGNU SIZE FLAG - SET "Y 

42 » OP. COMM. WITH SPECIFIED SIZE 

43 000005 10020040 DATA " " .miFFER PRINT CONTROL CHACTEH(JCm - 1) 

44 000006 10020040 JCBUFR hDAT 27 ( " ") .CONTROL STATEMENT BUFFER 
46 • BACKGROUND INFORMATION TABLE 

46 000041 00000000 INFORM DATA .fOPTIONS 

47 000042 10020040 RDAT 3(" ") .TDATE 

48 00004S 00000067 DATA SS .*LlNES 

49 00 46 00000000 DATA .TFLAGS 

50 000047 10020040 DATA " " .tjOB 

50 OOOOSO 10020040 

51 OOOOSl 00000000 « DOPTS ZZZ XBGDOPS .DEFAULT OPTIONS 

52 000052 00000000 * DLINES ZZZ <»BGDLNS .DEFAULT LINES/PAGE 

53 000053 00000000 # DFLAGS ZZZ #BGDFGS .DEFAULT FLAGS 

54 000054 00000000 SPUPNT DATA .BACKGROUND'S SPOOL QUEUE ENTRY POINTER 

55 000055 00000000 HAKHIxl DATA .ORIGINAL •bAKHI< VALUE 

56 000056 00000000 BAKHI*2 DATA .MODIFIED triAKHl' VALUE 

57 000057 00000000 RDAT 5(0) .RESERVED FOR FUTURE SYSTEM EXPANSION 

58 » BACKGROUND PROGRAM SERVICE AREA 

5V 000064 00000000 BPSA RDAT 5(0) .GENERAL REGISTER STORAGE 

oO 000071 00000000 BPC DATA .PROGRAM COUNTtR STORAGE 

61 000072 00000000 BBlT DATA .H AND V REGISTERS 
n2 000073 00000000 BSAU DATA 0,0,0 .SAU REGISTEt^S 

62 000074 00000000 

62 000075 00000000 

63 000076 00000000 BSwIT DATA .PROGRAM Si^ITCH k»ORD 
t4 000077 00000000 BLIMTS DATA 0.0 .LIMIT REGISTER VALUES 



F-3 



Revision C 
November 1975 



l^~0\-Tb 






HACKGHOUND DATA 


MODULE 


h<t 


1) 1 n 


OOOOOQOO 











h'^ 


onoini 


oonoonoo 





HCTfcMP 


OAC 





»ift 


000102 


00?0030f> 


(> 


HTEMP 


BLOK 


132 


hi 










SKF? 


HIH 


f)H 


OOOJflh 


n 1 


3 


HACCTG 


DAC 


f HGACfiK 


faq 










ESKP 




/O 










SKKS 


H18 


n 








HACCTCi 


DATA 





c? 










tSKP 




n 










FOWM 


7,11,6 


/4 


000307 


10 7 7 





HFDCH 


DATA 


/2,'77, 


^s 


oooJin 


n 







RUAT 


7(0) 



(DMS) 61610-01 03.12227b PAbC; 



.CURRENT ALLOCATION POlNTf-P 

.TFMPORARY STOMAGt aREA 

.ACCOUNTING VERSION 

.POINT TO ttACKGHOUND ACCOUNTI^b HLUCK 



,NON-ACCOUNT1NG 

.NO ACCTG PAHAMETEWb 



0/ 



F-4 



Revision C 
November 1975 



W-Ui-J'i HACKGRUUNI) D4TA MOiMjLF (OHS) bl610-01 0J.12^^7b f'Abt. 

fy • HACKGWOUNU FILE/DEVICE CONTROL BLOCK 

7H » FORMAT /X.Y.Z/ 

r'^ » X=l IF NOT REASSTfiNABLt 

MO ft X = 2 IF DISC FILE 

'U • X=3 IF NOT REASSIRNABLE DISC FILE 

H? " X=0 OTHERWISE 

^3 • Y=LOGICAL FILE # 

14 » Z=PHYSICAL DEVICE « (0 FOR DISC FILES) 

riS » 

rth » THE FOLLOWIMG ARE DEFAULT ASSIGNMENTS, INITIALIZED bY A iJQn 

>17 • 

■iH 000317 OOnOOOni O JSFDCB data /0,0.1/,0 .assign 0(JS) TO l(TTY) 

HH oni)3<?n 00000000 o 

M4 0003^1 OOAOOlOl data / 1 . 1 , 1 / , .ASSIGN HOC) TU l(TTY) NOT HEASSIGNAHLE 

•14 oon3(?? oocooooo o 

^0 0003^3 OOtOOaoi O data /0.?,1/,0 .assign 2 TO I 



.ASSIGN 


(JS) 


.ASSIGN 


1 (OC) 


.ASSIGN 


2 


.ASSIGN 


J 


.ASSIGN 


4(t(l) 



40 noo3<e<t oooonooo n 

-»! 00032S 00000301 DATA /0,3.1/,0 .ASSIGN J TO 1 

41 000326 oooooono 

42 OU0327 00000404 DATA /0,4.4/.0 .ASSIGN 4(t(l) TO '.(PTR) 

42 000330 OOCOOOOO 

43 000331 01000500 DATA /2,5,0/,0 .ASSIGN b(bO) TO "LR'MLINK WEAUY) 

43 0003^2 OOCOOOOO 

44 000333 23051040 DATA "LH ".0.0.0.0 
44 000334 10020040 

44 000335 00000000 

44 000336 00000000 

44 000337 OOCOOOOO 

44 000340 00000000 

45 000341 00000606 DATA /0.6,6/.0 .ASSIGN 6(L0) TO 6(LR) 
>5 000342 00000000 

*6 000343 00000777 DATA /0.7.»77/.0 .ASSIGN 7(S1) TO 77IJOB STHEAV) 

-»6 000344 001,00000 

47 nonj«5 01001000 DATA /2,»10.0/,0 .ASSIGN lO(SO) TO "wl'MwORK FILE ONE) 

4 7 00nj<*6 00(00000 

<H 000347 25630440 DATA "1»1 ",0.0,0.0 

4rt 000350 10U20040 

4ri 000351 00000000 

4>i 000352 00000000 

IH 0353 OOOOOOOO 

4rt 000354 OOOOOOOO 

J4 000355 U1C01200 DATA /2.'12.0/.0 .ASSIGN 12(LL) TO "LL'MLINK Llif^AHYl 

44 000356 OOOOOOOO 

100 000J57 23G46040 DATA "LL ".0.0.0.0 

10 3 6 10 20 4 

100 000361 OOOOOOOO 

100 000362 OOOOOOOO 

inO 000363 OOOOOOOO 

100 000364 OOOOOOOO 

111 000365 01001500 DATA /2.tl5.0/,0 .ASSIGN 15(Lrt) TO "LR"(LINK REAUY) 

ini 00366 00 00000 

10? 000367 23051040 DATm "LR ".0,0.0.0 



F-5 



Revision C 
November 1975 



12-ni-7S 



hACKbHOUND DATA MODULE <DI-1&) 



61610-01 0j.l?2^r5 



PAGt 



102 


000370 


10020040 









im 


00OJ7I 


00000000 









nya 


000372 


00000000 









102 


000373 


00000000 









in? 


00374 


ouoonooo 









inn 


00037S 


10 016 





DATA 


/2. < 16.0/.I 


in 1 


000376 


00000 00 









104 


000377 


21647440 





UATA 


"GO "•0 


104 


000400 


10020040 









10* 


00040 1 


000001} 00 









104 


000402 


00000 00 









104 


000403 


00000000 









104 


000404 


00000000 









ins 


0004ns 


oooonooo 





DATA 





106 


000477 


00200477 


6 


R0H(3 


JSF0CH + U2 



.ASSIGN 16(b0) TO ''GO" (CATALObtM WUKK FILKl 
• 0< < 0< 



THIS VALUE TEHiMINATtS Tl-E bEAKCM 

Irfserve Exactly 112 locations 



F-6 



Revision C 
November 1975 



Ir'-Oi-rb HACKfeWOUNO UATA MODULE <DmS) felfalO-01 03.122?7b HAGE 



.RAKGNO EXECUTION MODE WORD 

.BAKGND PNOGHAM STAKTIN6 AUOWESS POINTEk 

.FIRST LOCATION OF BACKGROUND PROGRAM 



liH 








» BACKGROUND 


t/ECUTTON AREA 


[■')^ 


000477 


00000000 





HMOUE 


DATA 





no 


oii(i5no 


00000000 





HSTART 


DATA 





11 1 




00000501 




HSTAR 


EulU/ 


* 


11^ 


000501 


?1000501 


1 




8UC 


« 



F-7 



Revision C 
November 1975 



1 /- 


1-7S 




bACKiiROUND UATA 


MODULE (QMS) 


1 14 






DASM 


MACHCJ 




1 IS 








SKUH 


:01 


1 If. 






:00 


UASHl 


( : n 2 ) , : 1 


1 17 








esKP 




I l^t 








SKNH 


:oi 


1 l^ 






:00 


DASH? 


-.0? 


1?0 








ESKP 




1^1 








MtND 




l^? 






DASHl 


MACWO 




l^ ^ 








5^FZ 


h:02 


1/" 








SKOB 


:03 


X'"-- 






:00 


OASHl 


( : 1 ) . : 3 . ! ' 


\^f^ 








tSKP 




I''! 








SKNH 


;03 


[^n 








SKOH 


:fll 


1 /'I 






:00 


UASH^ 


:01 


1 <n 
1 1 1 








t'SKP 

bKNa 


:oi 


1 it' 








neuv 


too. REV" 


1 13 








tSKP 




1 )4 








tSKP 




1 iS 








ESKP 




1 If. 








MEND 




1 <7 






OASH? 


MACRO 




1 iri 








SKFS 


H:ni 


1 14 








SKOH 


:o? 


1 <»n 






:no 


DASH2 


-.0?, :n3.: 04 


14 1 








t SKP 




i-^ 








SKNb 


:»? 


14 :i 








xtuv 


: no iR6 v« 


U4 








f.SKP 




l-'S 








LSKP 




Ui 








MtND 




1=.? 






Lf.1001 


DASM 


1 ) • (IH) 








L6100? 


DASH 


(IH) , ( ) 


i-f 




(1 (1 n n 3 




xtov 


L61002.REV* 


i-'-i 


'^ n f* 


4 n n 


f> 


KNUt 





6i6io-'ui oi.l^^^^b ^'A&t 



! OS 



.END OF ti&DATA 



F-8 



APPENDIX G 
SYSTEM GENERATION JOB STREAM 



G-1 



Revision B 
March, 1975 



THF FOLLIWtNGl 



* jne svsr.EN-PHASF-1 1 ui 

*DATE 27 JUNE 73 

* ... CUSTOMER I HATACRAFT 
» ■, .. nuTPUT FILE TYPEI 9-TR MAC TAPF 
f ... nnC TVPFl 5204 CARTRlOCe 
t ... STEP 0. ESTABLISH CONFIGURED HnOULFS OF 
1. ... - SVSCEN LINK FILES - 

$ ... SLMSGS - SVSTEM LINKAGE MQnuLE/SGS 

t ■. ., SYSDAT - SYSTEM DATA MHOULE/DmS 

* "... BCOATA - 8ACKGR0UND DATA MODUlE/DMS 

t ... DSR - LINK MODULE OF DISC SERVICE RBUUHE 

» ..'. - CUSTOMER SiOURCE FILES • 

% '.., 55*390 - SYSTEM LINKAGE MQOULE/SGS 

% , S60690 - SYSTEM DATA MOOULE/OmS 

% .,, S61090 - BACKGRDUNn DATA MODUlE/OM< 

tASSlGN 7«S5«302>V0«W1, 

» '. .. CO^'FIGURE r. fStablISh slmsgS fpr custqmer system 

tUTILITY 
.SHCFUn 
.RFPL 1 

tOEN SYSTEM LINKAGE MnOULE/SCS#2 r>ATACR&FT 61543-90 6/?7/73 

.CHNG iS3.21"6" 

.CWNG 126/16"7" 

,C"NG 127/16"7" 

.CHNG 131/16"12" 

.RFPL 138 

.CHNG l39*l-3"CBAn 

.REPL 140 

.CHNG 141/1-3"CAP" 

.REPL 142 

.CHNG 143il-3"CEA« 

.REPL 144 

.CHNG t4!*l-3"CAE" 



SYSTEM LINKAGE 
MODULE CONFIGURATION 



G-2 



r\cvi3i>-rri » 

March, 1975 



.Rf-PL 

r.r.ui 

G I . L 1 
Gl.Ll 
Gl.Ll 
GlUl 
Gl'.Ll 

.CHNG 
,CWNG 

• CHNG 

• CMNG 
.CHNG 
.CHNG 
.CHNG 

• CHNG 
.CHNG 
.CHNG 
.INSF 
.EXIT 
tASSi 
*0PT1 

• ASSF 

• ADF 
IFILE 
FST4R 
ESTAB 
^XIT 



167,17 
"ISL 
«LPK 
BSL 
nSL 
BSL 
BSL 
BSL 
hSl 
9tOK 
196,21 
197J.21 
19fl/2l 
199,21 
200,21 
201,21 
202/21 
203,21 
204,21 
205,21 
306*16 
EOF 



JS.CIP 
3 

♦ S'.TIP 
tS.TOP 
♦S.DiP4 
tS.MTIP 
tS.TRIP 

♦ S'.TRDP 
6 

"4",49''4" 

"4",49"4" 
»4w,49<%" 

*' 4 " J 4 9 ** 4 ** 
** 4 >* , 4 9 *■ 4 " 
"4",49"4" 
'*4", 49**4** 
'•4",49"4" 
"4",*9"4" 
"1",18"1" 



.CAPO READER INPUT 

.CONSOLE TELETYPE INPUT 

.CONSOLE TELETYPE OUTPUT 

.DISC 

,MAG TAPE 

.TAPE READER InPUT 

.TAPE READER OUTPUT 



SYSTEM LINKAGE 
MODULE CONFIGURATION 



ON 9»LR,7«W1 

ONS . 

MRLE 

7 

MA 
7,S54390,0,1Io;5«R;m,D 
5,SLMSGS#0,lJo;4,R,W,0 



.CONFIGURED So'JRCE 
.SLMSGS FOR SySGEN 



SLMSGS 



CREATING A FILE 
FOR SLM 



G-3 



Revision B 
March, 1975 



^ ... 

tASSI 
»UTIl 
.SRCE 
.RFPL 

.CHNf. 
.CHNO 
,CHNG 
.CHNf, 

.CHfif, 
.RFPL 

.RFPL 



.CHNG 
.CHNIC 
.CHNG 
.IMSF 
nAC2 



.RFPL 



• CHNG 
.CMNG 
.CWNG 
.INSF 
.EXIT 



GN 7 
ITY 

un 
I 

I 
130 
131 
?2S 
?2<> 
?3') 
153 

n 

MS 

!< 

<i51 
452 
AS"! 
<.63 



n 
n 
n 
n 
n 

n 

n 

n 

n 

D 

n 
n 


72? 
739 

740 
FQF 



FICURF r. FSTARLTSH 
■S606O1 J 10«Wl 



SYSOAT FnR Ci'S^DMER SVITTM 



DFN SYSTFM DATA MODULE (DMS) OATACRAFT blhOb-fO ROl. 6/27/73 
/23"6">ft3"6" 

, 22-23"'>" 

*23-29"66666" 

,23-24"66" 



SL tnVJNT 

/359 

SL tOCAiR 

SL ♦INVINT 

/15"2" 

,16" " 

/17"4" 

tXb" '• 



AC 

ATA 

ATA 

ATA 

ATA 

ATA 

AC 

ATA 

ATA 

ATA 

AC 

AC 

AW 

CW 

AC 

AC 

*545 

AC 

AC 



»OCA<^F 

11? 

?0 

2 

204 

2 

#samnfs 

2 



«DCACU 
»0CA5R 
«DCACU 
*DCACU 
♦OCASP 







/16"rM8"l"/49"7" 

/16-17"00" 

/16-17"n" 



,.116-INVALlO INTERRUPT 

,-l23-0!5C CONTROLLFR 
.-124-INVALlO INTERRUPT 



0.8USV FCAC ADDRESS 

l.# OF w/S 

2.« OF S/T 

3.# OF T/C 

4,# OF C/0 

5. PACK M 

6. SAM FIRST SECTOR 

7.SFCT0RS PFR SAB 

8, RETRY CnUNT 

9. PLATTER AODReSS 

10. CHANNEL/UNIT 

11. SERVICE ROUTINE 

l2.nAW INSTRUCTION 

13. new INSTRUCTION 

14. QUEUE STRING PniMTER 

15. RESERVED 



LFVFL 14 

LEVEL 19 
LFVEL 20 






.DEVICE 10 



SYSDAT 
CONFIGURATION 



G-4 



Revision B 
March, 1975 



.cnNFicuREr' Source - svsoat 

.SVSDAT fan SvSCEN 



♦ ASSICM 7»W1^5«Lfl 

»QPTIDN , 

♦ASSEMPUF 

tADF 7 

tFlLEMA 

ESTAR 7>S6069o#OiiliOi5/R/W^D 

ESTAR 5j»SYSDAT*OjIJo;<»»R*W#D 

EXIT . . 

» '. ,'. CONFIGURE t FSTABLISH PCDATA FnR CUSTqMeR SYSTEM 

»ASSIGM 7»S61001j1O»WI 

»UT1LITY 

.SRCEUO 

.REPL 1 

!DEN RACKGRnUND DATA MOoULE (OmS) 
•INSE EOF 
.EXIT 

JASSIGM 7«W1j5'LR 
»OPTION . 
tA^SEMRLE 
lADF 7 
*FILEMA 

ESTAR 7^S61090/0ji;0i5/R*W*D 
FSTAB 5/RG0ATA*0jl*'0J't>R>W*D 
EXIT 
IRFW 5 

ilNCLUftE L67200 
»FILEMA 
ESTAR 5,0SR/0, 1/0/4, R/WfO 



CREATING A FILE 
FOR SYS DAT 



61610-90 ROl, 6/27/73 



.CONFIGURED SOURCE - BGDATA 
.BGDATA FOR SySCEn 

CARTRIDGE DISC SERVICE ROUTINE 
,DSR FOR SySGEn 



BGDATA 
CONFIGURATION 



G-5 



Revision B 
March, 1975 



* ..'. ST 

*RFW 5 
4ASSIGM 

JCATALHC 
NAME.AHL 
CEGIN 
^FILEMA 
nUMPSF A 
"ELETg A 

* ... ST 
£ASS tGN 
tREW 5 
llNCLUOE 
IINCLUOE 
»INCLUnE 
*IMCLUnE 
»I^iCLUDE 
t INCLUDE 
*IMCLUOE 
slf'CLUriE 
SI^CLUOE 
tIMCLUnE 
IINCLUHE 
tl^JCLUDE 
tlMCLUng 
JI^JCLUOE 
♦INCLUOE 
tl^'CLUnE 
tCAT&Lnc 
NAME-SGS 
BEGIN 
4ASSIGN 
4FILEMA 
DUMPPF S 
DELETE S 
EXIT 

* '..'. ST 
SASSICM 
»I^CLUOE 

siMCLunE 

^ASSIGN 

SCATAinc 

NA1E«DIS 

flECIN 

tASSIGN 

«F!LFMA 

DUMP DIS 

DELETE 

EXIT 



EP 1. CRFATE BOOTSTRAP QF Aa<;DLUTE DEVICP LQAOFR 
5»ll (OUTFILE FILE « <»-TR MAG TAPE) 



l5«L55Ton/ i6.cn 



^l.»0» 120 

FP 2. CRFATE 
15-SLM5GS,12 

L53O00 
L5810r 
1.58200 
LSa-iOO 
L58500 
L58600 
L58700 
L58900 
L589on 
L5900n 
L5990C 
L69100 
L6920n 
L6560P 
L50300 
LSCtOP 



(BOOTSTRAP MODULE 9 20) 

(REMOVE TEMPORARY FILE) 

ABSOLUTF MonULE OF 5GS . — 

iLR/S-LR ' "■ '"" 

(FOREGROUND EXECUTIVE MODULES) 
(I/O CO^'TROL SUPERVISOR) 
(CONSOLE TELETYPE HANDLER) 
(PAPER TAPE READER mANolER) 
(PAPER TAPE PUNCH HANDLER) 
(CARD READER HANDLER) 
(026/029 ( ASCII) 



(ANALEX LINE PRINTER MAMOl'ER ) 
(MAG TAPE HANDLER) 
(ASCII ieBCD CONVERSION) 
(ASCI I IRCD CONVERSION) 
(CARTRIDGE DISC HANDLER) 
(SYSTEM SERVICE MODhLE/ROS) 
(LINK LOAOER/ROS) 



CREATE AML 
MODULE IN 
BOOTSTRAP FORMAT 



9«11 (OUTPUT FILE ■ 9-TR MAG TAPE) 

GS/OjO (AML REQUIRES BOOTSTRAP FORMAT) 
OS/GORP 



CREATE SGS MODULE 
IN ABSOLUTE LOAD 
MODULE FORMAT 



EP 3. CRFATE SGS LOAD MODULE OF DISC INITIALIZATION PROGRAM 
5«LR 

SVSDAT 

OSR 
15»LR*12«L61801 



(CONFIGURED SVSDAT) 
(DISC SERVICE ROUTINE) 
(OISINT ■ L<>i8on 



TNT 

?»Ji (OUTPUT 

INT^O, '20000 
!SINT,CDRP 



FILE ■ 9-TR MAG TAPE) 

(ABSOLUTE LOAD MODULE 9 20000) 



CREATE SOS/DISC 
INITIALIZATION MODULE 



G^ 



revision D 
March, 1975 



^UTPilT NHN-DISf 
(ai'TPUT FUE ■ 

♦fileha 

SAVMOO 

fXIT 

(THRMlhATE MPD 
CHTATE QMS SAVE 



t ... 5TFP 4 

♦ A<;S1GN ««11 
t ... 
» ... 
i ... 

♦ WEE 5 

1. ... STEP 5 
tASStGN 5.W1 
tREW 5 
tINCLUDE SYSDAT 

»weF 5 

tINCLUOE L69900 

»WFF 5 

♦INCLUDE L69510 

♦ WEF 5 

tINCLUOE t.69520 
iWEF 5 

»INCLUOE L69530 
tWFF 5 

tINcCUOE L69540 
*WEF S 
tINCCuOE U69550 

♦ ASSiGN l5xWl»l2«LR**i«LR 
«RFW 5 

UNCLUOE UfeOTOl 
SINCCUOE L60801 
tINCtUDE LMlOl 
tINCLUOE 161201 
»INCCUDE L61101 
♦INCLUDE L61601 
tINCLUOE L66300 
♦INCLUDE L60901 
♦INCLUDE L67300 
♦INCLUDE OSR 
♦INCLUDE L66900 
♦INCLUDE L62201 

♦ INCLUDE L<)2»0l 
♦INCLUDE L62401 
♦INCLUDE L62501 
♦INCLUDE L62»0l 
♦INCLUDE L62T01 
♦INCLUDE L60201 
♦INCLUDE L60100 
♦INCLUDE L71300 
♦INCLUDE L71501 
♦INCLUDE L71502 
♦INCLUDE L67702 

♦ INCLUDE L''0»00 
♦INCLUDE L70SOO 
♦INCLUDE BGD*TA 
♦INCLUDE L61*0l 

♦FILEMA 

ESTA6 Ji.L60091»0#l/0.4.R.W»D 
EXIT 



1 MOn FNTRIES 
9-1" »tr. TAPE) 
(Nn MOD ENfElS FOR CUSTOMER ';¥=;gip) 



ENTRIES WITH rND-nF-FlLF) 
MODULES OF RFSIDrMT nM«; anh ppcn'' 



(MAIN MnOULF np OPfcOATHR rciMMUN T C AT T n"S 1 



(EXeCUTlVF) 

(MONITOR Service linkage roi'tinfs) 

(LOAD MODULE LOADER) 
(EXECUTIVE TRApS) 
(PROGRAM SCHEDULER) 
(FILE HANDLER) 
(1/0 EXFCUTIVE) 

(i/o control supervisor) 
(Disc handler) 
(disc service routine) 
(spooling service routine) 
(card rfaoer handler) 

(026-029 ! ASCII CONVERSinN) 
(ANALEX LINE PRINTER HANDIER) 
(PAPER TAPE READER HANDLER) 
(PAPER TAPE PUNCH HANDLER) 
(MAC TAPE HANDLER) 
(ASelliBCO CONVERSION) 

(AsciiiEBCDic conversion; 

(TELETYPE HO - CONSOLE - SERVICF RnHTINf) 
(REMOTE TELETYPE #1 SERVICE ROUTINE) 
(REMOTE TELETVPE #2 SERVICE RDUTINf) 
(RE-ENTRANT TFlFTYPF HANDLER) 
(OPERATOR COMMUNICATIONS INTERFACF) 
(ACCOUNTING SERVICE ROUTINE) 
(RACKGROUNO DATA MODULE) 
(SYSTEM INITIALIZATION PROGRAM) 

.LINK MODULES OF CURRENT SYSGEi^ 



BUILD INPUT FILE 

FOR DMS CONSTRUCTION 



G-7 



Revision B 
March, 1975 



ICATiLnG 

NAME-DMS 

TYPE-SYSCEN 

RE5TRT 

BEGIN 

NAME»OI»CCIN#/'« 

TYPE«FC,PRIV 

NQMAP 

BEST9T 

DEGIN 

NAME-OPClNl/iR 

TYPE«FC,PRIV 

NQMAP 

RESTUT 

BEGIN 

NAME«aPCaN2#»R 

TYPE«PG,PR1V 

»JOMAP 

RESTBT 

BEGIN 

MAHE«aPC0N3/»R 

TYPE-FCjPRIV 

HESTRT 

NQMAP 

BEGIN 

NAHE«OPCON<.jiR 

TYPE"fG*<»RIV 

RESTRT 

NOMAP 

BEGIN 

NAHE>0PC0N9f >R 

TYPE»FG/PRIV 

BEGIN 

JASSiCN 5«11 (OUTPUT FILE 

SFltEMA 

SAVE DMS»GORP 

DELETE DMS»G3r' 

EXIT 



MAG TAPE) 



PRODUCE RESIDENT DMS 
AND NON-RESIDENT 
- OPERATOR COMMUNICATIONS 
LOAD MODULES 



G-8 



Kevision B 
March, 1975 



* ... 

*FILF 
SAVEP 
'SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVE" 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
SAVE? 
SAVEP 
SAVEP 
SAVEP 
SAVEP 
EX!T 
» ... 
»FILEM 
OElETE 
OELETE 
DELETE 
DELETE 
DELETE 
DELETE 
DELETE 
DELETE 
DELETE 
DELETE 
DELETE 
FXIT 
*WFF 5 

♦ RFw 5 



STFP 6. CRFATE QMS DYNAMIC DISC MQnuLES HF PERTINENT FILES 
MA 



JOBCTi.,GnRP 

FILEMA^GHRP 

CATALO^GORP 

npcDN^GURPi*nPfDM 

nPCDNl,GnRP/,OPCOMl 

nPCDN2jGDRP/,QPCnM? 

nPC0N3,C0RP>;0PCnM3 

npcoN<»,GnRP,f CiPCnM* 

nPC0N5,GnRP^*0PCnM? 

A.RAED/CnRP 

A.COPYjCriRP 

A.DISP/GORP 

A.INITjGORP 

A.LINE^CORP 

A.mANP/GDRP 

A.mISIjGORP 

A.PQSN,GnRP 

A.MISC/CORP 

A.PEGSfGORP 

A.UDAT/CriRP 

5. ABS J,GDRP 

S.FCSPjGHRn 

S.FCCP^GDRP 

BASlCiGORP 

DEBUG 

SYSDAT 

L60001 

S54390 

S60690 

S61090 



(ABORT sPnoL Input juB) 

(FnPEGRPUNO OUTPUT SPOOLER) 

(ACPONIM CQMMAnR PROCESSOR) 

(BASK COMPILER) 

(LINK MODULF DF OFBUC) 

(LINK MnOULE OF CURRENT SYSTgM DATA MODULF) 

(LINK MODULF OF SYSTEM) 

(CONFIGL^RFD SOURCE .. SlmSCS) 

(CONFIGURED SOURCE - SySOAT) 

(CONFICDRFD SOuPCF - BGPATA) 



STEP 7, DELETE TFMPORARY FILES 
A 

OPCONiGORP 

DPCONl^CORP 

DPC0N2^r.0Rp 

QPC0N3/G0RP 

DPCDN«,GQBP 

DPC0N9/CDRP 

SLMSGS 

SVSOAT 

BGOATA 

DSR 

LhOOOl 



G-9 



APPENDIX H 
DEVICE BOOTSTRAPS 



H-1 



Revision B 








March, ]975 








DISC BOOTSTRAP 






CU 


EQIV 


•500 


00 00000000 




HLT 




01 62500013 




TOA 


WC 


02 00714500 




OAW 


CU 


03 05000012 




IMA 


CW 


04 00700500 




OCW 


CU 


05 00730500 




ISW 


CU 


06 22600005 




BNZ 


*-l 


07 00110200 




QBB 


B7 


10 22600005 




BNZ 


*-3 


n 21000020 




BUC 


'20 


12 40000000 


CW 


DATA 


B23 


13 00000100 


WC 


DAC 


•100 


14 00000020 




DAC 


•20 



ASR TAPE READER BOOTSTRAP 



00 00000000 

01 00030110 

02 00700000 

03 00720000 

04 00140000 

05 22200003 

06 63200004 

07 00420006 

10 00724000 

11 22600010 

12 23200007 

13 00240020 

14 22200020 

15 15100020 

16 23100006 



CU EQIV 



•000 



TOB 


' 110 


OCW 


CU 


IDW 


CU 


COB 





BOZ 


*-2 


TNJ 


4 


LIA 


6 


IDW* 


CU 


BNZ 


*-l 


8WJ 


*-3 


CZA 




BOZ 


'20 


TAM 


•20,1 


BWI 


*-8 



CARD BOOTSTRAP 
CU EQIV 



'400 



00 


00000000 


HLT 




01 


00030010 


TOB 


'10 


02 


00700400 


OCW 


CU 


03 


00720400 


IDW 


CU 


04 


22600003 


BNZ 


*-l 


05 


00420014 


LLA 


12 


06 


00724400 


IDW* 


CU 


07 


22600006 


BNZ 


*-1 


10 


00240020 


CZA 




11 


22200020 


BOZ 


•20 


12 


15100020 


TAM 


'20,1 


13 


23100003 


BWI 


*-8 



HIGH SPEED PAPER TAPE BOOTSTRAP 



CU EQIV 



'100 



00 


00000000 


HLT 




01 


00030110 


TOB 


' 110 


02 


00700100 


OCW 


CU 


03 


00720100 


IDW 


CU 


04 


00140000 


COB 





05 


22200003 


BOZ 


*-2 


06 


63200004 


TNJ 


4 


07 


00420006 


LLA 


6 


10 


00724100 


IDW* 


CU 


11 


22600010 


BNZ 


*-l 


12 


23200007 


BWJ 


*-3 


13 


00240020 


CZA 




14 


22200020 


BOZ 


'20 


15 


15100020 


TAM 


'20,1 


16 


23100006 


BWI 


*-8 



7-TR. MAGNETIC TAPE BOOTSTRAP 



CU 



00 00000000 

01 62500406 

02 00700700 

03 62500012 

04 00714700 

05 05000016 

06 00700700 

07 22600006 

10 00730700 

11 22600010 

12 00110204 

13 00600020 

14 22600010 

15 21000020 

16 40036506 



EQIV 



HLT 
TOA 
OCW 
TOA 
OAW 
TMA 
OCW 
BNZ 
ISW 
BNZ 
PL QBB 

NOP DATA 
BNZ 
BUC 
CW DATA 



'700 



'406 

CU 

PL 

CU 

CW 

CU 

•-1 

CU 

*-1 

B7B2 

'00600020 

*-♦ 

'20 

'40036506 



9-TR. MAGNETIC TAPE BOOTSTRAP 



00 00000000 

01 62500406 

02 00700700 

03 62500012 

04 00714700 

05 05000016 

06 00700700 

07 22600006 

10 00730700 

1 1 22600010 

12 00110204 

13 00600020 

14 22600010 

15 21000020 

16 40034506 



CU 


EQIV 
HLT 


'700 




TOA 


'406 




OCW 


CU 




TOA 


PL 




OAW 


CU 




TMA 


CW 




OCW 


CU 




INZ 


*-1 




ISW 


CU 




BNZ 


*-l 


PL 


QBB 


B7B2 


NOP 


DATA 


•00600020 




BNZ 


*-4 




BUC 


'20 


CW 


DATA 


'40034506 



H-2