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