••••
••••
••••
••••
••••
••••
•••• •••• ••••
•••• •••• ••••
•••• •••• ••••
••••••••••••••••••
•••••••••••••••••A
••••••
••••
••••
••••
IBM System /3
Disk Systems
System Control Program
Logic Manual
Program Numbers 5702-SC1
5703-SC1
•••• •••••
••••* •••••••
•••••• ••••••••<
••••
••••
••••
•••• ••••
•••• ••••
•••• ••••
•••••••••• •••••
••••«••• ••••
••••
••••
••••
••••
•••••
•••••••
••••••••
•••••••
••••
••••
•••••••
••••••••
•••••••
•••••
••••
••••
••••
•••••
••••••
•••••••
•••••
•••••••
•••••••••
•••••••••••
•••• •••• ••••
•••• •••• ••••
•••• •••• ••••
••••••
••••••
••••••
••••••
••••
••••
••••
••••
••••
••••
••••
••••
••••••
••••••
••••••
••••••
This logic manual is intended for IBM support personnel
responsible for maintaining the system control programs
for IBM System/3 Disk System and IBM System/3 Model 6.
The system control programs include: Initial Program
Load Bootstrap Program, Nucleus Initialization Program,
Supervisors, Scheduler, Linkage Editor, and System
Generation.
Maintenance programs, data areas, and diagnostic aids are
also discussed.
This manual is intended to be a recall mechanism and a
guide to program listings. It is not intended to be used as
a coding or operating guide for the programs described.
•••• •••• ••••
•••• •••• ••••
•••• •••• ••••
•••••• •••• ••••••
•••••• ••••••
•••••• ••••••
•••••• ••••••
••••
••••
••••
••••
»••• ••••••
»••• ••••••
»••• ••••••
>••• ••••••
<• •••• ••••
••••• ••••
•••••• ••••
•••••••••••
»••••••• ••••••
»••••••• •••••
— >•••• ••••
Third Edition (March 1971)
This is a major revision of, and obsoletes, SY21-0502-1. The manual is now designed to
satisfy requirements of support personnel responsible for maintenance of the IBM
System/3 Disk System or the IBM System/3 Model 6.
This edition applies to version 03, modification 00 of IBM System/3 Disk System,
Program Number 5702-SC1, and IBM System/3 Model 6, Program Number 5703-SC1,
and to all subsequent versions and modifications until otherwise indicated in new
editions or Technical Newsletters. Changes are continually made to the specifications
herein; before using this publication in connection with the operation of IBM Systems,
consult the latest IBM System/3 Newsletter, Order Number GN20-2228 for the editions
that are applicable and current. (Although this is the first release of IBM System/3
Model 6, it is identified as version 03, modification 00 for purposes of compatibility
with the Model 10 Disk System.)
Requests for copies of IBM publications should be made to your IBM representative-
or to the IBM branch office serving your locality.
A form for reader's comments is provided at the back of this publication. If the
form has been removed, comments may be addressed to IBM Corporation,
Programming Publications, Department 425, Rochester, Minnesota 55901.
© Copyright International Business Machines Corporation 1970, 1971
Preface
This Program Logic Manual is designed to satisfy the docu-
mentation requirements of the support personnel responsible
for the maintenance of the IBM System/3 System Programs.
RELATED PUBLICATIONS
This publication references the following publications:
• IBM System/3 Disk System Operation Control Language
and Disk Utilities Reference Manual, GC21-7512.
• IBM System/3 Model 6 Operation Control Language and
Disk Utility Programs Reference Manual, GC21-7516.
• IBM System /3 Disk Systems Data Management and
Input/Output Supervision Logic Manual, SY2 1 -05 1 2.
• IBM System/3 Disk System Halt Procedure Guide,
GC21-7540.
• IBM System/3 Model 6 Halt Procedure Guide,
GC21-7541.
Part 1. Initial Program Load Bootstrap Program and Nucleus
Initialization Program
Part 2. Disk System Dedicated Supervisor .
Part 3. Disk System DPF Supervisor . . .
Part 4. Model 6 Supervisor
Part 5. Scheduler
Part 6. Transient and Scheduler Support . .
Part 7. Linkage Editor
Part 8. System Generation
Part 9. Maintenance Programs
Appendix A. Data Area Formats ....
Appendix B. Diagnostic Aids
Appendix C. Abbreviations and Terminology
Appendix D. Flowcharting Techniques . .
in
Contents
How This Manual is Organized ix
How the IBM System/ 3 Disk Systems are Organized . . xi
PART 1. INITIAL PROGRAM LOAD BOOTSTRAP
PROGRAM AND NUCLEUS INITIALIZATION
PROGRAM 1-1
SECTION 1. INTRODUCTION 1-3
System Requirements 1-3
SECTION 2. PROGRAM ORGANIZATION .... 1-5
Initial Program Load (IPL) Bootstrap Program-
Disk System 1-5
Initial Program Load (IPL) Bootstrap Program-
Model 6 1-5
Nucleus Initialization Program (IPLNIP)-Disk
System 1-5
Nucleus Initialization Program (IPLNIP)-Model 6 . . 1-6
SECTION 4. DIRECTORY 1-9
PART 2. DISK DEDICATED SUPERVISOR .... 2-1
SECTION 1. INTRODUCTION 2-3
System Requirements 2-3
SECTION! METHOD OF OPERATION 2-5
Load or Fetch With Find 2-5
Load or Fetch Only 2-5
Transient Requests 2-6
SECTION 3. PROGRAM ORGANIZATION .... 2-9
General Entry/Exit and Transient Area Scheduler
(NENTRY) 2-9
Resident Loader and Relocation Program (NLOADR) . 2-10
Local Storage Register Display Routine (LSR) . . . 2-10
Resident Dump Linkage (CDUMPD) 2-10
System Disk Read Routine (NREAD) 2-10
SECTION 4. DIRECTORY 2-17
PART 3. DISK DPF SUPERVISOR 3-1
SECTION 1. INTRODUCTION 3-3
System Requirements 3-3
SECTION 2. METHOD OF OPERATION 3-5
SECTION 3. PROGRAM ORGANIZATION .... 3-7
General Entry/Exit and Transient Area Scheduler
(NENTRY) 3-7
Resident Loader and Relocation Program (NLOADR) . 3-7
Resident Halt Display Routine (HPLNUC) .... 3-8
Terminator Interrupt Handler (INTLO) 3-8
SECTION 4. DIRECTORY 3-17
PART 4. MODEL 6 SUPERVISOR 4-1
SECTION 1. INTRODUCTION 4-3
System Requirements 4-3
SECTION 2. METHOD OF OPERATION 4-5
Load or Fetch With Find 4-5
Load or Fetch Only 4-5
Transient Requests 4-6
SECTION 3. PROGRAM ORGANIZATION .... 4-7
General Entry/Exil: and Transient Area Scheduler
(NENTRY) 4-7
Resident Loader and Relocation Program (NLOADR) . 4-8
Local Storage Register Display Routine (LSR) ... 4-8
Resident Dump Linkage (CDUMPD) 4-8
System Disk Read Routine (NREAD) 4-8
SECTION 4. DIRECTORY 4-9
PARTS. SCHEDULER 5-1
SECTION 1. INTRODUCTION 5-3
System Requirements 5-3
SECTION 2. METHOD OF OPERATION 5-5
Terminator 5-6
Reader/Interpreter 5-6
Conversational Reader/Interpreter 5-6
Disk System Reader/Interpreter Mainline ($$RDML) . 5-6
Initiator 5-7
SECTION 3. PROGRAM ORGANIZATION .... 5-11
1. Terminator 5-12
Terminator Initial Program Load (IPL) ($$TMIP) . . 5-12
Terminator End of Job-Phase One ($$TMEO) . . . 5-13
Terminator End of Job- Phase Two ($$TME J) . . . 5-13
Terminator Re-Initialization ($$TMRI) 5-14
Terminator Standby Routine ($$TMSB) 5-15
Terminator Sysin Initialization ($$TMSI) .... 5-16
Terminator Key Sort ($$TMSK) 5-17
Terminator Duplicate Key Scan ($$TMDS) .... 5-17
2. Reader/Interpreter for Model 6 (Conversational Mode) . 5-18
Conversational Scheduler Initializor ($$RBIP) ... 5-18
Scheduler Control ($$RBCO) 5-19
Build-Chained Cycle ($$RBBC) 5-20
Call Control ($$RBCC) 5-21
Call Cycle ($$RBCL) 5-22
Positional Statement Processor ($$RBCP) .... 5-23
Data Type Statement Processor ($$RBCD) .... 5-24
Keyword Type Statement Processor ($$RBCK) . . . 5-25
Modify ($$RBMY) 5-26
Procedure Library Scheduler Interface ($$RBM1) . . 5-27
Utility OCL Processor ($$RBM2) 5-27
Run Processor ($$RBRN) 5-28
Interaction Routine ($$RBIN) 5-29
Date/Switch ($$RBDS) 5-29
Switch Control Statement Processor ($$RBSW) . . 5-30
Date Scan ($$RBDT) 5-30
Log($$RBLG) 5-30
FORMS ($$RBFM) 5-31
HIKEY ($$RBHI) 5-32
3. Reader/Interpreter for Disk System 5-33
Reader/Interpreter Mainline ($$RDML) 5-33
// LOAD Control Card Processor ($$RDLD) . . . 5-33
//RUN Control Card Processor ($$RDRN) .... 5-34
//FILE Control Card Processor ($$RDFL) .... 5-35
// DATE Control Card Processor ($$RDDT) . . . 5-36
// SWITCH Control Card Processor ($$RDSW) . . . 5-37
//IMAGE Control Card Processor ($$RDIM) . . . 5-37
// COMPILE Control Card Processor ($$RDCM) . . 5-38
//FORMS Control Card Processor ($$RDFM) . . . 5-38
//LOG Control Card Processor ($$RDLG) .... 5-39
//PAUSE Control Card Processor ($$RDPS) . . . 5-40
// HALT, // NOHALT Control Card Processor
($$RDHN) 5-40
// READER Control Card Processor ($$RDRR) . . 5-41
// PARTITION Control Card Processor ($$RDPN) . . 5-42
// CALL Control Card Processor ($$RDCL) .... 5-43
Positional Parameter Syntax Scan Routine ($$RDS3) . 5-44
FILE Diagnostics and Merge Keyword Parameters
($$RDMK) 5-45
4. Initiator 5-46
Initiator Allocate- Phase One Routine ($$INA1) . . 5-46
Initiator Allocate- Phase Two ($$INA2) 5-47
Initiator Allocate- Phase Three ($$INA3) .... 5-48
Initiator Allocate- Phase Four ($$INA4) .... 5-49
Initiator Disk File Processor-Phase One ($$INPD) . . 5-50
Initiator Disk File Processor-Phase Two ($$INDF) . 5-50
Initiator Disk File Processor-Phase Three ($$INDC) . 5-51
Initiator Disk File Processor-Phase Four ($ $INDS) . 5-5 1
Initiator Program Setup-Phase One ($$INPS) . . . 5-52
Initiator Program Setup-Phase Two ($$INP2) . . . 5-52
Initiator Allocate-Support Routines ($$INMS) . . 5-53
Convert Records to Tracks 5-53
Determine Size of Index 5-54
Track Apportioning 5-54
Track Conversion 5-54
Set Bits Routine 5-54
Possible Allocation Fit 5-54
SECTION 4. DIRECTORY 5-183
PART 6. TRANSIENT AND SCHEDULER SUPPORT . 6-1
SECTION 1. INTRODUCTION . . 6-3
SECTION 2. PROGRAM ORGANIZATION .... 6-5
System Input Device -Console ($$STIQ 6-5
System Input Device-MFCU/ 1442 ($$STIM) ... 6-5
Model 6 System Input Device- Key board/Printer
($$STIP, $$STIS) 6-6
Model 6 System Input Device-Data Recorder
($$STID) 6-6
Model 6 System Input Device-CRT ($$STIT,
$$STIX) . . ; 6-7
System Output Printer Error Recovery ($$STEP) . . 6-7
Halt/Syslog-Console Printer ($$STOC) 6-7
Halt/Syslog-Printer ($$STOP) 6-7
System Halt Transient ($$STOH) 6-8
Model 6 Printer Syslog Error Recovery Procedures
Routine ($$STP6) 6-8
Halt/Syslog-Halt Code Conversion Routine
($$STOK) 6-8
Model 6 Halt/Syslog Halt Routine-Keyboard
($$STOS) . 6-10
Model 6 Halt/Syslog Routine-Matrix Printer
($$STOM) 6-10
Model 6 Halt/Syslog Routine-Output Only, Matrix
Printer ($$STON) 6-10
Model 6 Halt/Syslog Halt Routine-CRT ($$STOT) . 6-10
Model 6 Halt/Syslog Routine-CRT On and Off
Transient ($$ST0X) 6-10
Model 6 Halt/Syslog Scheduler Error Message
Routine ($$SLSE, $$SLS1) 6-10
Scheduler Work Area-Get ($$SSGT) 6-11
Scheduler Work Area-Put ($$SSPT) 6-12
Scheduler Work Area-Read/Write ($$SSSC) . . . 6-13
Volume Table of Contents- Read/Write ($$SSVT) . . 6-14
Rollin-PhaseOne($$STRI) 6-15
Rollin-Phase Two ($$STRN) 6-15
Rollout-Phase One ($$STRO) 6-15
Rollout-Phase Two ($$STRU) 6-15
Rollout-Phase Three ($$STRT) 6-15
Disk System System List-Print ($$SYP1) .... 6-16
Model 6 System List-Print ($$SYP2) 6-16
Disk System System List-Print/Punch ($$SPC1) . . 6-17
Model 6 System List-Punch Routine ($$SPC2) . . 6-18
Source Library Get ($$SYSG) 6-19
Find Transient ($$SPFN) 6-19
Allocate Initiator ($$ ST AI) 6-20
LOAD* Mainline ($$SYLA) . 6-21
End of Job Transient ($$SPEJ) 6-21
End of Job-Disk Status ($$TMST) 6-22
Copy Main Storage to Source Library ($$SYSP) . . 6-22
Resource Allocation-Phase One ($$STR1) .... 6-23
Resource Allocation-Phase Two ($$STR2) .... 6-23
Transient Resolver ($$OXRF) 6-23
Allocate Terminator ($$INAT) 6-24
System Queue Routine ($$STNQ) 6-24
Halt/Syslog Parameter Build Routine ($$STHB) . . 6-25
Keyword Syntax Scan Routine ($$RDS1) .... 6-25
Transient Resolver No-Op Routine ($$ODNP) . . . 6-26
HIKEY Transient ($$STF7) 6-26
HIKEY Parameter Scan Routine ($$RDHK) . . . 6-27
Model 6 Logical Put Routine ($$RBLP) 6-27
Model 6 Syntax Checker ($$RBSX) 6-28
Model 6 Syntax Checker Interface ($$RBSI) . . . 6-29
Model 6 Library Interaction Routine ($$RBLI) . . . 6-29
SECTION 3. DIRECTORY 6-111
PART 7. LINKAGE EDITOR 7-1
SECTION 1. INTRODUCTION 7-3
Control Records-Input to the Linkage Editor .... 7-3
PHASE Control Records 7-3
INCLD Control Records 7-4
ENTRY Control Record 7-4
OPTNS Control Record 74
Source Records-Input to the Linkage Editor .... 7-5
External Symbol List (ESL) Input Records .... 7-5
TEXT-RLD Input Records 7-5
END Input Record 7-5
Output From the Linkage Editor 7-6
System Requirements 7-6
SECTION 2. METHOD OF OPERATION 7-7
PASS1 Root Phase ($LINKB) 7-8
INCLD and ENTRY Control Record and AUTOLINK
Processor ($LINKC) 7-8
TEXT-RLD and END Control Records Processor
($LINKD) 7-10
ESL and OPTNS Control Record Processor
($LINKE) 7-11
PHASE Control Record Processor ($LINKF) ... 7-11
External Symbol List (ESL) Table -Process Phase
($LINKM) 7-12
PASS2 Root Phase ($LINKG) 7-12
Error and Overlay Fetch Table-Print Phase ($LINKK) . 7-12
Punch Processor ($LINKN) 7-12
SECTION 3. PROGRAM ORGANIZATION .... 7-13
PASSl-Root and Initialization Phase ($LINKB) . . 7-13
PASS 1 -INCLD and ENTRY Control Record and
AUTOLINK Processor ($LINKC) 7-14
PASS 1 -TEXT-RLD and END Record Processor
($LINKD) 7-14
PASS 1 -ESL and OPTNS Record Processor ($LINKE) . 7-15
PASS1-PHASE Control Record Processor ($LINKF) . 7-15
PASS2-Root Phase ($LINKG) 7-16
PASS2-TEXT-RLD Conversion Phase ($LINKH) . . 7-17
PASS2-Directory Build Phase ($LINKJ) .... 7-17
Error and Overlay Fetch Table-Print Phase ($LINKK) . 7-18
External Symbol List (ESL) Table-Process Phase
($LINKM) 7-18
Punch Output Processor ($LINKN) 7-18
SECTION 4. DIRECTORY 7-55
PART 8. SYSTEM GENERATION 8-1
SECTION 1. INTRODUCTION 8-3
Disk System 8-3
Model 6 System 8-3
Control Records Used by System Generation .... 8-4
LINK- Definition Header Record 8-4
MEND-LINK-Definition End Record 8-4
Keyword Prototype Record 8-4
System Configuration Statement 8-5
TABLE Record 8-6
TABLE Definition Record 8-6
TEXT Record 8-6
AGO Record-Unconditional Branch 8-6
ANOP Record- Assembly No Operation 8-6
AIF Record-Conditional Branch 8-6
GBLB or LCLB Set Records 8-8
SETB Record-Set Binary 8-8
Comment Records 8-8
MEXIT Record-Link-Definition Exit 8-8
MNOTE Record 8-8
Model Records 8-8
System Residence Disk Pack Organization 8-9
System Requirements 8-10
SECTION2. METHOD OF OPERATION 8-11
SECTION 3. PROGRAM ORGANIZATION .... 8-13
System Generation 8-13
Keyboard Selection Routine ($SGKBD)-Model 6
System Routine Only 8-13
Co-Resident System Analyzer ($SGBSV)-Model 6
System Routine Only 8-13
System Generation-Phase One ($SGEN for the Disk
System, $SGENB for the Model 6 System) . . . 8-14
System Generation-Phase Two ($SGEN1) .... 8-15
System Generation Error Note Processor ($SGNOT) . 8-15
Pre-Processor Routines 8-16
Pre-Processor Ms inline-Phase One ($SGROC) . . . 8-16
Pre-Processor Mainline-Phase Two ($SGMN1) . . . 8-16
Pre-Processor Mainline-Phase Three ($SGMN2) . . 8-17
Pre-Processor Mainline-Phase Four ($SGMN3) . . . 8-18
Get Variable Symbol Routine ($SGGSY) .... 8-18
Variable Symbol Table-Find/Build Routine
($SGVST) 8-18
Variable Symbol Table- Value Build Routine
($SGGVA) 8-19
Number-Check/ Build Routine ($SGNCB) .... 8-19
Character String -Check/Build Routine ($SGCSB) . . 8-20
Read Pre-Processor Statement Routine ($SGRED) . . 8-20
Link Statement Processor ($SGSTM) 8-20
Prototype Statement Processor ($SGROT) .... 8-20
Key word Operand Processor ($SGOPR) 8-21
AIF Statement Processor ($SGAIF) 8-21
Model Statement Build Routine ($SGMST) .... 8-21
Subfield Analyzer ($SGSUB) 8-22
Model Statement Output Processor ($SGOUT) . . . 8-22
Table Statement Processor ($SGTBL) 8-22
Table Definition Processor ($SGDEF) 8-22
AGO Statement Processor ($SGAGO) 8-23
MNOTE Statement Processor ($SGNTT) .... 8-23
SETB Statement Processor ($SGSET) 8-24
Global and Local Statement Processor ($SGGBL) . . 8-24
IPL Bootstrap Modify ($SGPRI)-Model 6 Only . . 8-24
System Verification Message Routine ($SGIVP) . . 8-24
SECTION 4. DIRECTORY 8-59
PART 9. MAINTENANCE PROGRAMS 9-1
SECTION 1. INTRODUCTION 9-3
SECTION 2. PROGRAM ORGANIZATION .... 9-5
Field Engineering Maintenance Program ($SGPTF) . . 9-5
PTF Logging Program ($SGPTG) 9-6
System Maintenamce ($SGMNT) 9-6
APPENDIX A. DATA AREAS A-l
DISK SYSTEM DEDICATED SUPERVISOR DATA
AREA FORMATS A-3
Supervisor Entry Points A-3
Transient Area A-3
Chain Image Area A-3
System Communication Regjon-NCPLl .... A-3
Program Level Communication Regjon-NICOMN . . A-3
MODEL 6 SUPERVISOR DATA AREA FORMATS . . A-9
Supervisor Entry Points A-9
Transient Area A-9
Keyboard Translate Table A-9
System Communication Regjon-NCPLl .... A-9
Program Level Communication Regjon-NICOMN . . A-ll
SCHEDULER DATA AREA FORMATS A-15
Configuration Record A-15
Volume Label A-19
Scheduler Work Area (SWA) A-19
Volume Table of Contents- VTOC A-26
System Communication Region A-28
Program Level Communication Region A-28
Reader/Interpreter Work Area (RDIWA) A-28
Initial Halt/Sy slog Parameter Table A-31
HALT/SYSLOG Parameter Table Three ($$STH2) . . A-34
HALT/SYSLOG Parameter Table Four ($$STH3) . . A-35
HALT/SYSLOG Parameter Table Five ($$STH4) . . A-36
Call Common Area A-37
Scheduler Control Table A-38
LINKAGE EDITOR DATA AREA FORMATS .... A-41
PASS1 Communication Region (COMMON) ... A-41
PASS2 Communication Region (COMMON) . . . A-42
Input/Output Buffer (BUFFER) A-44
Error Table (ERRTAB) A-44
Print Buffer (PRTBUF) A-44
External Symbol List (ESL) Table (ESLTAB) . . . A-45
Text Work Area (TXTWRK) A-45
Relocation Directory (RLD) Work Area (RLDWRK) . A-45
Language Translator Output Work Area ($WORK) . . A-45
Object Library Directory A-46
RPG Overlay Fetch Table A-47
SYSTEM GENERATION DATA AREA FORMATS . . A-49
Pre-Processor Communication Region (RDPARM) . . A-49
Pre-Processor Statement Input Buffer (BUFFR1) . . A-51
Statement Save Area (SVPROT) A-51
System Generation Communication Region
(COMMON) A-51
Pre-Processor Switch Area (SWADR) A-52
Input Work Area (INBUF) A-52
Output Work Area (OUTBUF) A-53
Variable Symbol Table A-53
Source Library A-53
Translate Table 1 -Domestic (English) a-55
Translate Table 2- Austria/Germany A-56
Translate Table 3 -Belgium/France A-57
Translate Table 4 -Denmark A-58
Translate Table 5 -Norway A-59
Translate Table 6 -Finland/ Sweden A-60
Translate Table 7-Spain A-61
Translate Table 8 -Brazil/Portugal A-62
Translate Table 9 -United Kingdom A-63
APPENDIX B. DIAGNOSTIC AIDS B-l
Current Phase Identification Procedure B-2
Main Storage Dump (Phase Identification) .... B-2
Console Address/Data Switches (Phase Identification) . B-2
Halt/Syslog Procedure B-3
Setting Up Halt/Syslog Device for Logging .... B-3
Calling Halt/Syslog Routine B-3
Halt/Syslog Parameter Formats B-4
Format of the Output from Halt/Syslog B-7
Local Storage Register Display Procedure B-8
Tracing the Transient Queue B-8
Storage Dump Selection Procedure B-10
Disk System B-10
Model 6 B-10
Linkage for the Storage Dump Routines B-l 1
Disk System B-ll
Model 6 B-ll
Dump Selection Routine (DMPFND) B-ll
Main Storage Dump Routine (DUMPPG) (Option 0) . B-l 1
DTF Dump Routine ($$SPDF on the Disk System,
$$SPD3 on Model 6) (Option 1) . B-ll
Disk Storage Dump Routine ($$SPD4 on the Disk
System, $$SPD2, Model 6) (Option 2) B-12
Dump Format Routine ($$SPD1, Disk System,
$$SPD0, Model 6) B-13
Request Indicator Byte (RIB) B-14
The RIB Fetch/Trace Procedure B-16
RIB Fetch/Trace Routine ($$FTRC) B-l 7
Program Temporary Patch Program ($SGFIX) ... B-l 7
Program Temporary Patch ($SGFIX) Description and
Procedures B-26
HDR O program name,unit B-26
PTF Module Identification B-26
DATA Disp,chkbyte,hh,hhhh,hhhhR B-26
END B-26
/* B-26
Procedures for Running $$SGFIX B-27
Maintenance Program Procedure B-27
Disk System B-27
Model 6 B-27
System Generation '1 Halt Procedure B-28
GM'lHalt B-28
GG'lHalt B-30
GS'lHalt B-31
System Halts and the Modules that can Issue Them . . B-31
Error Messages B-42
Table of Light Identifiers B 45
Disk System B-45
Model 6 B-45
Reader/Interpreter CR96 Error Procedure B-46
APPENDIX C. ABBREVIATIONS AND
TERMINOLOGY C-l
APPENDIX D. FLOWCHARTING TECHNIQUES ... D-l
Hit?!
HOW THIS MANUAL IS ORGANIZED
This publication is comprised of nine parts and four appendices. Except as noted under
Deviation, each of the parts is divided into four sections:
• Section 1 - Introduction contains general information about the functions and
characteristics of the program.
• Section 2 - Method of Operation describes the data and functional flow of the
program in general terms, emphasizing the use of the data areas.
• Section 3 - Program Organization describes the organization of each routine using
narrative, flowcharts and diagrams. Flowcharts are designed to provide convenient
entry into the program listings.
• Section 4 - Directory is included as a quick-reference guide to the information con-
tained in the logic manual. Information in this section includes the following:
Module/Phase Name
Chart ID
Descriptive Name
Entry Point
Function
Deviations
• Part 1 , Initial Program Load Bootstrap Program and Nucleus Initialization Program,
does not contain a Method of Operation section.
• Part 6, Transient and Scheduler Support, does not contain a Method of Operation
section.
• Part 9, Maintenance Programs, does not contain a Method of Operation section or a
Directory.
liPi
§1111
SI***:*:**
mm
mm
lills
HOW THE IBM SYSTEM/3 DISK SYSTEMS
ARE ORGANIZED
The following chart illustrates:
• The sequence in which the major system programs are called.
• How the system programs are related to the User's programs.
• The IBM System/3 publications associated with the functions
being described.
SlsiliS
•m t ? *
III!
•3
WM
«c
PROGRAM
LOAD
z
System circuitry loads
and executes Initial
Program Load Bootstrap
Routine
I PL Bootstrap
Routine
Part 1
I
Loads Nucleus
Initialization
Program
A~|
Nucleus
Initialization
Program (IPLNIP)
Part 1
I
Assembler (l)
or Ci*
RPG Compiler ?y
Initializes registers
Builds Transient Table
Loads Supervisor
Supervisor
Parts 2, 3, and 4
I
Scheduler
Terminator
Parts 5 and 6
I
Completes
initialization
Handles program ^.^
and data file requests (i)
Initializes system
data areas
Scheduler
Reader/
Interpreter
Parts 5 and 6
I
Scheduler
Initiator
Parts 5 and 6
0or(5j
Terminates control
of completed program
Reads OCL records
(Model 6 can use
Conversational Mode)
Initializes common
areas
Transfer control to
Initiator to RUN
Loads program
to be executed
Opens files, (l)
allocates devices
and files
Related Logic Manuals:
Builds object
program code
from source
statements
Links separate
source modules
together into
object modules
Customer programs
Card or disk utilities (f)(5)
Disk Sort (7)
System Generation, Part 8
Maintenance programs
Part 9
Overview of System/3 Disk and Model 6
Programming Systems. Part numbers
refer to sections of this manual. Circled
numbers refer to Related Logic Manuals.
Ref.
No.
Form
Number
Title
©
LY21-0504
IBM System/3 Disk System Basic
Assembler Program Logic Manual
©
LY21-0501
IBM System/3 Disk System RPG 1 1
Compiler Logic Manual
©
LY2 1-0511
IBM System/3 Model 6 RPG II
Compiler Logic Manual
©
LY21-0523
IBM System/3 Disk System Card
Utilities Logic Manual
©
SY2 1-0503
IBM System/3 Disk Utility
Program Logic Manual
©
SY21-0512
IBM System/3 Disk Systems DM
and I OS Program Logic Manual
©
LY21-0517
IBM System/3 Disk Sort Program
Logic Manual
nyi
mm
n^
PART 1.
INITIAL PROGRAM LOAD BOOTSTRAP PROGRAM
AND NUCLEUS INITIALIZATION PROGRAM
jSS£5£¥:¥gg
Sffi
W8$$i
WM
Initial Program Load Bootstrap Program and Nucleus Initialization Program 1-1
1-2
Section 1. Introduction
The Initial Program Load (IPL) process loads the user's pro-
gramming system into main storage. The user selects the
disk (Fl or Rl) from which his system is to be loaded.
When the PROGRAM LOAD key on the Disk System is
pressed, or the PROGRAM LOAD switch on Model 6 is set,
system hardware loads the IPL Bootstrap Program from
disk, placing it at location X'0000'. The IPL Bootstrap
Program then loads the Nucleus Initialization Program
(IPLNIP) and passes control to it. IPLNIP then loads and
passes control to the Supervisor program at X'0380\
SYSTEM REQUIREMENTS
The system requirements for the IPL process are :
Disk System
• One 5203 Line Printer
• One 5410 Processing Unit (Model A 13)
• One 5444 Disk Storage Drive (Model 2)
Model 6
• One 5213 Matrix Printer
• One 5406 Processing Unit with Keyboard
• One 5444 Disk Storage Drive (Model 2)
I
Introduction 1-3
1-4
Section 2. Program Organization
► Initial Program Load (IPL) Bootstrap Program— Disk
System
CHART: None
ENTRY POINT: IPLSRT
FUNCTIONS:
— This routine is automatically read into main storage
at location X'0000' after the user presses PROGRAM
LOAD.
— IPL Bootstrap then relocates itself to location
X'1200\
— This routine then loads the Nucleus Initialization
Program (IPLNIP) at location X'1800\
INPUT: None
OUTPUT: System Q code passed to IPLNIP
EXITS: Control is passed to location X'l 800'.
► Initial Program Load (IPL) Bootstrap Program— Model 6
CHART: None
ENTRY POINT: IPLSRT
FUNCTIONS:
— This routine is automatically read into main storage
at location X'0000' after the user presses PROGRAM
LOAD.
— IPL Bootstrap then relocates itself to location
X'l 200'.
— IPL Bootstrap determines whether DSM or BASIC
system is being used.
— IPL Bootstrap loads DSM IPLNIP at location
X'l 800'; loads BASIC IPLNIP at location X'0000'.
INPUT: None
OUTPUT: System Q code passed to IPLNIP
EXITS:
— Normal: To X'l 800' for DSM system
To X'0000' for BASIC system
— Error: Halt '1245' if a permanent disk error occurs
► Nucleus Initialization Program (IPLNIP)— Disk System
CHART: AA
ENTRY POINT: IPLNIP
FUNCTIONS:
— Obtains the Q code from the IPL bootstrap program.
— Searches the system directory for the disk locations
of the transient routines.
— Loads the correct parity into all registers.
— Builds a table of the cylinder and sector addresses
for each system transient.
— Locates and loads the requested supervisor (DPF or
dedicated).
— Loads the supervisor communication regions with
transient addresses.
— Reads in the configuration record.
— Determines status of disk writer switch; if on, a halt
of '#0' is displayed on the console stick lights.
— Writes out the dump program (DUMPPG) from
X'100' to cylinder 0, sector DO on Fl.
— Branches to X'0380' to clear main storage.
INPUT:
— Q code from IPL bootstrap program
— System configuration record
— System directory
OUTPUT:
— System Q code located at NCSYSQ within the sys-
tem communication region
— Table of cylinder and sector addresses of the transient
routines, loaded into the supervisor communication
region
— Core size is passed to the supervisor
EXITS:
— Normal: To supervisor at X'0380'
— Error: Halt of '#0' is displayed on the console stick
lights
I
Program Organization 1-5
► Nucleus Initialization Program (IPLNIP)-Model 6
CHART: AB
ENTRY POINT: IPLNIP
FUNCTIONS:
— Obtains the Q code from the IPL bootstrap program.
— Searches the system directory for the disk locations
of the transient routines.
— Loads the correct parity into all registers.
— Builds a table of the cylinder and sector addresses for
each system transient.
— Locates and loads the supervisor.
— Loads the supervisor with transient addresses.
— Reads in the configuration record.
— Determines status of disk writer switch; if on, a halt
of '1245' is displayed on the halt display lights.
— Writes out the dump program (DUMPPG) from
X'100' to cylinder 0, sector DO on Fl.
— Branches to X'0380' to clear main storage.
INPUT:
— Q code from IPL bootstrap program
— System configuration record
— System directory
OUTPUT:
— System Q code located at NCSYSQ within the system
communication region
— Table of cylinder and sector addresses of the transient
routines, loaded into the supervisor communication
region
— Core size is passed to the supervisor
EXITS:
— Normal: To supervisor at X'0380'
— Error: Halt of '1245' is displayed on the halt display
lights
1-6
IPLHIP
****A1*********
* 4
* ENTER 4
* i
***************
♦PICK UP SYSTEM *
* Q CODE FROM *
* X'OOFF" *
* *
*****************
AA/01/ftl*
*****C1**********
♦IPREAD *
*****************
*****D1 **********
* *
♦INITIALIZE IOB ♦
* WITH C/S OF ♦
♦OBJECT LIBRARY *
* *
*****************
* E1 *->
* *
****
IP010
*****E1** ********
♦ SEARCH ♦
♦ DIRECTORY FOB ♦
♦$$SPVR AND ALL *
♦ SYSTEM *
* TRANSIENTS *
*****************
J
A2 *.
.♦ ♦.
DISK
->♦. WRITE
.SWITCH ON.
♦. .♦
♦. .*
* YES
► A2 «
y *
****
V AA/01/AU
*****B2 **********
♦IPREAD *
♦WRITE OUT DOMP *
* *
*****************
****C2** *******
► i
► EXIT *
K 4
***************
TO: X'0380'
BA/01/A1
*****\3 **********
♦NENTBY ♦
*****************
♦***B3*********
► 4
* EXIT *
* 4
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
IPREAD
****A4*********
* *
* ENTER *
* 4
***************
*****BI| **********
*****************
♦ ♦DIODSP IOS * *
♦ *READ/ WRITE* *
*****************
. *.
D"» *.
. ♦ ♦.
* READ OR *.
WRITE ERROR .
••. .*
IPREND
****E4*********
* 4
* RETURN *
* 4
***************
TO: CALLER
****D5 *********
* HALT/SYSLOG *
->♦ DISPLAY • 0» *
* *
***************
****
H 4
► E1 t
► 4
****
' AA/01/JU
♦READ DEDICATED ♦
♦SUPV INTO MAIN ♦
♦ STORAGE *
*****************
IP110
**«**H1 **********
* INITIALIZE ♦
* NUCLEUS. LOAD ♦
* ALL REGISTERS *
* TO ENSURE *
* PARITY *
*****************
7 AA/01/A4
**«**J1**********
♦IPREAD ♦
* *
♦ READ *
♦ CONFIGURATION ♦
♦ RECORD ♦
*****************
*****K1**********
*****************
I****
* *
->* A 2 ♦
* *
*•**
Chart AA. Nucleus Initialization Program (IPLNIP)-Disk System
Program Organization 1-7
IPLNIP
****A1*********
* *
* ENTEB *
* *
***************
IPREAD
****A3*********
* ENTER *
* *
***************
♦PICK UP SYSTEM *
* Q CODE FROM *
* X'12FF' *
* *
*****************
" AB/01/A3
*****C\ **********
♦IPHEAD *
*****************
*****g 3 ******!■**•
*****************
* *DIODSP-IOS * *
* *READ/HRITE * *
* * * *
* * * *
*********** ******
*****D1 **********
* *
♦INITIALIZE IOB *
* WITH C/S OF *
* OBJECT LIB *
* *
*****************
* El *->
* * I
**** I
IP010 V
*****£1**** ******
* -SEARCH *
* DIRECTORY FOH *
*$$SPVR AND ALL *
* SYSTEM *
* TRANSIENTS *
*****************
IPREND
V
****E3*********
* *
* RETURN *
* *
***************
TO: CALLER
****nn* ********
* HALT DISPLAY *
>* '0' *
* *
***************
' AB/01/A3
* READ MODEL 6 *
♦SUPV INTO MAIN *
* STORAGE *
*****************
V AB/01/A3
*****H1**** ******
♦IPREAD *
* *
* READ *
* CONFIGURATION *
* RECORD *
*****************
IP110
*****j1**** ******
» INITIALIZE ♦
* NUCLEUS-LOAD *
* ALL REGISTERS *
* TO INSURE ♦
* PARITY *
*****************
*»**K1*********
t *
► EXIT *
k *
***************
Chart AB. Nucleus Initialization Program (IPLNIP)-Model 6
1-8
Section 4. Directory
Figure 1-1 contains the directory entries for IPL Bootstrap
and IPLNIP.
Module
Name
Chart ID
Descriptive Name
Entry
Point
Function
IPLBOT
IPLNIP
none
AA for Disk system
AB for Model 6
Initial Program Load
Bootstrap Program
Nucleus Initialization Program
IPLSRT
IPLNIP
Reads in IPLNIP
• Loads supervisor
• Determines transient addresses
• Loads registers with correct parity
Figure 1-1. IPLBOOT and IPLNIP Directory
Directory 1-9
1-10
E
PART 2.
DISK DEDICATED SUPERVISOR
?£££&
I-: A
Disk Dedicated Supervisor 2-1
2-2
Section 1. Introduction
The Dedicated Supervisor provides six functions:
• Locates, loads and passes control to modules
• Contains and coordinates the use of the transient area
• Provides system and program level communication
regions
• Contains resident dump linkages
• Provides a general entry/exit routine
• Contains Disk IOS linkages. (This is discussed in the
IBM System /3 Disk Systems Data Management and
Input I Output Supervisor Logic Manual, SY2 1-0502.)
SYSTEM REQUIREMENTS
The system requirements for the Dedicated Supervisor are:
• One 5203 Line Printer
• One 5410 Processing Unit (Model A 13)
• One 5410 MFCU
• One 5444 Disk Storage Drive (Model 2)
Introduction 2-3
2-4
Section 2. Method of Operation
After the Dedicated Supervisor has been loaded into main
storage, it will accept any of four types of user requests.
• Request for general entry
• Request for dump program
• Request for IOS program
• Request for IOS Wait program
These requests go through a LOAD IAR at the following
fixed locations:
X'OO' - Dump linkage
X'04' - General entry
X'08' - IOS
X'OC - IOS Wait
Most user requests will go to general entry (NENTRY),
X'04' (Figure 2-1). General Entry saves the system linkages
and register 1 along with the caller's return address. The
user's request is then analyzed. The request can be one of
seven types:
• Load with find
• Load only
• Fetch with find
• Fetch only
• Transient request
• Fetch to address
• Fetch to address with find
LOAD OR FETCH WITH FIND
Upon receiving this request, a request indicator byte (RIB)
is set for a find condition. The requested module is located
and control is passed to the Loader and Relocation program
(NLOADR). NLOADR moves the specified module into
main storage and, if required, adds a relocation factor to the
module's address. Control is then passed to one of two
locations:
1 . If the module was moved using a fetch request, con-
trol is passed to the General Exit routine. The Gen-
eral Exit routine (1) restores register 1, (2) restores
system linkages, and (3) passes control to the routine
that was fetched into main storage.
2. If the module was moved using a load request, con-
trol is passed to the General Exit routine located
within NENTRY. The General Exit routine restores
register 1 , restores system linkages, and returns con-
trol to the calling routine.
LOAD OR FETCH ONLY
If a load or fetch only request is received, control is passed
directly to the Loader and Relocation program (NLOADR).
NLOADR moves the requested module into main storage
and adds a relocation factor to the module's addresses if re-
quired. Control is then passed to one of two locations:
1 . If the module was moved using a fetch only instruc-
tion, control is passed via the General Exit routine to
the routine that was fetched into main storage.
2. If the request was a load only, control is passed to
caller.
Method of Operation 2-5
TRANSIENT REQUESTS
Upon receiving a request for a transient, the transient area
is indicated as busy. The requested transient address (cylin-
der/sector number) is placed in the active transient ID, and
the requested transient is then moved into the transient area
(located in main storage at location X'100'). Control is then
passed to the loaded transient. Any active transient can is-
sue three types of requests depending upon the stage of
completion:
1 . Embedded transient request: The transient is not
through processing and would like to bring another
transient into main storage. Control is passed to the
Transient Area Scheduler (NENTRY) where the ad-
dress of the calling transient is placed on a transient
queue (NXQUE). The requested transient is then
loaded into main storage; and control is passed to the
transient, then back to the Transient Area Scheduler
(see arrows 1 and 3 of Figure 2-1).
2. Load next transient: The transient is through process-
ing and would like to pass control to another transient.
Control is passed back to the Transient Area Scheduler
(NENTRY) and the requested transient is loaded into
main storage at X'100'. Control is then passed to it.
3. Exit from transient: The transient has completed its
processing and would like to return to its caller. Con-
trol is passed to the Transient Area Scheduler located
within NENTRY. If the transient queue is empty,
control is passed to the General Exit routine, located
within NENTRY; otherwise control is passed to the
transient located in level number one, of the queue.
The following example of the transient queue illustrates
the four queue levels. This queue is located at the label
NXQUE.
Total of 7 bytes per level
Level Number 4 on Q
Level Number 3 on Q
Level Number 2 on Q
Level Number 1 on Q
c
s
#
XR1
Next sequential instruction
c
s
#
XR1
Next sequential instruction
c
s
#
XR1
Next sequential instruction
c
s
#-
XR1
Next sequential instruction
The transients are loaded into and removed from the tran-
sient queue via level one. See Appendix B. Diagnostic Aids
for the procedure for tracing the transient queue.
2-6
Main Storage
Location
c
Entry
For The Following
Request;:
• Load With Find
• Load Only
• Fetch With Find
• Fetch Only
• Transient
• Dump Program
• IOS
• IOS Wait
System
Entry
Points
X'08' *
X'OC ^
X'OO' *
X'04'
Input/Output System
Program (IOS)
Input/Output System
Wait Program
Dump Program
(Chart BC)
\ N
System and Program
Communication Data Areas
TT
NENTRY
Main Storage
X'100'
General Entry
• Save Register 1
• Save System
Linkages
• Save Caller's
Return Address
(Chart BA)
tk
E
Transient Area Scheduler
Transient Area
Control Is Passed To
The Transient That Was
Moved Into This Area
This Transient Can
Issue A Request For
(1) An Embedded
Transient (Control
Is Passed Back To
This Calling Transient)
Or (2) A Transient That
Will Receive Control
After This Transient
Has Finished Processing
(3) Exit After Processing
Embedded
Transient
■©-►
Load Next
Transient
■©-►I
Exit from
Transient
Load With Find
• Locate Requested
Module
Load Only
Fetch With Find
• Locate Requested
Module
Fetch Only
Transient Request
• Set Transient Area
Busy
• Place Requested
Transient C/S/# In
Active Transient ID
• Move Requested
Transient Into Main
Storage
Place Calling
Transient On
Transient Queue
Set Up For Loading
Requested Transient
The Transient In
Transient Area
Has Completed Its
Function
Set Up To Load
First One On Queue
Restore Register 1
Test Queue
Queue
Not
Empty
Empty wm
ttf
Generate Exit
Restore Reg 1
Return Control
To Caller
NLOADR
Loader and
Relocation
Program
(Chart BB)
Move Module
Into User's
Main Storage
Relocate
Module If
Required
^i-mtim
x.
illfiiiai
'■■■■■ mm. mi ■VmViVi , V ><
Load
Fetch
Pass Control
To Module
Fetched Into
Storage
Figure 2-1. Functional Flow of the Dedicated Supervisor
Method of Operation 2-7
2-8
Section 3. Program Organization
The following section describes in detail the organization
of the Dedicated Supervisor routines shown in Figure 2-1 .
Included in the following descriptions are:
• Explanation of routine containing: name of routine,
input, output, function, exits from this routine.
• Main storage map showing the routines that might be in
main storage at the same time as the routine being
described.
• Flowchart showing the functional flow of the routine
being described.
► General Entry/Exit and Transient Area Scheduler
(NENTRY)
CHART: BA
FIGURE: 2-2
ENTRY POINT: NENTRY
FUNCTION:
— General Entry functions are to save:
1 . System registers
2. System linkages
3. Caller Is return address
— Transient Area Scheduler performs the following:
1 . Analyzes requests for transients.
2. Locates the corresponding transient routine.
3. Retrieves the specified routine from disk storage.
4. Passes command as requested.
5. Tests to find if the Loader and Relocation pro-
gram (NLOADR) was requested:
a. If requested, control is passed to NLOADR.
b. If not requested, control is passed to the
General Exit.
— General Exit restores system registers and linkages and
passes control to the calling routine.
EXIT:
— Normal: Calling program or passed to the program
called.
— Error: A halt 'tyl' is issued if there are too many
(five or more) transients on queue.
X'000'
Entry Point Linkage
Sysin History
Common DCs
System Read Routine (NREAD)
System Communication Region
Resident Dump Linkage (CDUMPD)
LSR Store/Display Routine
X'100'
Transient Area
X'400'
Chain Image
Program Level Communication Region (Level 1)
General Entry and Transient Area Scheduler
(NENTRY)
Resident Loader (NLOADR)
Disk Input/Output Supervisor
3K
Console Interrupt Handler (Optional)
User's Main Storage
E
Figure 2-2. Main Storage Map for General Entry/Exit and
Transient Area Scheduler (NENTRY) for Dedicated
Supervisor
Program Organization 2-9
Resident Loader and Relocation Program (NLOADR)
Resident Dump Linkage (CDUMPD)
CHART: BB
FIGURE: 2-2
ENTRY POINT: NLOADR
FUNCTION:
— The Resident Loader loads the requested routines by
using a fetch or a load RIB request.
— The Relocation program adds a relocation factor to
the loaded program and passes control to the General
Exit routine
INPUT: Register 1 contains the address of the program
level communication region.
OUTPUT: The requested module is loaded as specified by
the caller's request indicator byte (RIB). See Ap-
pendix B. Diagnostic Aids for RIB procedure.
EXIT:
— Normal:
1 . After issuing a load request, control is passed
to the General Entry/Exit routine (NENTRY)
which in turn passes control to the caller.
2. After issuing a fetch request, control is passed
to the General Entry /Exit routine (NENTRY)
which in turn passes control to the program
that was fetched into main storage.
— Error: A halt of'tyl' is issued if the requested load
is outside of the partition boundaries.
CHART: BC
FIGURE: 2-2
ENTRY POINT: CDUMPD
FUNCTION:
— Seeks to cylinder zero on disk pack Rl
— Writes the three sectors, which start at X'0100', on
Rl, cylinder 0, sectors B0-B8.
— Loads the Dump Selection program (DMPFND) from
cylinder zero, sector DO of the system disk pack into
the transient area. (See Appendix B. Diagnostic
Aids.)
— Branches to the Dump Selection program (DMPFND)
at location X'01 00'.
INPUT: None
OUTPUT: None
EXIT: Dump Selection program (DMPFND) at location
X'0100'.
► Local Storage Register Display Routine (LSR)
CHART: None
FIGURE: 2-2
ENTRY POINT: HLT1 , a manual branch via the CE con-
sole switches (see the LSR display procedures in
Appendix B. Diagnostic Aids).
FUNCTION: The Local Storage Register Display routine
displays registers without destroying the contents of
the displayed register by issuing two halts:
1 . The Q-byte of the first halt is the high-order
byte of the register being displayed.
2. The Q-byte of the second halt is the low-order
byte of the register being displayed.
INPUT: Console Address/Data switches
OUTPUT: The console stick lights indicate the contents
of the register being displayed.
EXIT: None
► System Disk Read Routine (NREAD)
CHART: None
FIGURE: 2-2
ENTRY POINT: NREAD
FUNCTION:
— Reads located modules from disk into main storage.
— Checks for successful read from disk storage.
INPUT: System IOB
OUTPUT: None
EXIT:
— Normal: Caller
— Error: A halt of %Y is issued.
2-10
NENTRI
****A2** *******
* *
* ENTER *
* =*
***************
»****B2**** ******
*****************
*****C 3 **********
* LOAD XB2 WITH *
* PBOGRAN LEVEL *
->* COBM AREA *•■
* ADDBESS *
* *
*****************
****£***********
* *
* RETORN *
* *
***************
B
POT
.*.
D2 *.
* *.
.*
*.
*
TRANSIENT
AREA BUSY.
*• .*
*. YES
.*
*
V
*****
*. .*
* NO
*00 2*
* A1*
*****E3**********
*****************
ROOBR V
*****P2 **********
* SAVE XR1 IN *
* PROGRAM *
* CONHONICATION *
* AREA *
* *
*****************
*****G2 **********
* SAVE CALLERS *
* PARI! LIST IN *
*prog conn AREA *
* *
*****************
*****H2 **********
* *
♦SAVE XR2 6 RIB *
* IN PROG COMH *
* AREA *
* *
*****************
*****J2 **********
* *
* SAVE RETURN *
♦ADDRESS IN PBOG*
* COHN AREA *
* *
*****************
Chart BA (Part 1 of 2). Dedicated Supervisor General Entry/Exit and Transient Area Scheduler (NENTRY)
Program Organization 2-1 1
A1 *.
► *
TRANS
REQUEST
* *
► 001*
* J2*
♦ 01-D2
.* C/S/# ♦. YES
->*. TRANS . ♦
*. BEQUEST .*
.* LOAD *. YES
->*. WITH A FTND .*
* NO
* *
->* F« *
* *
****
*****B2 **********
* *
* UPDATE RETURN *
->* ADDRESS BY 3 *
* BYTES *
* *
*****************
****
* *
* B1 *
* *
****
*****************
*****02**********
***** ************
+****B3**********
*****************
I ****
I * *
l->* B1 *
* *
****
****
► 4
► Bl» *
* *
****
*****B4**********
♦SET UP TO READ *
* IN TRANSIENT *
* *
* *
****>* ************
***■>
* *
* c« ♦->
* *
***.«
' NO CHART
****HCU **********
*NREAD *
* READ IN *
* TRANSIENT *
* *
*****************
****
* *
* D4 *->
* *
****
NXSTDID r
**** *Q!| **********
* *
* EXIT TO *
* TRANSIENT, *
♦PROCESS, RETURN*
* *
*****************
REFRESH
REQUEST
* LOAD ADDR OF *
* PROG COHMON ♦
* INTO XR1 ♦
* *
*****************
***** HI **********
* MOVE TRANS ♦
♦C/S/I INTO IOB *
*****************
. *.
F2 ♦.
,♦ MORE *
THAN A
TRANS ON
QUE
♦ PUT ACTIVE ♦
♦ TRANSIENT ON *
♦TRANSIENT QUEUE*
♦ *
*****************
♦LOOP UP C/S TN ♦
* TABLE AND PUT ♦
* IT INTO IOB ♦
* *
*****************
I
*****************
****g}*********
* *
► EXIT ♦
* *
***************
NCENTR
(HALT/SYSLOG)
TO
ANY
TRANS ON
QUEUE
*. .♦
♦ . . ♦
♦ ♦**
* *
* F« ♦->
* *
NXEND+++
FU*
LOADER
REQUEST
. YES ♦SET UP TO READ *
,* >*m FIRST TRANS ♦
♦ FROM QUEUE ♦
* *
*****************
I ****
U>* c« ♦
* *
****
****P5 *********
» *
► RETURN ♦
* *
***************
TO: NLOADER
*****q lj* *********
*****************
**«:*H4*********
* *
* RETURN *
* t
**»:************
TO: CALLER
TRANS ♦.
YES
IN MAIN
STORAGE .*
. .*
1
*. .♦
V
♦ NO
****
*
1
* D«
V
*
♦ ***
****
* *
* BU ♦
* *
♦ •**
Chart BA (Part 2 of 2). Dedicated Supervisor General Entry/Exit and Transient Area Scheduler (NENTRY)
2-12
NLOADBB
****A1 *********
* 4
* ESTEB *
* *
***************
.♦«
B1 ♦ .
.♦ *.
. * FETCH
*. BEQUEST
"*• .♦"
*. .*
* YES
*****Ci **********
* *
•HOVB LINK EDIT *
* ADD TO LOAD *
* ADDBESS *
* *
*****************
HL005 .♦.
B2 *.
• ♦ *.
.* SYSTEM ♦ .
>*. BEQUEST
A ♦. .*
I *. .*
*.
*****B 3 **********
* *
* CALCULATE *
► * BELOCATION *
* FACTOR *
* *
*****************
****
► *
* B2 *
t> *
*•**
NOTFCB
* NO
.* LOAD BY
*. RELATIVE
*. C/S
.*. NOTBPG .*.
D1 ♦.
D2 *.
.* ♦ .
.♦ ♦ .
.* LOAD BY *. YES
•* EBOUGH *.
*. BELATIVE .* ■
*. COBE .*
*. C/S .* 1
*. AVAILABLE.*
*. .* 1
*. .* V
♦• . ♦
* BO •***
* YES
* *
* B2 *
* *
*••*
HLODEB
'
*****E1*4
*********
*****E2*<
*********
♦ADD BBLOCATIOH *
♦FACTOB TO LOAD *
* ADDBESS *
* *
*****************
I****
* *
->* B2 *
* *
****
*****************
F2 *.
.* IS *.
.♦SYSTEM IOB
♦. TO BE
♦ . USED
♦ . .♦
♦ . .♦
♦ YES
*****q2 **********
* *
* PUT C/S/# AND *
♦LOAD ADDBESS IV*
* IOB ♦
* *
*****************
NBD3
*****g2**********
*NBEAD ♦
*****************
*****C3 **********
* CALCULATE *
* ABSOLUTE C/S ♦
->♦ FROM BELATIVE ♦
* C/S ♦
* *
*****************
NBDHPL
*****D 3 **********
♦HALT/SYSLO ♦
*****************
***«*p 3 **********
*****************
*****B4 **********
* *
♦INITIALIZE TEXT*
♦ADDBESS AND BLD*
* DISPLACEHEHT *
* *
*****************
E
* SET DP IOB TO *
♦BEAD BLD'S INTO*
♦TRANSIENT AREA ♦
* *
*****************
****
* 002*
* Hi *->
* *
***•
NBEND4
*****D(| **********
*NBEAD *
* *
* READ BLD'S ♦
*****************
*****E4**** ******
• *
* SET UP XR2 TO ♦
♦ INDEX THBOUGH ♦
♦ BLD«S ♦
* *
*****************
*****P4 **********
* *
•INITIALIZE TEXT^
♦ADDBESS TO ADD ♦
* INSTRUCTION ♦
* *
*****************
*****G4 **********
*****************
****
♦ 002+
♦ F1 ♦->
♦ *
****
BLD 1
***** R (j*
*
1
*********
*
* HOVE 1
* TBHPC
* STOl
ILD TO *
(BABY •
2AGE ♦
*****************
*****
♦002^
♦ 81*
.♦ LOAD ♦. YBS
♦. ADD - LINK .♦
♦. ADD .♦
♦. .♦
*****
♦002*
♦ B3^
****
* 4
* BU «
* 1
****
Chart BB (Part 1 of 2). Resident Loader and Relocation Program (NLOADR)
Program Organization 2-13
*****
• 001*
* H4*
B1 *.
.* *.
.* KID QT *. IBS
HLD .*
*. .*
*.
.*
•ADD BSLOCATION *
-->*FACTOB TO EHTHt*-
* POINT *
* *
*****************
NBEGUL
*****C2 **********
* ADD BID'S *
•DISPLACEBENT TO*
>* THE ADD *
* IHSTBDCTION *
*****************
.* FETCH
► . BEQUEST
*001*
* J2*
*****
*****C3 **********
*****************
BU *.
.* *.
* CALL EI
BELATIVE
*. C/S
*. . *
*. .*
* NO
*****C4* *********
*****************
.*
*. .*
* TBS
*****************
*****************
* BESTOBE XB1 *
* *
* *
*****************
****E4* ********
t 4
* EXIT *
> *
***************
TO: EITHEB
CALLEB OB
CALLED
BOUTINS
****G1 *********
***************
*****B1**** ******
*****
♦001*
♦ Hit*
*****************
*****
*001*
* DO*
Chart BB (Part 2 of 2). Resident Loader and Relocation Program (NLOADR)
2-14
CDUMPD
****A1 *********
* *
* ENTEH *
* *
***************
*****B1 **********
* *
* *
* INITIALIZE *
* *
* *
*****************
*****C1**********
E
*****************
*****D1***+******
*****************
*****£ 1 **********
* *
*SET UP TO READ *
*DDMP SELECTION *
* PROGRAM *
* *
*****************
READ DUMP
SELECTION
PBOCHAM
****(51** + ******
* 1
k EXIT *
p. 4
***************
Chart BC. Supervisor Resident Dump Linkage Routine (CDUMPD)
Program Organization 2-15
2-16
Section 4. Directory
Figure 2-3 contains the directory entries for the Dedicated
Supervisor.
Module/Phase Name
Chart ID
Descriptive Name
Entry Point
Function
$@SPV1
BA
General Entry /Exit and
Transient Area Scheduler
NENTRY
• Saves all system registers and linkages
• Analyzes user and system requests
• Locates corresponding transient routines
• Passes control to transient
• Passes control to Loader or General Exit
• Restores system registers and linkages
BB
Resident Loader and
Relocation Program
NLOADR
• Loads the requested routine
• Passes control to General Exit routine, which
in turn passes control to the caller or . . .
• Passes control to the routine that was fetched
via General Exit routine
• Passes control to General Exit routine upon
completion
none
Local Storage Register
Display Routine
HLT1
• Displays registers without destroying the
contents
none
System Read Routine
for Disk
NREAD
• Reads located modules from disk into main
storage and checks for successful read
BC
Resident Dump Linkage
CDUMPD
• Seeks to cylinder zero on R 1
• Writes out the transient area
• Loads in the Dump Selection Program from
cylinder zero of the system pack
• Branches to the Dump Selection Program at
location X'0100'
Figure 2-3. Dedicated Supervisor Directory
Directory 2-17
2-18
IHH
:
PART 3.
DISK DPF SUPERVISOR
Disk DPF Supervisor 3-1
3-2
Section 1. Introduction
This section identifies the differences between the Dedicated
Supervisor and the DPF Supervisor. The Dedicated Super-
visor is discussed in Part 2 of this document.
The basic difference between the Dedicated and DPF Sys-
tems is that the DPF System supports two user programs in
main storage at one time, and the Dedicated System sup-
ports one. The two systems are identical with the following
exceptions:
1 . The DPF Supervisor uses two identical program level
communication regions, the Dedicated Supervisor
uses one.
2. The DPF Supervisor contains a Resident Interrupt
Handler (INTLO) and a Resident Halt Routine
(HPLNUC); the Dedicated Supervisor does not con-
tain either.
3. The DPF General Entry and Transient Area Scheduler
(NENTRY) routine must determine which program
level (one or two) is requesting a transient or the
Loader routine (NLOADR).
The shaded areas on Figure 3-1 indicate the routines that
are unique to, or modified for, the DPF Supervisor.
SYSTEM REQUIREMENTS
The system requirements for the DPF Supervisor are:
• One 5203 Line Printer
• One 5410 MFCU
• One 5410 Processing Unit (Model A13)
• One 5444 Disk Storage Drive (Model 2)
X'000'
Entry Point Linkage
Sysin History
.' Resident Halt Routine (HPLNUC) - : .• : : .;-j ;'. : : .* : : .|.!":
Resident Dump Linkage (CDUMPD)
LSR Store/Display Routine
X'100'
Transient Area
X'400'
Chain Image
System Communication Region
:•:•: . . _ . \ Level One#:
■:•;: Program Level Communication Region « vg
:|!;l General Entry and Transient Area Scheduler |jSi^§;|^||
1 (NENT R Y) . ww . v .. w . v .. w ^ wmv . Wrt .w <Wk .^^^Si
Resident Loader (NLOADR)
Interrupt Handler (INTLO) ' j '•'; J :
•j-j: System Read Routine (NREAD) .j
Common DCs
Disk Input/Output Supervisor Routines
Console Interrupt Handler (Optional) ($@COIH)
4K
User
Figure 3-1. Main Storage Map for DPF Supervisor
Introduction 3-3
3-4
Section 2. Method of Operation
The Method of Operation for the DPF System is identical
to the Dedicated System with the exception that the Gen-
eral Entry/Exit and Transient Area Scheduler (NENTRY)
in the DPF Supervisor determines which level is evoking
the request. See Figure 2-1 in Part 2. Dedicated Super-
visor.
Method of Operation 3-5
3-6
Section 3. Program Organization
This section describes only those routines unique to the
DPF Supervisor. For the other DPF Supervisor routines,
see the routine descriptions in Section 3. Program Organiza-
tion of Part 2. Dedicated Supervisor.
► General Entry /Exit and Transient Area Scheduler
(NENTRY)
CHART: CA
FIGURE: 3-1
ENTRY POINT: NENTRY
FUNCTION:
- Determines the correct program level of the caller.
- Determines the caller's request and takes appropriate
action to handle the request.
- Passes control back to transients that are queued
after they call another transient.
INPUT: The request indicator byte (RIB) and either:
1 . A 3-byte C/S/# address of a desired transient;
or
2, A parameter list (seven or ten bytes in length)
for the Loader. See Appendix B. Diagnostic
Aids for RIB byte.
OUTPUT: On a load request, the parameter list {Appendix
B. Diagnostic Aids) is updated to reflect the directory
entry for the module loaded.
EXIT:
- Normal: Caller, if transient request.
Loader (NLOADR), if loader request.
- Error: A halt of %V is displayed on the console stick
lights.
► Resident Loader and Relocation Program (NLOADR)
CHART: CB
FIGURE: 3-1
ENTRY POINT: NLOADR
FUNCTION:
- The resident Loader loads the requested routines by
using a fetch or a load RIB request.
- The Relocation program adds a relocation factor to
the loaded program and passes control to the General
Exit routine.
- Determines level being used.
INPUT: Register 1 contains the address of the program
level communication region.
OUTPUT: The requested module is loaded as specified by
the caller's request indicator byte (RIB). See Ap-
pendix B. Diagnostic Aids for RIB procedure.
EXIT:
- Normal:
1 . After issuing a load request, control is passed to
the General Entry /Exit routine (NENTRY)
which in turn passes control to the caller.
2. After issuing a fetch request, control is passed
to the General Entry/Exit routine (NENTRY)
which in turn passes control to the program
that was fetched into main storage.
- Error: A halt of %Y is issued if the requested load
is outside of the partition boundaries.
Program Organization 3-7
► Resident Halt Display Routine (HPLNUC)
► Terminator Interrupt Handler (INTLO)
CHART: CC
FIGURE: 3-1
ENTRY POINT: HPLNUC
FUNCTIONS:
— Saves the transient area queue.
— Displays the halt code passed to it by the caller.
— Checks for a valid response to displayed code.
— Passes control to the End-of-Job transient ($$SPEJ)
if an immediate cancel was requested and is a valid
response.
INPUT:
— The halt code to be issued.
Procedure in Appendix B.
— The transient area queue.
OUTPUT:
— The halt code is displayed.
— The user's reply is returned to the caller.
EXIT:
— Normal:
1 . Syslog Halt Processor ($$STOH)
2. End-of-Job transient ($$SPEJ) if an immediate
cancel was requested.
— Error: A halt '00' is displayed on the console stick
lights if the response is invalid.
(See the Halt /Syslog
Diagnostic Aids. )
CHART: CD
FIGURE: 3-1
ENTRY POINT: INTLO
FUNCTION:
Note: The interrupt handler is present in a DPF sys-
tem only.
— Senses the Reader/Select switch to determine sysin
device or the level being cancelled.
— Stores the sensed information in the current program
level communication region.
— Displays the JU halt to allow the user to select
whether the job is to be cancelled or processing is to
continue after the job has been interrupted.
INPUT: None
OUTPUT: The sensed information from the Reader/Select
switch is stored in the current level communication
region.
EXIT:
— Normal: Terminator Standby Routine ($$TMSB)
when a device has been selected
— Error: End of job transient if the job is cancelled
($$SPEJ)
3-8
NENTBY
****A )*********
* 4
* BBTEB «
* 4
***************
"
911 .*.
B1 *.
.* *.
. * PBOG *.
*. LBVBL 1 BEQ .
*. .*
*. »*
B2
*.
* NO
NE2010 . _
CI *.
.* *.
.* SEED *. HO
*. TRANSIENT .*
*. ABBA .*
****
* *
* D1 *->
D1 *.
.* *.
» TBANS *. MO
ABBA PBBE .*
►. .*
*. « *
*• .*
* TBS
.* HEED *. IBS
>*. TBABSIBNT .*
*. ABBA . *
*. .*
*. .*
* NO
I****
* *
->* B« *
• *
****
HB1APL .*.
B3 *.
.* *.
.* TBANS
>*. ABBA FBEE
'.YES * SAVE XR2. BIB
.* >* 1MD UPDATED
A * BETUBN ADDB
*****C3**********
* *
* *
' — * WAIT ♦
* *
* *
*****************
*****D2 **********
* *
* SAVE IB2, BIB *
->* AND UPDATED *
* BETDBN ADDB *
* *
*****************
*****************
.*
¥
BIB
*.
.**
NE2030
*****F2 ******* ***
* *
* SET OP *
♦TRANSIENT AREA *
* FOB LEVEL 2 *
* *
*****************
*****g 3 **********
* LOAD XB2 WITH *
* PBOG LEVEL 2 *
>* COHM ABBA *
* ADDRESS *
* *
*****************
****F3 *********
•> 4
♦ BETORN ♦
► *
***************
TO: CALLER
.*.
G2 *.
.* IS *.
.* TRANSIENT *. YES
ABBA .*
*. ACTIVE .♦
*. .*
*. .*
H2 *.
.* *.
► IS THIS *. YES
A EEFBESH .*
►. BEQUEST . *
*. .*
*. .*
* NO
*****
♦002*
* CI*
*****H3**********
*****************
► 4
► B4 «
► 4
****
****************
* SET UP *
♦TBANSIENT AREA *
* FOR LEVEL 1 *
* *
*****************
El» *.
•* IS *.
.* TRANSIENT *.
*. AREA
*. ACTIVE .*
*****C5* *********
* LOAD XB2 WITH *
* PROG LEVEL 1 »
->* CONN AREA *
* ADDBESS *
* *
*****************
****D5*** ******
► 4
► RBTURN *
f 4
***************
TO: CALLER
E
*****
♦002*
* C1*
?H *.
.* *.
.* IS THIS *.
. A BEFRESH .
*. REQUEST .*
*****P5**********
♦SET OFF REFRESH*
►* BIT IN RIB ♦
*****************
* STOBE PABH IN ♦
* LEVEL ONE OF *
* COMMON *
* •
*****************
*****
♦00 2*
* B1*
* STOBE PABH IN *
* LEVEL TWO OF *
* COMMON *
* *
*****************
*****
♦ 002*
* B1*
* *
Chart CA (Part 1 of 2). General Entry/Exit and Transient Area Scheduler (NENTRY)
Program Organization 3-9
01-G4
*****
*001*
* J2*
* SAVE XB2. BIB *
* AND BETUBN •
* ADDRESS *
* *
*****************
TBANS
IN MAIN
STOBAGE
****
*001*
01-E1* G2 *->
.* TEAMS
*. BBQDEST
****
> 4
► D1 *
.♦ LOAD *
->*. BITB A PIHD
BEQUEST .*
*.
. .*
* NO
****
I * *
«•- >* G« *
* *
****
*****D2** ********
* *
* UPDATE BETUBN *
->* ADDRESS BY 3 *
* BITES *
* *
*****************
*****C3 **********
*****************
I ****
* *
l->* D1 ♦
* *
****
*****************
****
* *
* DU ♦->
* *
****
*****************
*****************
BEFBBSB *. TES
REQUEST .*
*****EI»**********
* *
* EXIT TO *
* TRANSIENT. *
♦PROCESS, RETUBN*
* *
*****************
• ***
* *
* G1 ♦->
* *
*•**
ixcst
1
*****Q 1**********
* *
♦ LOAD ADDB OF *
* PBOG COMMON *
* INTO
XR1 *
IC015 .♦.
F2 *.
.* HOBE *.
.* TEAM 4
->♦. TBANS ON
*. QUEUE .
*. .*
*. .*
* IBS
*****************
H1 ♦ .
.* *•
C/S/» ♦. NO
THAIS BBQ .*
**. .*"
♦. .*
* TES
*****************
IB *
„ £UT *-
IT INTO IOB *
* *
*****************
NXPUCH
NXBBTO .*.
NXUNHD
*****p 3 **********
F« ♦.
*****F5* *********
* *
.i* ♦
* *
* PUT ACTIVE *
.* ANY
*
YES
♦SET UP TO BEAD ♦
>* TRANSIENT ON *-
♦. TRANS ON
♦THE TRANS QUEUE+
I
♦.. QUE .♦
♦ FBOH QUEUE ♦
* *
1
♦. •♦
♦ *
*****************
»
♦ . j*
*****************
***•
* NO
1
*
*
**>►* 1
1 ****
*
G1
*
* *
* *
*
*
♦ GH *->
<■->* D« *
****
* * I
* *
**!►* V
****
NXEND .*.
Gl» ♦.
****Q3*********
., ♦ ♦.
****G 5** *******
* *
.♦ REFRESH
*
YES
* *
>* E xiT *
♦. BEQUEST
>* EXIT *
* *
♦„
*
* *
***************
♦. .♦
♦. .♦
♦ NO
***************
TO: SUPPORTED
TO: NLOADR
HALT/SISLOG
ROUTINE
NEXIT
'
*• *<»*() It**** ******
****
*
•
* *
* RESTOBE
*
->♦ B4 ♦
* BEGI!
;tebs
*
* HOVE TBANS *
•C/S/# INTO IOB »
*****************
******** *********
**<t*jt|* ********
► *
► BETUBN *
► *
**!!* ***********
TO:: CALLEB
***•
* *
* B4 *
* •
• ***
Chart CA (Part 2 of 2). General Entry /Exit and Transient Area Scheduler (NENTRY)
3-10
NLOADR
****(1*********
* 4
* ENTEB <
* 4
***************
FETCH
BEQUEST
►. .*"
*. . *
" TES
*****£ J**********
* *
* HOVE LINK EDIT *
•ADDRESS TO LOAD*
* ADDRESS *
* *
*****************
.* LOAD BI *. TES
*. BELATIVE -* >
*,. C/S .* I
.*
J-
* *
* B2 *
* *
**•*
NOTFCH
.*"
B2 *.
* *.
SYSTEM «
FETCH TO
*. ADDRESS .*
*. .*
*.
* HO
LOAD BT *. YES
BELATIVE .*
C/S .*
NOTBPG . _
D2 *.
.* *.
. * ENOUGH *.
*. COBE
♦.AVAILABLE.*
****
X 4
► B2 4
► 4
****
***«*£ 1 **********
* *
•ADD RELOCATION *
•FACTOB TO LOAD *
* ADDBESS *
* *
*****************
I****
* *
->* B2 *
* *
****
*****************
F2 *.
.* *.
.* SYSTEM
. IOB TOBE
*. USED
*. .*
*. . *
* TBS
*****G2**********
* *
* POT C/S/i AMD *
•LOAD ADDBESS IN*
* IOB *
* *
*****************
*****************
J2 *.
.* *.
.* LOAD *.
*. ADDBESS - .
*.LIMK ADD . *
*. .*
*.
*****B3 **********
* *
* CALCULATE *
>* RELOCATION •
* FACTOB *
* *
*****************
*****C3 **********
* CALCULATE *
* ABSOLUTE C/S »
->* FROH RELATIVE *
* C/S *
* *
*****************
*****************
****E3*********
* 4
* EXIT *
* 4
***************
TO: SUPPORTED
HALT/STSLOG
*****P3**********
*****************
* NO
{
****
► *
► B4 •
► *
••**
*****
♦002*
* B<t*
****
* *
* B « * — -•
* * J
**** V
NLAPL .*.
BU *.
.* *.
.* TBANS
*. ABEA BUST
*.
.* PBOG
LEV. 1
*. ACTIVE
*****Dtt* *********
*****************
•INITIALIZE TEXT*
•ADDRESS AND RLD*
♦ DISPLACEMENT *
* *
*****************
* SET UP IOB TO *
•READ RLDS INTO *
♦TBANSIBNT AREA •
• *
*****************
****
♦002*
• HI
*->
• ***
MREAD4
*****GU **********
*NREAD •
* *
* BEAD BLDS *
• *
*****************
*****[) (I**********
* *
•INITIALIZE TEXT*
•ADDRESS TO ADD •
* INSTBOCTION •
* *
*****************
*****jt|**********
•UPDATE
IR2 BLD •
* POINTEB *
* *
* *
•*•***••••***•***
****
♦002*
* F1 •->
* *
•***
NMORLD
'
•****K4**********
* *
• MOVE BLD INTO *
* TEMP SI
'OBAGE *
*****B5 **********
* *
* *
>* WAIT * .
* * I
* * 1
***************** y
****
• *
• BH»
• •
***•
*****************
*****************
*****
•002*
* BI*
Chart CB (Part 1 of 2). Resident Loader and Relocation Program (NLOADR)
Program Organization 3-1 1
*****
♦001*
* K«*
* *
.* BMD OF *. TES
BLD .*
*. .*
*****B3 **********
C1
*.
*.
.* *. IBS
*. BEG BLD .*
*. . *
*. .*
*. , *
* HO
*ADD BELOCATIOR *
->*FACTOB TO EHTBT*-
* POIM *
• *
*****************
NBEGDL
*****C2 **********
* ADD BID'S *
•DISPLACEHEHT TO*
.-_>* TH g 1DD *
* IHSTBUCTIOH *
* *
*****************
2 .*.
B4 *.
.* *.
► FETCH *. IBS
RBaUEST .*
*****************
*001*
* J2*
*****
*****D2 **********
*****************
****************
*****
*001*
* K«*
* *
****G1*********
***************
*****U 1 **********
*****************
*****
*001*
* Gtt*
• *
cn *.
.* *.
.* CALL BT
*. BELATIVE
*. C/S
*• .*
*. .*
* IBS
*•**
• *
* D4 *->
*****B5* *********
*****************
*****C5 **********
*****************
****
NLDOHE
*****oa **********
* *
♦BESTOBE XB1 AND*
•STOBE PBOG LEV *
* 1 IAB *
* *
*****************
*****£ 5*** *******
* *
* LOAD IAB WITH *
->* PBOG LEV OHE *
* MSI *
* •
*****************
*****P4 **********
* *
* LOAD IAB «ITH *
* PROG LEV TBO *
* HS.I *
* *
*****************
•***G4 *********
► *
► BUT *
► *
***************
Chart CB (Part 2 of 2). Resident Loader and Relocation Program (NLOADR)
3-12
HPLHUC
****A1*********
* *
* ENTER *
* «
***************
*****B1**** ******
* *
* SAVE THE *
♦TRANSIENT AREA *
* QUEUE *
* *
*****************
V NO CHART
*****C 1**********
♦NPHALT *
*****************
*****D1 **********
*****************
NO CHART
*****E2 **********
*HNVALD *
*****************
*. TES
TBANSIENT .*
. BUSY .*
****P2 *********
► *
► EXIT *
» *
***************
TO: SSSPEJ
>*•*•**•*•*
* ADVANCE PROGRAM*
->*LEVEL TO OTHER *
* PROG *
* *
*****************
*****H 1**********
* *
* RESTORE *
♦TRANSIENT SAVE *
* AREA ♦
* *
*****************
*****************
****K1*********
► *
► RETURN ♦
« *
***************
TO: CALLER
Chart CC. DPF Supervisor Resident Halt Display Routine (HPLNUC)
Program Organization 3-13
IHTLO
«***A1*********
* 4
* EHTEH *
* «
***************
*****B1 **********
*****************
C1 *.
.* *
CANCEL
LEVEL ONE
*.
*.
*
.*
.*
NO
CAN1 .*.
C2 *.
.* *.
.* IS *.
>♦. LEVEL ONE .4
*. ACTIVE .*
*. .*
*. .*
* HO
I****
* *
->* !C4 *
* *
****
.* IS IAH
->*. IN HAIN
*. STOHAGE
*****C4 **********
* *
* SET ON CANCEL *
>* PENDING *-
* INDICATOR *
* •
*****************
**•*
* *
->* K<t *
* *
• ***
CAN2 .*.
E2 *.
.* *.
.* IS
- — >*. LEVEL TWO
*. ACTIVE .
*. .*
*****************
1****
* •
->* K« *
* *
****
• *.
E3 *.
. * *.
.* IS IAB *. *
►*. IN BAIN .*-
*. STOHAGE .*
+ . .*
I****
* *
->* KH *
• *
**•*
F1 *.
.* i
IBS . *
*. NPCO 2
*****E(j **********
* *
* SET ON CANCEL *
->* PENDING
* INDICATOR *
* *
*****************
I****
* *
->* K4 *
* *
****
THIS CONDITION
INDICATES THAT
THE JUHALT
ROUTINE WILL BE
CALLED BEFORE
CONTROL IS RETURNED
TO THE INTERRUPTED
PROGRAH
THIS CONDITION
INDICATES THAT
THE JUHALT
ROUTINE WILL BE
CALLED BEFORE
CONTROL IS RETURNED
TO THE INTERRUPTED
PROGRAM
*****************
I ****
* *
!■->* K« *
* *
***•
*. NO
CON 2 .*
.*
.*
*. .*
* TES
34 *.
*.
*. NO
AUX 1 .* —
. *"
*. .*
* IES
>*.
• ***
* *
* K4*
* •
****
* SAVE THE *
♦READER/ SELECT •
•SWITCH SETTINGS*
* *
*****************
*. .*
*. .*
* go
. * LEVEL *.
. ONE ACTIVE .4
*. .*
*. .*
*. .*
* TBS
••**
L:
K4 «
4
***•
LEVEL2 .*.
J2 *.
-* *.
.* LBVBL *.
>*. TWO ACTIVE .*
*. .*
•■->* KH *
• •
****
CAN 11
*****K2 **********
*****************
*****J3 **********
*****************
SNSHVC
*****K3 **********
* HOVE SENSED *
•INFOBHATION TO *
>*PROGRAH LEVEL 1*-
A * COHHON *
! :
****
* *
► IC3 *
V 4
****
****************
****
* 4
* K3 *
* *
****
RESTOB
*****K4* *********
* RESTORE RBGS *
* AND BESET *
— >*IHTERRUPT LEVEL*-
" - *
*****************
***•
•> 4
► KH *
* *
**•*
****K5*********
* *
* RETURN *
* *
***************
TO: CALLER
Chart CD (Part 1 of 2). Terminator Interrupt Handler
3-14
JHHALT
* i
* EHTEB *
* 4
***************
CANCEL
*****B1 **********
* DISABLE *
♦INTERRUPT LEVEL*
* SAVE *
* REGISTEBS *
* *
*****************
*****C1 **********
THIS ROOTIHE IS
ENTERED ONLY
HHEN THE CANCEL
INDICATOR IS ON
SEE CHART CD.
PAGE 1, BLOCKS C<4
AND E«.
*****************
*****Q1 **********
* *
* SENSB *
* DATA/ADDRESS *
* SWITCH *
* *
*****************
* RESTORE *
->* REGISTERS *-
♦ENABLE LEVEL *
* *
*****************
****E3 *********
» 4
► RETURN *
( *
***************
P1 *.
.* *.
► OPTION *. IES
►. . *"
*. .*
♦. .*
* MO
* INDICATE *
>♦ IMMEDIATE *
* CANCEL *
* *
*****************
I****
* *
->* HI *
* *
****
* INDICATE *
* CONTROLLED *
* CANCEL *
* *
*****************
CA/01/A1
* LOAD StSPEJ *
* *
*****************
****J1 *********
* *
* EXIT *
***************
TO: $$SPEJ
END OP JOB
TRANSIENT
Chart CD (Part 2 of 2). Terminator Interrupt Handler (INTLO)
Program Organization 3-15
3-16
Section 4. Directory
Figure 3-2 contains the directory entries for the DPF Super-
visor.
Module
Name
$@SPV2
Chart ID
CA
CB
BC
CC
CD
CD
Descriptive Name
General Entry and Transient
Area Scheduler
Resident Loader and
Relocation Program
Local Storage Register
Display Routine
System Read Routine
for Disk
Resident Dump Linkage
Resident Halt
Display Routine
Terminator Interrupt
Handler
JU Halt
Entry
Point
NENTRY
NLOADR
HLT1
NREAD
CDUMPD
HPLNUC
INTLO
JUHALT
Function
• Determines program level of caller
• Determines the caller's request
• Passes control to the appropriate handler routine
• Loads the requested routine
• Passes control to General Exit routine, which in turn
passes control to the caller; or,
• Passes control to the routine that was fetched via
General Exit routine
• Passes control to General Exit routine upon
completion
• Displays registers without destroying the contents
• Reads located modules from disk into main storage
and checks for successful read
• Seeks to cylinder zero on R 1
• Writes out the transient area
• Loads in the Dump Selection Program from cylinder
zero of the system pack
• Branches to the Dump Selection Program at location
X'27C
• Saves the transient area queue
• Displays the halt code
• Checks for valid reply from operator
• Passes control to the End of Job Transient ($$SPEJ)
if an immediate cancel was requested
• Restores transient queue and returns control to
caller if immediate cancel was not selected
• Determines SYSIN device or level being cancelled
• Stores this information in the program level
communication region
• Gives control to JU halt display routine if a job is
being cancelled
• Displays JU halt and determine option selected
Figure 3-2. DPF Supervisor Directory
Directory 3-17
3-18
>jf',a
, \
PART 4.
MODEL 6 SUPERVISOR
v~t
«1
lw
tliiil
S*:WftW*S
Model 6 Supervisor 4-1
4-2
Section 1. Introduction
The Model 6 Supervisor provides six functions:
• Locates, loads and passes control to modules
• Contains and coordinates the use of the transient area
• Provides system and program level communication
regions
• Contains resident dump linkages
• Provides a general entry /exit routine
• Contains Disk IOS linkages. (This is discussed in the
IBM System I 3 Disk Systems Data Management and
Input /Output Supervisor Logic Manual, SY21-0512.)
SYSTEM REQUIREMENTS
The system requirements for the Model 6 Supervisor are:
• One 5213 Matrix Printer
• One 5406 Processing Unit with Keyboard
• One 5444 Disk Storage Drive (Model 2)
Introduction 4-3
4A
Section 2. Method of Operation
After the Model 6 Supervisor has been loaded into main
storage, it will accept any of four types of user requests.
• Request for General Entry
• Request for dump program
• Request for IOS program
• Request for IOS Wait program
These requests go through a LOAD IAR at the following
fixed locations:
X'OO' - Dump linkage
X'04' - General Entry
X'08' - IOS
X'OC - IOS Wait
Most user requests will go to general entry (NENTRY),
X'04' (Part 2, Figure 2-1). General Entry saves the system
linkages and register 1 along with the caller's return address.
The user's request is then analyzed. The request can be one
of eight types:
• Load with find
• Load only
• Fetch with find
• Fetch only
• Transient request from system pack
• Transient request from program pack
• Fetch to address
• Fetch to address with find
LOAD OR FETCH WITH FIND
Upon receiving this request, a request indicator byte (RIB)
is set for a find condition. The requested module is located
and control is passed to the Loader and Relocation program
(NLOADR). NLOADR moves the specified module into
main storage and, if required, adds a relocation factor to the
module's address. Control is then passed to one of two
locations:
1 . If the module was moved using a fetch request, con-
trol is passed to the General Exit routine. The Gen-
eral Exit routine (1) restores register 1, (2) restores
system linkages, and (3) passes control to the routine
that was fetched into main storage.
2. If the module was moved using a load request, con-
trol is passed to the General Exit routine located with-
in NENTRY. The General Exit routine restores reg-
ister 1 , restores system linkages, and returns control
to the calling routine.
LOAD OR FETCH ONLY
If a load or fetch only request is received, control is passed
directly to the Loader and Relocation program (NLOADR).
NLOADR moves the requested module into main storage
and adds a relocation factor to the module's addresses if re-
quired. Control is then passed to one of two locations:
1 . If the module was moved using a fetch only instruc-
tion, control is passed via the General Exit routine to
the routine that was fetched into main storage.
2. If the request was a load only, control is passed to
caller.
Method of Operation 4-5
TRANSIENT REQUESTS
Upon receiving a request for a transient, the transient area
is indicated as busy. The requested transient address (Q and
R bytes, cylinder/sector/number) is placed in the active
transient ID, and the requested transient is then moved into
the transient area (located in main storage at location
X'100'). Control is then passed to the loaded transient.
Any active transient can issue three types of requests de-
pending upon the stage of completion:
1 . The transient is not through processing and would
like to bring another transient into main storage.
Control is passed to the Transient Area Scheduler
(NENTRY) where the address of the calling transient
is placed on a transient queue, NXQUE, located in the
Supervisor. The requested transient is then loaded
into main storage; and control is passed to the tran-
sient, then back to the Transient Area Scheduler (see
arrows 1 and 3 of Figure 2-1).
2. The transient is through processing and would like to
pass control to another transient. Control is passed
back to the Transient Area Scheduler (NENTRY) and
the requested transient is loaded into main storage at
X'100'. Control is then passed to it.
3. The transient has completed its processing and would
like to return to its caller. Control is passed to the
Transient Area Scheduler (NENTRY). If the transient
queue is empty, control is passed to the General Exit
routine; otherwise control is passed to the transient
located in level number one of the queue.
Transients can be loaded from either the system pack or
the program pack. If the transient is to be loaded from the
program pack, the user must specify the program pack.
Instructions for finding a transient are:
LA PARM,XR2
B NCENTR
DC XL1'81'
PARM is a 12-byte parameter list which contains the in-
formation for finding the transient:
Byte 1 - X'OO'
Byte 2-7 — name of the transient
Byte 8 — P for program pack or S for system pack
Byte 9-12 — Reserved for supervisor
The C/S/N for the transient is returned in the first three
bytes of PARM. These must be moved to the 3-byte DC
following the next supervisor call.
The instruction for loading a transient is:
B NCENTR
DC XL1'80'
DC XL3'CSN'
(the RIB to load by)
(disk location of the transient)
The high order bit of N is '1 1 1 lxxxx' if the transient is to
be loaded from the program pack.
The following example of the transient queue illustrates
the four queue levels. This queue is located at the label
NXQUE within the Supervisor.
Total of 9 bytes per level
Level Number 4 on Q
Level Number 3 on Q
Level Number 2 on Q
Level Number 1 on Q
Q
R
C
S
§
XR1
Next sequential instruction
Q
R
C
S
#
XR1
Next sequential instruction
Q
R
C
S
#
XR1
Next sequential instruction
Q
R
C
S
#
XR1
Next sequential instruction
The transients are loaded into and removed from the tran-
sient queue via level one. See Appendix B. Diagnostic
Aids for the procedure for tracing the transient queue.
4-6
Section 3. Program Organization
The following section describes in detail the organization of
the Model 6 Supervisor routines. Included in the following
descriptions are:
• Description containing: name of routine, input, output,
function, exits.
• Main storage map showing the routines that might be in
main storage at the same time as the routine being
described.
• Flowchart showing the functional flow of the routine
being described. (Flowcharts are shown in Part 2 of
this manual.)
► General Entry/Exit and Transient Area Scheduler
(NENTRY)
CHART: BA
FIGURE: 4-1
ENTRY POINT: NENTRY
FUNCTION:
— General Entry functions are to save:
1 . System registers
2. System linkages
3. Caller's return address
— Transient Area Scheduler performs the following:
1 . Analyzes requests for transients
2. Locates the corresponding transient routine
3. Retrieves the specified routine from disk
storage
4. Passes control as requested
5. Tests to find if the Loader and Relocation pro-
gram (NLOADR) was requested:
a. If requested, control is passed to NLOADR.
b. If not requested, control is passed to the
General Exit.
— General Exit restores system registers and linkages
and passes control to the calling routine.
EXIT:
— Normal: Calling program or passed to the program
called.
— Error: A halt 135 is issued if there are too many (five
or more) nested transients, or if a transient is called
when no more can be nested.
X'000'
Entry Point Linkage
Keyboard Save Area
Common DCs
System Read Routine (NREAD)
System Communication Region
Program Level Communication Region
LSR Store/Display Routine
X'100'
Transient Area
X'400'
Keyboard Translate Table
General Entry and Transient Area Scheduler
(NENTRY)
Resident Loader (NLOADR)
Keyboard Interrupt Handler
Resident Dump Linkage (CDUMPD)
Disk Input/Output Supervisor
User's Main Storage
Figure 4-1. Main Storage Map for General Entry /Exit and
Transient Area Scheduler (NENTRY) for Supervisor
Program Organization 4-7
Resident Loader and Relocation Program (NLOADR)
► Resident Dump Linkage (CDUMPD)
CHART: BB
FIGURE: 4-1
ENTRY POINT: NLOADR
FUNCTION:
— The Resident Loader loads the requested routines by
using a fetch or a load RIB request
— The Relocation program adds a relocation factor to
the loaded program and passes control to the General
Exit routine
INPUT: Register 1 contains the address of the program
level communication region.
OUTPUT: The requested module is loaded as specified by
the caller's request indicator byte (RIB). See Ap-
pendix B. Diagnostic Aids for RIB procedure.
EXIT:
— Normal:
1 . After issuing a load request, control is passed
to the General Entry /Exit routine (NENTRY)
which in turn passes control to the caller.
2. After issuing a fetch request, control is passed
to the General Entry /Exit routine (NENTRY)
which in turn passes control to the program
that was fetched into main storage.
— Error: A halt of 1 35 is issued if the requested load
is below the beginning address of the program level.
► Local Storage Register Display Routine (LSR)
CHART: None
FIGURE: 4-1
ENTRY POINT: A manual branch via the CE console
switches (see the LSR display procedures in Appendix
B. Diagnostic Aids).
FUNCTION: The Local Storage Register Display routine
displays registers without destroying the contents of
the displayed register by issuing two halts:
1 . The Q-byte of the first halt is the high-order
byte of the register being displayed.
2. The Q-byte of the second halt is the low-order
byte of the register being displayed.
INPUT: Console Address/Data switches
OUTPUT: The roller lights indicate the contents of the
register being displayed.
EXIT: None
CHART: BC
FIGURE: 4-1
ENTRY POINT: CDUMPD
FUNCTION:
— Seeks to cylinder zero on disk pack Rl
— Writes the three sectors, beginning at X'100', on Rl,
cylinder 0, sectors B4-B8
— Loads in the Dump Selection program (DMPFND)
from cylinder zero of the system disk pack into the
transient area. (See Appendix B. Diagnostic Aids.)
— Branches to the Dump Selection program (DMPFND)
at location X'01 00'.
INPUT: None
OUTPUT: None
EXIT: Control is passed to the Dump Selection program
(DMPFND).
► System Disk Read Routine (NREAD)
CHART: None
FIGURE: 4-1
ENTRY POINT: NREAD
FUNCTION:
— Reads located modules from disk into main storage.
— Checks for successful read from disk storage.
INPUT: System IOB
OUTPUT: None
EXIT:
— Normal: Control is returned to the caller.
— Error: A halt of 1 35 is displayed on the halt display
lights.
4-8
Figure 4-2 contains the directory entries for the Model 6
Supervisor.
Module/Phase Name
NENTRY-N/A
NLOADR-N/A
Chart ID
BA
Descriptive Name
General Entry /Exit and
Transient Area Scheduler
Entry Point
NENTRY
BB
HLT1
NREAD
CDUMPD
BC
Resident Loader and
Relocation Program
NLOADR
Local Storage Register
Display Routine
System Read Routine
for Disk
Resident Dump Linkage
HLT1
NREAD
CDUMPD
Section 4. Directory
Figure 4-2. Model 6 Supervisor Directory
Function
Saves all system registers and linkages
Analyzes user and system requests
Locates corresponding transient routines
Passes control to transient
Passes control to Loader or General Exit
Restores system registers and linkages
Loads the requested routine
Passes control to General Exit routine, which
in turn passes control to the caller; or.
Passes control to the routine that was fetched
via General Exit routine
Passes control to General Exit routine upon
completion
Displays registers without destroying the
contents
Reads located modules from disk into main
storage and checks for successful read
Seeks to cylinder zero on R1
Writes out the transient area
Loads in the Dump Selection Program from
cylinder zero of the system pack
Branches to the Dump Selection Program at
location X'100'
E
Directory 4-9
4-10
lilt!
, 5 - -- *
^»^ :
PART 5.
SCHEDULER
Scheduler 5-1
5-2
Section 1. Introduction
The Scheduler, through the use of control statements, pro-
vides the linkage between the user and the system. The
Scheduler provides three major functions:
1 . Performs IPL and end of job functions
2. Reads, diagnoses, and processes control cards
3. Performs required initialization for each new program
In order to accomplish the above functions, the Scheduler
is divided into three phases.
1 . The Terminator
2. Hie Reader/Interpreter
3. The Initiator
SYSTEM REQUIREMENTS
Disk System
The Scheduler requires the following system configuration:
• One 5203 Line Printer (Model Al)
• One 5410 Processing Unit (Model A13)
• One 5424 Multi-Function Card Unit (Model A)
• One 5444 Disk Storage Drive (Model 2)
Model 6
• One 5213 Matrix Printer (Model 1)
• One 5406 Processing Unit with Keyboard
• One 5444 Disk Storage Drive (Model 2)
The Scheduler will also support the 5496 Data Recorder
(Model 1).
B
Introduction 5-3
5-4
Section 2. Method of Operation
The chart in Figure 5-1 gives an overview of the Scheduler.
The routines that are shown are discussed in greater detail
in Section 3-Program Organization in this part (Part 5) or
Part 6.
The data areas that are shown in the following chart are
discussed in Appendix A. Data Area Formats.
Note: All Scheduler routines use either the system com-
munication region or the program level communication
region.
B
Method of Operation 5-5
TERMINATOR
The terminator has three functions:
• IPL initialization
• EOJ deallocation
• Re-initialization
Following the user's Initial Program Load (IPL), control is
passed to the Terminator IPL routine ($$TMIP) which in
turn performs ah necessary initialization of the scheduler
work area (SWA) and system and program level communi-
cation areas needed by the Scheduler by means of the vol-
ume label and configuration record. Control is then passed
to the Reader/Interpreter Mainline ($$RDML) on the Disk
System, or to the Conversational Scheduler Initializor
($$RBIP) on Model 6.
After this initial entry, the Scheduler is always re-entered
through the Terminator End of Job routine ($$TMEO).
This routine frees the disk files used by the last program
and allows them to be re-used by the next program. Con-
trol is then passed to the Terminator Re-initialization pro-
gram ($$TMRI) which frees devices, SWA, and initializes
all disk and main storage areas that are needed to run the
next program. Control is passed from the Terminator to
the Reader/Interpreter Mainline ($$RDML) on the Disk
System, or to the Conversational Scheduler Initializor
($$RBIP) on Model 6.
READER/INTERPRETER
Other Than IPL Time
When the Conversational Scheduler Initializor ($$RBIP) re-
ceives control from the Terminator during other than IPL
time, $$RBIP prompts READY. READER (if the data re-
corder is supported), LOG, LOAD, BUILD, BUILDC, and
CALL are valid responses at this time. If the response is
READER and the data recorder is supported, $$RBIP
prompts READER. A reply of DATA96 causes control to
pass to the Reader/Interpreter Mainline ($$RDML) by way
of End of Job($$SPEJ).
Log routine ($$RBLG) initiates logging immediately if the
response to READY is LOG. For each of the other four
valid responses to READY (LOAD, BUILD, BUILDC,
CALL), $$RBIP passes control to Conversational Sched-
uler Control ($$RBCO), which then passes control to Build-
Chained Cycle ($$RBBC) if the response to READY was
BUILDC, or to Call Cycle ($$RBCL) by way of Call Con-
trol ($$RBCC) if the response to READY was CALL.
$$RBCO retains control if the response to READY was
LOAD or BUILD.
After all required OCL statements have been keyed under
the supervision of $$RBCO, $$RBBC, or $$RBCL, control
passes to Modify ($$RBMY) until the command RUN. If a
LOAD or CALL is to be executed, Run ($$RBRN) receives
control and passes control to the Initiator ($$INPS) after
the LOAD or CALL has been executed. If a BUILD or
BUILDC is to be executed, $$RBMY passes control to the
Procedure Library Interface ($$RBM1) and Utility OCL
Processor ($$RBM2) to build the card images in the pro-
cedure library. The End of Job transient ($$SPEJ) then re-
ceives control.
Conversational Reader/Interpreter
IPL Time
When the Conversational Scheduler Initializor ($$RBIP) re-
ceives control from the Terminator at IPL time, $$RBIP
determines whether or not the data recorder is a supported
sysin device. If the data recorder is supported in the sys-
tem configuration, $$RBIP prompts for the date, then
prompts READER. If DATA96 is the response, $$RBIP
calls the End of Job transient ($$SPEJ), after which the
Terminator Re-Initialization Routine ($$TMRI) passes
control to the Reader/Interpreter Mainline ($$RDML). If
the data recorder is not supported at IPL time, or if the re-
sponse to READER is not DATA96, the Conversational
Scheduler Initializor ($$RBIP) retains control and con-
tinues as it does during other than IPL time.
Disk System Reader/Interpreter Mainline ($$RDML)
After receiving control from the Terminator, the Reader/
Interpreter Mainline ($$RDML) reads from either the sup-
ported Sysin device (console, MFCU, data recorder) or the
source library, if a procedure has been called. It then de-
termines if the record contains valid operation control
language (OCL). Once a valid control record is located, the
record is encoded, and control is passed to the proper con-
trol card processor. After the record has been processed,
the control card processor returns control to the Reader/
Interpreter Mainline ($$RDML) which in turn checks for
any procedure overrides. If an override exists, control is
returned to the control card processor to process the over-
ride. If an override does not exist, control is returned to
the control card processor to perform end of record diag-
nostics. The Reader/Interpreter processes each control card
in the same manner until the // RUN control card is read.
The // RUN control card processor passes control to the
Initiator.
5-6
INITIATOR
The RUN routine passes control from the Reader/Interpreter
to the Initiator Program Setup-Phase One ($$INPS). This
routine ($$INPS) allocates the resources necessary for the
user program to execute. Control is passed from $$INPS to
the first of the Initiator Disk File Processor phases: Phase
One ($$INPD), Phase Two ($$INDF), Phase Three ($$INDC),
Phase Four ($$INDS). The Initiator Disk File Processor de-
codes the pre-format one images and builds them in the
scheduler work area for the requested disk files. The format
one images are then read from the scheduler work area and
checked for being unique and valid format one images. The
format one images are then sorted into the order required
by the allocate and IOS Open and Close routines. Control
is passed from Phase Four ($$INDS) to the Initiator Pro-
gram Setup-Phase Two ($$INP2). This routine uses the
attributes of the program to be loaded for this job to set up
the necessary conditions before giving control to the super-
visor to load the program. For example, RPG II Compiler
programs require $WORK and $SOURCE file allocation.
$$INP2 calls $$STAI to allocate the files. Compiler pro-
grams also require the source to be copied into the $SOURCE
file. Some programs require SYSIN for the entire job.
These and other conditions are set up as necessary by
$$INP2.
If the operator presses the Printer-Keyboard REQ key on
the Disk System, or sets the INQUIRY REQUEST key on
the Model 6, control is passed to the first phase of the Roll-
out phases: Phase One ($$STRO), Phase Two ($$STRU),
Phase Three ($$STRT). The Rollout phases move the inter-
rupted user program into disk storage. Control is then
passed from Rollout-Phase Three ($$STRT) to the Termin-
ator Re-initialization program ($$TMRI). The interrupting
program is loaded into main storage by $$TMRI and proc-
essed. Only at the completion of the processing of the in-
terrupting program will the Terminator Re-initialization
program ($$TMRI) pass control to Rollin-Phase One
($$STRI). The Rollin phases restore the interrupted pro-
gram's data areas and pass control to the instruction that
was to be executed next. Upon end of job, the RPG user
program passes control back to the Terminator End of Job
routine ($$TMEO) by way of the End of Job transient
($$SPEJ).
The Allocation Initiator ($$STA1) is entered from either
Initiator Program Setup-Phase Two ($$INP2) or from the
user's RPG program. The Allocation Initiator loads the
Initiator Allocate routine ($$INAI) and moves the last 4K
(4096) bytes of the user's main storage into the scheduler
work area. Control is then passed to either Resource Al-
location Phase One ($$STRI) followed by Phase Two
($$STR2) for allocating non-disk devices or to the Initiator
Allocate Phases: Phase One ($$INA1), Phase Two ($$INA2),
Phase Three ($$INA3), Phase Four ($$INA4). Phase Four
($$INA4) passes control to the Initiator Allocate Termina-
tor ($$INAT) which in turn restores, to main storage, the
user's last 4K bytes that was moved to disk storage. Control
is returned from $$INAT to the calling routine.
Method of Operation 5-7
Enter from
Supervisor
START:
Disk or
Model 6
System
^tt*
$$TMIP Chart E A
Terminator Initialization
Initializes Scheduler Work Area
♦ If OPF System ■■
♦ If Model 6 system ,
Allocates sysin and sysout
devices for dedicated system
* SWA, SCA, PLCA, CONFIG
— KD
® »{«
S
$$RDML Chart GA
Reader/Interpreter Mainline
• Reads and checks for valid OCL records
• Recognizes overrides to procedures
♦ Passes control to processors listed below:
* SWA, SCA, PLCA, RDIWA
OCL
Type
// LOAD
//FILE
// DATE
// SWITCH
//IMAGE
//COMPILE
// FORMS
//LOG
// PAUSE
// HALT
// NO HALT
// READER
// PART
// CALL
//RUN
PHASE
Name
$$RDHK
$$RDLD
$$RDFL
$$RDMK
$$RDDT
$$RDSW
$$RDIM
$$RDCM
$$RDFM
$$RDLG
$$RDPS
$$RDHN
$$RDHN
$$RDRR
$$RDPN
$$RDCL
$$RDRN
Chart
Major Function:
> Checks syntax and:
Scans Hikeys
Puts name and unit in PLCA
Puts file info in SWA
Merges file overrides
Puts date in SWA and/or PLCA
Sets UPSI switches
Modifies Chain Image Area
Puts name and unit in SWA
Set's no. of print lines in SCA
Sets Log Device I ndicator— SCA
Issues adv. prog, level halt
Sets EOJ indicator in PLCA
Indicates no EOJ halt in PLCA
Sets sysin device indicator
Sets level 2 stor. max.-SCA
Finds and moves procedure to SWA
Changes mode: INTRA to INTERl
^3.
±*d
S$RBBC
Build Chained Procedures
• Prompts for chained procedure responses
* SCJ^SWA
$$RBSX ~KV Checks~syntax
-*•©— 1
$$RBCC Chart FD
Call Control
■ Prompts for name and unit
♦ If end of nested call Mi^MM
A. §PL swa
r $$RBI N FM Prompting routine
$$RBSX KV Checks syntax
$$RBCL
Chart FE
Call Cycle
• Determines OCL type
• Writes OCL into SWA
•k SWA, CALCM, PLCA
TSfRBCD
FG
Processes data type OCL
$$RBCK
FH
Processes keyword type OCL
$$RBCP
FF
Processes positional type OCL
$$RBDT
FP
Checks syntax of Date stmnt
$$RBFM
FR
Processes Forms
$$RBHI
FS
Processes Hikeys
$$RBLI
KX
Scans library verbs
$$RBSI
KW
Interface routine for MVF
$$RBSW
FO
Checks switch response
$$RBSX
KV
Checks syntax
£—r^
$$TMSB Chart EE
Terminator Standby
• Issues 'EJ' halt
• Ensures current level has enough room
• Determines status of sysin device
• SCA.PLCA
$$TMSI Chart EF
Sysin Initialization
• Writes sysin device info in SWA
* PLCA
$$RBIP Chart FA
Conversational Reader/Interpreter Initializer
♦ If Data 96 assigned as sysin iHBHaanBiiaMiMHa
• Prompts and checks syntax of replies
• Performs IPL for BASIC, if requested
if SWA, PLCA
$$RBLG
$$RBDT
FQ Prompts for new logging device
FP Checks date response
$$RBCO Chart FB
Conversational Control Program
• Writes control statements in SWA
• Determines cycle type
+ If reply is BUILDCi^nMillM
• If reply is CALL i^HMHi
m d
• Processes LOAD or BUILD
* SWA
$$RBIN
FM
OCL prompt routine
$$RBHI
FS
Checks HI KEY responses
$$RBDS
FN
Checks date and switch responses
$$RBDT
FP
Checks date response
$$RBSW
FO
Checks switch response
$$RBSX
KV
Checks syntax
MS
3
J-*^ 1
$$RBMY Chart Fl
Modify
♦ Prompts for added or changed OCL
♦ If CANCEL specified Mii^H
♦ If LOAD or CALL specified HBUMHIMBiM
♦.SWA^SCA _ _
$$RBSI KW Interface routine" "~"~
$$RBLG FQ Prompts for new logging device
$$RBFM FR Prompts for forms
$$RBDT FP Checks date response
$$RBSW FO Checks switch response
$$RBSX KV Checks syntax
33
$$RBM1 Chart FJ
Library Scheduler Interface
• Writes procedure in library
•k SWA
$$RBM2 Chart FK
Utility OCL Processor
• Includes utility statements with procedure
♦ If not Build cycle HBHBBiiiiB
■k SWA
ir« i 1
5H-!
I
$$RBRN Chart FL
Run Processor
• Writes Initiator info into SWA
♦ If utility stmnts incl. in procedure
T^_SWA, SCA^ PLCA
"$$RBSW FO UpdateTuPSTswitcKes
$$RBFM FR Sets forms length
igH-T
Figure 5-1. Main Logic of Scheduler for Disk and Model 6 Systems (Part 1 of 2)
| 54039
5-8
5—1
$$INPS Chart HI
Program Set-Up-Phase One
• Determines if program can run
• Obtains addr. of program to be loaded
It $WORK,SWA
$$INPD Chart HE
Disk File Processor-Phase One
• Builds Pre-Format One images
T*T SWA
$$INDF Chart HF
Disk File Processor— Phase Two
Completes Pre-Format One images
4> If no disk files ■■■■■■■■■■■■
Tk SWA. VTOC
$$INDC Chart HG
Disk File Processor-Phase Three
Ensures no two files on this level have the
same name
ik SWA
$$INDS Chart HH
Disk File Processor— Phase Four
o Sorts Format One images
A' SWA
E
$$INP2 Chart HJ
Program Set-Up-Phase Two
# If source required (compiler-type program) I
upon return: 1 — — — ■—
• Calls $$OPEN to open files
• Move source info to $SOURCE file
• Calls $$CLOZ to close files
• Fetch user program
k SWA, SCA, PLCA, $SOURCE, $WORK
I Object Program
'♦ If allocation required
I." ■ "
$$SPEJ Section 6
End Of Job Transient
Clears Transient Queue
Terminates calling program
k ] None
E
i
$$TMEO Chart EB
Terminator EOJ-Phase One
• Delete special Format Ones
[♦ If TAG SORT required i^^Hi
* SWA. SCA, PLCA
$$TMEJ Chart EC
Terminator EOJ-Phase Two
Update Format Ones in VTOC
+ If TAG SORT required ■■■■■
■k SWA, VTOC
$$TMRI Chart ED
Terminator Re-Initialization
• Initializes PLCA, SCA, and SWA
• Issues 'EJ' halt for dedicated system
• If DPF system ■■■■■■■■■■^■l
+ If Conversational Mode MMH^M
ir PLCA, SCA, SWA
5
I
$$STAI Section 6 Chart KH
Allocation Initiator
• Calls allocation routines for non-disk devices
+ If handling disk DTF:
• Copies last 4K of user's area to SWA
• Compresses DTFs to last IK of area, and ■■
*SWA
*$$STRI KL~ Updates configuration records
in SWA
$$STR2 KM Allocates non-disk devices
Return To
Object Prog
J>
$$INA1 Chart HA
Initiator Allocate— Phase One
• Calculates SWA needed for Format Ones
* SWA, VTOC
$$INA2 Chart HB
Initiator Allocate-Phase Two
• Builds Format Five record
■fr SWA, VTOC
$$INA3 Chart HC
Initiator Allocate— Phase Three
• Allocates file space for F1s and F5s
•k SWA, VTOC
$$INA4 Chart HD
Initiator Allocate— Phase Four
• Dequeues S files from VTOC
-k SWA, VTOC
$$INAT Section 6 Chart KP
Allocate Terminate
• Copies last 4K of user's program back to core
•k SWA
Return To
Caller
^\ /-$$INP2or\
) \Obj.Prog. )
1
$$TMSK Chart EG
Terminator Key Sort
• Sorts all keys or merges added keys
* SWA
$$TMDS Chart EH
Terminator Duplicate Key Scan
• Ensures duplicate keys do not exist
■k SWA
LEGEND:
• Major Functions or Objectives
+ Major Branches
■Jf Major Data Areas Used (see
Appendix C for meaning of
abbreviations)
— — — Major subroutines are
listed under dashed lines
in blocks
■Control Flow
Off -Page Connector
Figure 5-1. Main Logic of Scheduler for Disk and Model 6 Systems (Part 2 of 2)
Method of Operation 5-9
5-10
Section 3. Program Organization
This section describes, in detail, the organization of the
Scheduler routines shown in Figure 5-1 . Included in the
following discussion are:
• Descriptions containing: name of the routine, input,
output, function, and exits (both normal and error)
from this routine.
• Main storage maps showing the routines that are found
in main storage at the same time as the routine that is
being described.
• Flowcharts showing the functional flow of the routine
being described.
This Program Organization section is divided into four
parts:
1 . Terminator
2. Reader/Interpreter for Model 6 System
3. Reader/Interpreter for Disk System
4. Initiator
Program Organization 5-11
1. TERMINATOR
► Terminator Initial Program Load (IPL) ($$TMIP)
CHART: EA
FIGURE: 5-2
ENTRY POINT: $$TMIP
FUNCTION:
— Initializes the following scheduler areas of the system
communication region: NCSYSL, NCSLOG,
NCSWRK, NCSYSQ, NCSCH1 , NCSMV2, NCSCH,
NCSCH2, NCSTOR.
— Allocates the system input (Sysin) and output (Sys-
out) devices in a dedicated system.
— Determines whether or not this is a Model 6 System.
INPUT:
— Configuration record
— Volume label of system pack
OUTPUT:
— The system communication region reflects C/S device
information for the system logging device module.
— The scheduler area of the system communication re-
gion is initialized.
— Print image address register is initialized
— Model 6 bit is set (NCMBSV is X'80')
— Conversational bit mode is set (NCSCH is X'20').
— Address of end of core (NPEND) and C/S device
information for the system input device module in
the program level communication region are set.
EXIT:
— Disk Dedicated: Reader/Interpreter Mainline
($$RDML).
— DiskDPF: Terminator Standby Routine ($$TMSB)
for both levels
— Model 6: Conversational Reader/Interpreter ($$RBIP)
X'OO'
X'100'
3K
Supervisor
I Transient Area:
I
I
:i:|:|Terminator initial Program Load ($$T"IVII P>
y|j| Schedui er Wor k Area^- Read) Wrj te ($$SSSC) 3;||||i
:p:-& Volume Table of Contents— Read7write^^^^^§p
!^::|J? r .P}l^^i9r.Standby .Ro^ineJi^TiGsB)^^^^^p
Figure 5-2. Main Storage Map for Terminator Initial Program Load
(IPL) Routine ($$TMIP)
5-12
► Terminator End of Job— Phase One ($$TMEO)
► Terminator End of Job-Phase Two ($$TMEJ)
CHART: EB
FIGURE: 5-3
ENTRY POINT: $$TMEO
FUNCTION:
- This routine performs the initial setup for the termina-
tor End of Job-Phase Two ($$TMEJ), and also the
successive setups when Tag Sort ($$TMSK) returns to
the end of job routines.
- The following items are involved in the setup:
1 . The program level is determined
2. The system date is formatted
3. The DPF indicator is set
4. All disk packs used by this job are determined
5. The four special Fls are deleted from the SWA
if they exist
INPUT:
- Format one images from the scheduler work area
(SWA)
- System and program level communication regions
OUTPUT: The SWA is set up for the second phase
($$TMEJ).
EXIT:
- Second phase of the End of Job ($$TMEJ) to release
files.
- $$TMSK if a Tag Sort is required.
- Terminator End of Job-Disk Status routine ($$TMST)
for SIO logging if no FILE statements exist.
CHART: EC
FIGURE: 5-4
ENTRY POINT: $$TMEJ
FUNCTION:
— Creates an entry in the volume table of contents
(VTOC) for every new file that was used during the
past job.
— Updates existing entries in the VTOC for each old
file that was used during the past job.
— Deletes existing entries in the VTOC for the remove
function of the VTOC delete utility program.
INPUT: Data contained in the format one work area lo-
cated at the label FORMT1 within the SWA. See
Appendix A. Data Area Formats for the contents of
the format one work area.
OUTPUT:
— Updated VTOC index
— Updated volume label
EXIT:
— Terminator Re-initialization Phase ($$TMRI)
— Tag Sort ($$TMSK) if sorting is required
X'OO'
X'100'
3K
Supervisor
(Transient Area: '
i '
I Scheduler Work Area— Read/Write ($$SSSC) I
j End of Job-Disk Status ($$TMST) I
| I OS and Data Management ($$DLOG) I
\ _ — — _ _j
•jxj: Terminator End of Job— Phase One ($$TMEO) i;i;i;ijij:ji
111*
i^iyRiH^.i^^.pf.^^^H^.TrP.^M^vy.ri* 6 . ($$??.y t )p
W&&
X'OO'
X'100'
3K
Supervisor
I !
'Transient Area: '
I Scheduler Work Area- Read/ Write ($$SSSC) !
I Halt/Syslog-Console Printer ($$STOC) J
j End of Job-Disk Status ($$TMST) {
' I OS and Data Management ($$DLOG) i
iilT^rf^in 8 * /!.^^^^?!?^!? 856 Two ($$tmej)|||;:
$$:][!: Vol ume Table of Contents- Read/Write ($$SS I VT)|j;
Figure 5-3. Main Storage Map for Terminator End of Job-Phase
One Routine ($$TMEO)
Figure 5-4. Main Storage Map for Terminator End of Job-Phase
Two Routine ($$TMEJ)
Program Organization 5-13
► Terminator Re-Initialization ($$TMRI)
CHART: ED
FIGURE: 5-5
ENTRY POINT: $$TMRI
FUNCTION:
- Re-initializes the following data areas:
1. SWA.
2. Program level communication region.
3. System communication region.
- Determines if system is Model 6.
INPUT:
- SWA
- Program level communication region
OUTPUT: The above data areas are re-initialized.
EXIT:
- Terminator Standby routine ($$TMSB) if using in a
DPF system
- Reader/Interpreter Mainline ($$RDML)
- Conversational Scheduler ($$RBIP) for Model 6
X'OO'
X'100'
3K
Supervisor
1
Transient Area: I
I
Volume Table of Contents Read/Write ($$SSVT)|
lill;: Termi nator Re-I ni ti al i zation ($$TM R ( )|S:|^|:^^. : .;. ;
llill^hedujer Work Area-Read/Write ($$SSSC) |||| :
Figure 5-5. Main Storage Map for Terminator Re-Initialization
Routine ($$TMRI)
5-14
► Terminator Standby Routine ($$TMSB)
CHART: EE
FIGURE: 5-6,5-7
ENTRY POINT: $$TMSB
FUNCTION:
— Issues end of job (EJ) halts.
— Ensures that current program level has enough main
storage before proceeding.
— Expands to 4K if the current program level is level
two.
— Determines the availability of the Sysin device desired
for this level by checking NPBPSD in PLCA.
— If Sysin device is available, the device is indicated at
label NPSCH5 in PLCA.
INPUT: Reader/Select switch setting
OUTPUT: Device indicated at NPSCH5 in PLCA
EXIT: Terminator Sysin Initialization routine ($$TMSI)
X'OO'
X'100'
4K
Last
1K
Supervisor
Transient Area:
I
(Program Level One Active)
M Program Level Two) ^^^§^^§§^^
; Terminator Standby Routine ($$TMSB):j
X'OO'
X'1O0'
4K
Supervisor
I
Transient Area:
— I
I
(Program Level One)
Terminator Standby Routine ($$TMSB);i:
(Program Level Two Active)
Figure 5-6. Main Storage Map for Terminator Standby Routine
($$TMSB)-Level One Active
Figure 5-7. Main Storage Map for Terminator Standby Routine
($$TMSB)-Level Two Active
Program Organization 5-15
► Terminator Sysin Initialization ($$TMSI)
CHART: EF
FIGURE: 5-8,5-9
ENTRY POINT: $$TMSI
FUNCTION:
— Reads information from NPSCH5.
- Determines the location of the routine needed to sup-
port the selected input device.
— Places the information in NPSYSI.
- Indicates, at NPBPSD, that the selected input device
is being used.
Note: This routine is used only by a DPF system.
INPUT: One byte (NPSCH5) of the program level com-
munication region
OUTPUT: The program level communication region is up-
dated to reflect the new system input device at labels
NPSYSI and NPBPSD.
EXIT:
— Normal: Reader/Interpreter Mainline ($$RDML)
- Error: Supported Halt/Syslog routine to display the
halt condition before control is passed to the End of
Job-Phase One routine ($$TMEO)
X'OO*
X'100'
4K
Supervisor
r
Transient Area:
(Program Level One Active)
I:;!;:;:;:;! (Program Level Two) ;:•:•:•::::
;;:|:;:;:j:; Terminator Sysin initialization Routine ($$TMSI):i:
^pumm
:-:+w:-:-i-w^4i4v:+HT:-:s4^:-H44;::H+:^^
%m Volume Table of Contents-Read/Write ($$SSVT)&
:■:•:•:■» y ui unit? _ id
SssvtJI
mm
X'OO'
X"100'
4K
|ii|; Vol ume Tabl e of Con tents- Read/Write ($$SSVTJ|
'-'-•-*-* f-*-*-* '* -'"***- |*** *v**v I* *t^^
Supervisor
Transient Area:
(Program Level Twp Active)
Figure 5-8. Main Storage Map for Terminator Sysin Initialization
Routine ($$TMSI)-Level One Active
Figure 5-9. Main Storage Map for Terminator Sysin Initialization
Routine ($$TMSI)-Level Two Active
5-16
► Terminator Key Sort ($$TMSK)
► Terminator Duplicate Key Scan ($$TMDS)
CHART: EG
FIGURE: 5-10
ENTRY POINT: DMTMSK
FUNCTION: Determines if the format one labels (located
in sectors 3-15) are from:
1 . An unordered load.
2. An index random add.
3. A sequential add.
INPUT: Format one labels located at label FORMT1 within
the scheduler work area.
OUTPUT: An ordered disk file index located in the VTOC.
EXIT:
— Normal: Terminator Duplicate Key Scan Routine
($$TMDS)
— Error: Supported Halt/Syslog routine
CHART: EH
FIGURE: 5-11
ENTRY POINT: $$TMDS
FUNCTION:
— Reads the keys of all indexed load or add files.
— Scans the keys for duplicate entries.
INPUT: Format one label located at label FORMT1 within
the scheduler work area
OUTPUT: The supported Halt/Syslog routine will list the
duplicate entries.
EXIT:
— Normal: Terminator End of Job— Phase One
($$TMEO)
— Error: Supported Halt/Syslog routine receives con-
trol to print the duplicate key entry.
xw
X'100'
3K
Supervisor
I ~
'Transient Area:
l_.
JS Terminator Key Sort Routine ($$TMSKJ>:;i;:
XW
X'100'
3K
Supervisor
"I
Transient Area:
:::■:•:::•: Terminator Duplicate Key Scan ($$TMDS) a$j:i:$:i$
Figure 5-10. Main Storage Map for Terminator Key Sort Routine
($$TMSK)
Figure 5-11. Main Storage Map for Terminator Duplicate Key Scan
Routine ($$TMDS)
Program Organization 5-17
READER/INTERPRETER FOR MODEL 6
(CONVERSATIONAL MODE)
► Conversational Scheduler Initializer ($$RBIP)
CHART: FA
FIGURE: 5-12
ENTRY POINT: $$RBIP
FUNCTION:
— Initializes print element location.
— Prompts for and syntax checks the response to sys-
tem date, if in IPL mode.
— Allows change of logging device if it is attached.
— Determines mode (conversational or not).
— Passes control to Reader /Interpreter Mainline, non-
conversational mode ($$RDML), if it is required.
— Prompts for and syntax checks the type of job cycle
requested if in conversational mode.
— Passes control to Scheduler Control ($$RBCO) if in
conversational mode.
— Performs IPL procedure for System/3 BASIC, if re-
quired.
INPUT: Keyboard responses
OUTPUT: System date in program level communication
region and SWA common sector
EXIT: Control is passed to the routine required by the
response from the operator.
X'OO'
X'0100'
Supervisor
j Transient Area:
| Supported syslog and sysin
. Error Messages Routine ($$SLSE)
' Scheduler Work Area-Read/Write ($$SSSC)
I Volume Table of Contents Read/Write ($$SSVT)
l_
Conversational Scheduler Initializer ($$RBIP)
Date Check ($$RBDT)
Log ($$RBLG)
A/
Figure 5-12. Main Storage Map for Conversational Scheduler
Initializor ($$RBIP)
5-18
► Scheduler Control ($$RBCO)
CHART: FB
FIGURE: 5-13
ENTRY POINT: $$RBCO
FUNCTION:
— Loads the control table.
— Finds all phases needed for conversational mode.
— Writes encoded control statements into the SWA.
— Interfaces with supervisor for all scheduler phase
loads.
— Determines cycle type (build, build-call, call, or load).
INPUT: XR1 contains a bit configuration specifying the
job type:
X'80' - Build
X'40' - Load
X'20' - Call
X'10' - Build-call
OUTPUT: Encoded keywords, appended sequence number,
and operator responses are written into the SWA start-
ing at the second sector of the initiator table.
EXITS:
— Normal:
1 . To Modify ($$RBMY) at the end of OCL
prompting sequence during load or build.
2. To Call Control ($$RBCC) if the job type is a
Call cycle.
3. To Build Chained ($$RBBC) if the job type is
a Build Chain.
— Error: Cancel with /* response or End of Job
($$TMEO).
X'OO'
X'0100'
Supervisor
(Transient Area: i
I |
i Supported syslog and sysin ■
■ Logical Put ($$RBLP)
Error Messages Routine ($$SLSE)
L J
Scheduler Control Table
Scheduler Common Area
Scheduler Control ($$RBCO)
I nteraction
($$RBIN)
Date/Switch ($$RBDS)
Syntax Checker
($$RBSX)
Date Check ($$RBDT)
or
Switch ($$RBSW)
Date Check
($$RBDT)
Logical Put ($$RBLP)
First Prompt or
Prompt for File
Statements
Prompt for DATE
and SWITCH
Figure 5-13. Main Storage Map for Scheduler Control ($$RBCO)
Program Organization 5-19
► Build-Chained Cycle ($$RBBC)
CHART: FC
FIGURE: 5-14
ENTRY POINT: $$RBBC
FUNCTION:
— Prompts operator for responses needed to build
chained procedures.
— Syntax checks the responses.
— Checks for duplicate procedures.
— Writes correct responses in the SWA in the following
format:
Seq. #
Pc
Three byte
sequence no.
Response
(96 bytes)
Hyphen
P code of prompted
parameter
(left justified and
blank filled)
— Terminates when response to CALL NAME or UNIT
is the ENTER MINUS (-) key.
INPUT:
— Keyboard responses
— Scheduler Control Table
OUTPUT: Responses written to the Scheduler Work Area
EXIT:
— Normal: Modify ($$RBMY)
— Error or Operator Cancel (/*): End of Job ($$SPEJ)
X'OO'
X'0100'
NPEND
-X'0300'
Supervisor
n
Transient Area:
I Supported syslog and sysin .
Scheduler Control Table
Scheduler Common Area
Build-Chained ($$RBBC)
Syntax Checker ($$RBSX)
Logical Put ($$RBLP)
A.
Figure 5-14. Main Storage Map for Build-Chained ($$RBBC)
5-20
► Call Control ($$RBCC)
CHART: FD
FIGURE: 5-15
ENTRY POINT: $$RBCC
FUNCTION:
— Prompts the operator for the name and unit of the
procedure during a CALL.
— Prints the name and unit of the procedures, if the
procedure contains chained calls of other procedures.
Runs all the jobs at one time.
— Runs the job, if the procedure does not contain
chained calls.
INPUT:
— XR1 points to Scheduler Common Area
— Scheduler Control Table
— Procedure called from source library
OUTPUT:
— For chained calls, the name and unit are printed
— First statement or procedure is passed to $$RBCL
EXIT:
— Normal: $$RBCL
— Error: Supported Halt/Syslog
X'OO'
X'0100'
Supervisor
Transient Area:
Supported syslog and sysin
Source Library Get ($$SYSG)
Error Messages Routine ($$SLSE)
Scheduler Control Table
Scheduler Common Area
Call Control ($$RBCC)
Interaction Routine ($$RBIN)
Syntax Checker ($$RBSX)
Figure 5-15. Main Storage Map for Call Control ($$RBCC)
Program Organization 5-21
► Call Cycle ($$RBCL)
CHART: FE
FIGURE: 5-16
ENTRY POINT: $$RBCL
FUNCTION:
— Determines type of OCL statements in procedure and
loads proper processing modules.
— Writes OCL into SWA.
INPUT:
— Procedure library
— Return code from library interface
OUTPUT: Statements written in SWA
EXIT:
— Normal:
1 . Modify ($$RBMY), when run precedes end of
records indicator and the no-go bit is not set on
2. End of Job transient ($$SPEJ), after all records
in a procedure have been processed
— Error: Error Logging Routine ($$SLSE)
X'OO'
X'0100'
Supervisor
I Transient Area:
| Supported syslog and sysin
| Library Interaction ($$RBLI)
l Source Library Get ($$SYSG)
■ Logical Put ($$RBLP)
j Syntax Checker Interface ($$R BSD
Error Messages ($$SLSE)
L
Scheduler Control Table
Scheduler Common Area
Call Common Area
Call ($$RBCL)
Check
Positional
($$RBCP)
Syntax Checker
($$RBSX)
Date Check
($$RBDT)
Syntax Checker
($$RBSX)
Date Check
($$RBDT)
or Switch
($$RBSW)
Check Keyword
($$RBCK)
HIKEY ($$RBHI)
Syntax Checker
($$RBSX)
Forms ($$RBFM)
HIKEY
($$RBHI)
Figure 5-16. Main Storage Map for Call ($$RBCL)
5-22
► Positional Statement Processor ($$RBCP)
CHART: FF
FIGURE: 5-17
ENTRY POINT: $$RBCP
FUNCTION:
— Processes positional statements from procedure
library (LOAD).
— Prompts for and syntax checks delayed statements.
- Writes OCL into the SWA.
— Waits for and syntax checks responses to delayed
parameters.
INPUT:
— Procedure library record located in the scheduler
common area
- Scheduler Control Table
OUTPUT: Statements listed on logging device
EXIT:
- Normal: Call Cycle ($$RBCL)
- Error: End of Job Transient ($$SPEJ)
Error Logging Routine ($$SLSE)
X'OO'
X'0100'
Supervisor
Transient Area:
I Supported syslog and sysin
I Error Messages Routine ($$SLSE)
J
Scheduler Control Table
Scheduler Common Area
Call Common Area
Call ($$RBCL)
Check Positional ($$RBCP)
Syntax Checker ($$RBSX)
E
Figure 5-17. Main Storage Map for Check Positional ($$RBCP)
Program Organization 5-23
► Data Type Statement Processor ($$RBCD)
CHART: FG
FIGURE: 5-18
ENTRY POINT: $$RBCD
FUNCTION:
— Processes date type statements.
— Prompts for and syntax checks response to a delayed
parameter.
INPUT:
— Procedure library
— Response from operator for a delayed parameter
OUTPUT: No-go bit is set if error occurs
EXIT:
— Normal: Call Cycle ($$RBCL)
— Error: End of Job Transient ($$SPEJ)
Error Logging Routine ($$SLSE)
X'OO'
X'0100'
Supervisor
I Transient Area: I
| Supported syslog and sysin |
Error Messages Routine ($$SLSE) I
I I
Scheduler Control Table
Scheduler Common Area
Call Common Area
Call ($$RBCL)
Check Data ($$RBCD)
Syntax Checker ($$RBSX)
Date Check ($$RBDT) or Switch ($$RBSW)
Aa
Figure 5-18. Main Storage Map for Data Type Statement
Processor ($$RBCD)
5-24
Keyword Type Statement Processor ($$RBCK)
CHART: FH
FIGURE: 5-19
ENTRY POINT: $$RBCK
FUNCTION:
— Processes keyword type parameters during a call cycle.
— Prompts for and syntax checks response to a delayed
parameter.
INPUT:
- Record from the procedure being called, located in
the scheduler common area
- Scheduler Control Table
OUTPUr: No-go bit is set if error occurs
EXIT:
— Normal:
1. Call Cycle ($$RBCL)
2. Hikey ($$RBHI) if required
- Error: End of Job Transient ($$SPEJ)
Error Logging Routine ($$SLSE)
X'OO'
X'0100'
Supervisor
| Transient Area:
• Supported syslog and sysin
J Error Messages Routine ($$SLSE)
Syntax Checker Interface ($$RBSI)
L
\
Scheduler Control Table
Scheduler Common Area
Call Common Area
Call ($$RBCL)
Check Keyword ($$RBCK)
Syntax Checker ($$RBSX)
Forms ($$RBFM)
HIKEY ($$RBHI)
Date Check ($$RBDT) or Switch ($$RBSW)
B
Figure 5-19. Main Storage Map for Keyword Type Statement
Processor ($$RBCK)
Program Organization 5-25
► Modify ($$RBMY)
CHART: FI
FIGURE: 5-20
ENTRY POINT: $$RBMY
FUNCTION: Allows operator to change and/or add OCL
previously given in load, build, or call cycle.
INPUT: Table of responses in the Scheduler Work Area
OUTPUT: Updated responses if requested
EXIT:
— Normal:
1 . For a LOAD, Run ($ $RBRN) is called
2. For a BUILD, Library Interface ($$RBM 1 ) is
called
3. For a CALL, Run ($$RBRN) is called
- Error: End of Job Transient ($$SPE J)
X'00'
X'0100'
Supervisor
I Transient area:
' Supported Sysin and Halt/Syslog
I $$SYSG-Source Library Get
■ $$SLSE— Error Messages Routine
' $$RBSI -Syntax Checker Interface
I
J
Modify ($$RBMY)
Tables and constants used for Modify: LOG,
FORMS, and INCLUDE OCL statements.
Initialization Routines overlayed by Syntax routines
Area used by $$RDSW, $$RBSX, $$RBLG, and
$$RBFM
$$RBLP loaded here during Modify LOG, FORMS
OCL statements
\A
Figure 5-20. Main Storage Map for Modify ($$RBMY)
5-26
► Procedure Library Scheduler Interface ($$RBM1)
CHART: FJ
FIGURE,: 5-21
ENTRY POINT: $$RBM1
FUNCTION: Reads responses from SWA and writes them
into the procedure library.
INPUT: Responses in the SWA
OUTPUT: User's created procedure library entry
EXIT:
- Normal: $$RBM2
- Error: End of Job Transient ($$SPE J)
► Utility OCL Processor ($$RBM2)
CHART: FK
FIGURE: 5-21
ENTRY POINT: $$RBM2
FUNCTION:
- During a build cycle, includes and modifies utility
control statements and places them with the rest of
the procedure in the source library
- During a call cycle, displays utility control statements
in the source library and allows them to be modified
before the called program is loaded and executed
INPUT:
- Utility control statements read from the source library
during a call cycle
- Modifications entered by the operator during a build
cycle
OUTPUT:
- Utility control statements are placed in the SWA
during a call cycle
- Utility control statements are placed in the source
library during a build cycle
EXIT:
- Normal: Initiator Program Setup ($$INPS)
- Error: The End of Job Transient ($$SPEJ)is called
if an error occurs or during a Build cycle
X'OO'
X'0100'
Supervisor
I
| Transient area:
I $$SYSG-Source Library Get
Scheduler control table
SCHEDULER common area
$$RBM1 -Procedure library interface or $$RBM2
Utility OCL Processor
$$SYSP— Copy Main Storage to Source Library
A^
Figure 5-21. Main Storage Map for Procedure Library Scheduler
Interface ($$RBM1) and Utility OCL Processor
($$RBM2)
Program Organization 5-27
► Run Processor ($$RBRN)
CHART: FL
FIGURE: 5-22
ENTRY POINT: $$RBRN
FUNCTION: Writes file information to SWA in the follow-
ing format:
EXIT:
— Normal:
1 . Initiator Program Setup ($ $INPS)
2. Procedure Library Scheduler Interface ($$RBM1)
if procedure called contains utility control state-
ments
- Error: End of Job Transient ($$SPE J)
00
I 70 I CC I L I Response | L | Response | L | etc.
or, for multivolume files,
CC L I Response L Response etc. FE I
70 — denotes the beginning of a files statement
CB — control bytes for files information
L — length of the response
00 - denotes the end of a files statement
FE — denotes the end of a multivolume file
statement
Disk File Keywords
X'OO'
X'0100'
Keyword
Control Bytes
NAME
11
UNIT*
31
PACK*
41
LABEL
21
RECORDS*
71
TRACKS*
61
LOCATION*
81
RETAIN
51
DATE
91
HIKEY
A2
*If the response is multi-volume, the numeric portion
of the code is 2 instead of 1 .
INPUT: Responses read from the SWA
OUTPUT: Encoded information written to the SWA
Supervisor
Transient area:
$$SYSG-Source Library Get
$$SSGT— Scheduler Work Area Get
$$SSPT-Scheduler Work Area Put
$$SLSE— Error Messages Routine
$$SLS1— Error Messages Routine
Scheduler Control Table
Scheduler Common Area
$$RBRN-RUN Processor
$$RBSW-SWITCH Processor or
$$RBFM-FORMS Processor
A/
Figure 5-22. Main Storage Map for Run Processor ($$RBRN)
5-28
► Interaction Routine ($$RBIN)
► Date/Switch ($$RBDS)
CHART: FM
FIGURE: 5-23
ENTRY POINT: $$RBIN
FUNCTION: Completes building of the prompt buffer.
INPUT:
— Scheduler Control Table
— Operator responses
OUTPUT: Prompts and error messages
EXIT:
— Normal: Next sequential instruction of the calling
program, or next sequential instruction + 3 when the
operator signals completion of the OCL sequence
— Error: Next sequential instruction + 6 of the calling
program, or End of Job Transient ($$SPEJ) if operator
response is /* or /&
CHART: FN
FIGURE: 5-24
ENTRY POINT: $$RBDS
FUNCTION:
— Prompts for and syntax checks the Date and Switch
statements for the conversational scheduler during
load and build cycles.
— Places correct statements in the SWA.
INPUT: Operator responses
OUTPUT: Statements placed in the SWA
EXIT:
- Normal: Return to Scheduler Control ($$RBCO)
- Error: End of Job Transient ($$SPEJ) if operator
responds with /* or /&
X'OO'
X'0100'
Supervisor
n
Transient area:
Supported Sysin and Halt/Syslog
$$SLSE— Error Messages Routine
$$SLS1— Error Messages Routine
L
Scheduler Control Table
Scheduler Common Area
$$RBCO-Scheduler Control or
$$RBCC-Call Control
$$RBIN-lnteraction Routine
X'OO'
X'100'
Figure 5-23. Main Storage Map for Interaction Routine
($$RBIN)
NPEND
minus
X'300' .
Supervisor
r
Transient Area:
Error Logging Routine ($$SLSE)
Conversational Scheduler Control Table
Conversational Scheduler Common Area
Conversational Scheduler Control ($$RBCO)
Date/Switch ($$RBDS)
Date ($$RBDT) / Switch ($$RBSW)
Logical Put ($$RBLP)
V
Figure 5-24. Main Storage Map for Date/Switch ($$RBDS)
Program Organization 5-29
► Switch Control Statement Processor ($$RBSW)
► Date Scan ($$RBDT)
CHART: FO
FIGURE: 5-25
ENTRY POINT: $$RBSW
FUNCTION: Sets UPSI switches
Note: The UPSI switches are located within the pro-
gram level communication region.
INPUT: The reader/interpreter work area contains the be-
ginning and end addresses of the record to be scanned.
OUTPUT: The UPSI switches are set to reflect the SWITCH
control statement.
EXIT:
— Normal: Calling routine
- Error: Calling routine (NSI+3)
X'OO'
X'100'
3K
Supervisor
Transient Area:
Supported Halt/Syslog Routine
($$STOC, $$STOP)
_ J
Reader/Interpreter Mainline Conversational
Mode ($$RBXX)
HI SWj TCH Processor $$R BSW |lllll|llll|l
^v
Figure 5-25. Main Storage Map for SWITCH Control Statement
Processor ($$RBSW)
CHART: FP
FIGURE: 5-26
ENTRY POINT: $$RBDT
FUNCTION: Ensures that date parameters are syntactically
correct.
INPUT: XR2 points to a 7-byte parameter list containing
in the following order:
1 . A flag byte to receive an error code
2. Two bytes containing the starting address of
the input buffer
3. Two bytes containing the ending address of the
input buffer
4. Two bytes containing the address of the 6-byte
area in which to place a good date
OUTPUT: A syntactically correct date is placed in the
designated 6 bytes, or an error code is returned. The
error codes are:
X'40' = good date
X'81' = no date found
X'82' = date too long/short
X'83' = misplaced/double delimiter
X'84' = invalid character
EXIT:
— Normal: Next sequential instruction of the calling
program
— Error: Next sequential instruction + 3 of the calling
program
► Log ($$RBLG)
CHART: FQ
FIGURE: 5-26
ENTRY POINT: $$RBLG
FUNCTION:
— Prompts for new logging device.
— Allocates supported device.
— Finds required halt/syslog module and writes C/S of
the module in the communications area.
— Finds required sysin module and writes C/S of the
module in the communications area.
INPUT:
— Device response
— Configuration record
OUTPUT: The C/S of the new halt/syslog and sysin mod-
ules are written in the communications area.
EXIT:
— Normal: Next sequential instruction of the calling
program
— Error: End of Job Transient ($$SPEJ) is called if an
error occurs or if the operator responds with /* or /&.
5-30
► FORMS ($$RBFM)
CHART: FR
FIGURE: 5-26
ENTRY POINT: $$RBFM
FUNCTION:
— Prompts for the device and the number of lines per
page.
— Writes the new device and number of lines per page
in the system communication region.
INPUT: XR2 points to the following parameter list:
X'OO'
X'0100'
L, C, or 8
FLAG
START@or
L. P.@
SEOJ
1 byte 1 byte
2 bytes
3 bytes
L, B, or C— load, build, or call
FLAG— indicates function to be performed
X'80' — update communications area
X'40' — prompt forms
X'20' — syntax check device
X'10' — syntax check lines
START©— starting address of buffer containing
response. Required for updating and syntax check.
L.P.@— SCA address in core of logical put routine.
Required only during prompt function.
SEQ#— Current sequence number in use. Required
only for prompt function.
OUTPUT: The same parameter list pointed to by XR2 is
returned to the caller containing:
L, B,orC FLAG
START
@
END
@
L-1
Supervisor
r.
Transient area:
J
Scheduler Control Table
Scheduler Common Area
Calling Routine
$$RBDT-Date Scan or
$$RBLG- Log Scan or
$$RBFM- Forms Scan
E
1 byte 1 byte
2 bytes
2 bytes
1 byte
Figure 5-26. Main Storage Map for Date Scan ($$RBDT), Log
($$RBLG), Forms ($$RBFM)
FLAG— 00 indicates successful
XI indicates error found
START@-Start @ of buffer
END@— Address of rightmost byte of response
L-1— Length minus one of response
EXIT:
— Normal: Return to next sequential instruction of
caller.
— Error: End of job is called if error in sysin.
Program Organization 5-31
► HIKEY($$RBHI)
CHART: FS
FIGURE: 5-27
ENTRY POINT: $$RBHI
FUNCTION: Prompts and processes responses for HIKEYs
during LOAD, BUILD, or CALL.
INPUT: OCL images or keyboard responses
OUTPUT: Correct responses are written to the SWA
EXIT:
— Normal: Next sequential instruction of calling pro-
gram
- Error: End of Job Transient ($$SPEJ)
X'OO'
X'0100'
Supervisor
I Transient area:
| $$RBLP-
I $$SLSE— Error Messages Routine I
$$SLS1— Error Messages Routine |
Supported Sysin and Halt/Syslog i
Scheduler Control Table
Scheduler Common Area
$$RBCO— Scheduler Control or
$$RBCLand$$RBCK
$$RBHI-HIKEY Processor
A.
Figure 5-27. Main Storage Map for HIKEY Processor ($$RBHI)
5-32
3. READER/INTERPRETER FOR DISK SYSTEM
► // LOAD Control Card Processor ($$RDLD)
Reader/Interpreter Mainline ($$RDML)
CHART: GA
FIGURE: 5-28
ENTRY POINT: $$RDML
FUNCTION:
— Reads an OCL statement.
— Performs a syntax check for recognizable control
statements.
— Performs a syntax check for valid comments.
— Performs a syntax check for valid keyword.
— Determines whether a statement is a procedure.
— Encodes keyword parameters on OCL statements.
— Passes control to the appropriate control card proc-
essor.
INPUT: Control statements from the supported Sysin
device
OUTPUT: Parameters for the control card processing
routines are placed in the reader/interpreter work
area (RDIWA).
EXIT: None
X'OO'
X'100'
3K
Supervisor
1 Transient Area: I
1 Supported Halt/Syslog Routine ($$STOC, $$STOP) I
Supported Sysin Routine ($$STIM, $$STIC)
Source Library Get Routine ($$SYSG)
Halt/Syslog Parameter Build Routine ($$STHB)
Halt/Syslog Parameter Table One ($$STHO)
Halt/Syslog Parameter Table Two ($$STH1)
Halt/Syslog Parameter Table Three ($$STH2)
Halt/Syslog Parameter Table Four ($$STH3)
Scheduler Work Area Read/Write Routine ($$SSSC)
Scheduler Work Area Get Routine ($$SSGT)
HI KEY Parameter Scan Routine ($$RDHK) ■
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML) W$&
CHART: GB
FIGURE: 5-29
ENTRY POINT: $$RDLD
FUNCTION:
— Ensures syntactical correctness of // LOAD control
card by passing control to $$RDS3.
— Processes any // LOAD override parameters.
INPUT: Register 2 contains the address parameters of the
area to be scanned.
OUTPUT: The program name and its resident unit ID are
loaded into the program level communication area at
label NPCS
EXIT: Calling routine ($$RDML), which then reads another
card.
X'OO'
Figure 5-28. Main Storage Map for the Reader/Interpreter Mainline
Routine ($$RDML)
X'100'
3K
Supervisor
I
iTransient Area:
~l
Supported Halt/Syslog Routine ($$STOC, $$STOP)'
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
i // LOAD Control Card Processor ($$RDLb):i
Positional Parameter Syntax Scan Routine ($$RDS3)
E
Figure 5-29. Main Storage Map for the // LOAD Control Card
Processor ($$RDLD)
Program Organization 5-33
► // RUN Control Card Processor ($$RDRN)
CHART: GC
FIGURE: 5-30
ENTRY POINT: $$RDRN
FUNCTION:
— Closes the initiator table containing the encoded
// FILE records.
— Changes the system mode from INTRA to INTER.
— Alters the input source for OCL statements from
procedure to procedure additions (contained in the
scheduler work area).
— Dequeues a nested procedure during INTER mode.
INPUT: None
OUTPUT:
— The system mode, indicated in the program level
communication region at label NPSCH2, is changed
from INTRA to INTER and the initiator table is
closed.
— A procedure is dequeued if this routine was called be-
cause of nested procedures during INTER mode.
EXIT:
X'00'
X'100'
Normal: Initiator Program Setup-Phase One ($$INPS)
unless $$RDRN was called during INTER mode to de-
queue a nested procedure. In this case, control is re-
turned to the Reader/Interpreter Mainline ($$RDML).
Error: End of Job transient ($$SPEJ)
3K
Supervisor
i 1
Transient Area:
I Supported Halt/Syslog Routine ($$STOC, $$STOP) I
I Scheduler Work Area-Put Routine ($$SSPT) I
| Source Library-Get ($$SYSG) I
| Halt/Syslog Parameter |
j Build Routine ($$STHB) I
Scheduler Work Area I
I Read/Write Routine ($$SSSC) J
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
W// RUN Controi Card i Processor ($$RDRN) !
'V
Figure 5-30. Main Storage Map for the // RUN Control Card
Processor ($$RDRN)
5-34
► // FILE Control Card Processor ($$RDFL)
CHART: GD
FIGURE: 5-31
ENTRY POINT: $$RDFL
FUNCTION:
— Insure the correctness of the // FILE control card key-
word.
— Loads the information found on the // FILE control
card into the scheduler work area.
INPUT: The reader/interpreter work area (RDIWA) contains
the beginning address of the encoded // FILE record.
OUTPUT:: The encoded // FILE statement is loaded into the
initiator table (INITAB) located within the SWA.
EXIT: $$RDMK is fetched.
X'OO'
X'100'
3K
Supervisor
I Transient Area: j
j Supported Halt/Syslog Routine ($$STOC, $$STOP)|
I Halt/Syslog Parameter Build Routine ($$STHB) |
I I
! Halt/Syslog Parameter Table Two ($$STH 1 ) I
I
Scheduler Work Area-Put ($$SSPT) J
Reader/Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
i//FILE Control Card Processor ($$RpFL)jiji
,_J
Figure 5-31. Main Storage Map for the // FILE Control Card
Processor ($$RDFL)
Program Organization 5-35
// DATE Control Card Processor ($$RDDT)
CHART: GE
FIGURE: 5-32
ENTRY POINT: $$RDDT
FUNCTION:
— Insures the syntactical correctness of the // DATE
control card.
— Processes the date parameter into either one of two
6-byte formats:
MM DD YY (Month day year) Domestic.
DD MM YY (Day month year) European.
INPUT: The reader/interpreter work area (RDIWA) contains
the beginning and end addresses of the record to be
scanned.
OUTPUT:
— Normal: The 6-byte formatted area is moved to either
(1) the program level communication region (INTRA
mode) or (2) the scheduler work area and the program
level communication region (IPL mode).
— Error: The statement is ignored, the controlled can-
cel indicator is turned on, and control is returned to
the calling routine.
EXIT: Calling routine
X'OO'
X'100*
3K
Supervisor
Transient Area:
Supported Halt/Syslog Routine ($$STOC, $$STOP)l
Scheduler Work Area-Read/Write ($$SSSC)
Reader/ Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
•s-sss// DATE Control Card Processor ($$RDDT)
Figure 5-32. Main Storage Map for the // DATE Control Card
Processor ($$RDDT)
5-36
► // SWITCH Control Card Processor ($$RDSW)
► // IMAGE Control Card Processor ($$RDIM)
CHART: GF
FIGURE: 5-33
ENTRY POINT: $$RDSW
FUNCTION:
— Checks the syntactical correctness of the // SWITCH
control card.
— If the control card is valid, the corresponding UPSI
switches are set.
Note: The UPSI switches are located within the pro-
gram level communication region.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end addresses of the record
to be scanned.
OUTPUT: The UPSI switches are set to reflect the
// SWITCH control card.
EXIT:
— Normal: Reader/Interpreter Mainline ($$RDML)
— Error: Supported Halt/Syslog routine
xw
X'100'
3K
Supervisor
I Transient Area:
1
Supported Halt/Syslog Routine ($$STOC, $$STOP) (
I
I
Reader/Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
1111/0?w(tch 9?w.9\ ^a^ ^ji5ii£Iil§!iil5Sllll
Figure 5-33. Main Storage Map for the // SWITCH Control Card
Processor ($$RDSW)
CHART: GG
FIGURE: 5-34
ENTRY POINT: $$RDIM
FUNCTION:
— Ensures the syntactical correctness of the // IMAGE
record.
— Modifies the chain image area to reflect different
print chain configurations.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end address of the area to be
scanned by this processor.
OUTPUT: The modified chain image is loaded into the
nucleus chain image area (location X'400').
EXIT: Calling routine
XW
X'100'
3K
Supervisor
Transient Area: '
Supported Halt/Syslog Routine ($$STOC, $$STOP)|
I
Halt/Syslog Parameter Build Routine ($$STHB) j
I
Halt/Syslog Parameter Table One ($$STHO) I
I
Source Library-Get ($$SYSG)
Scheduler Work Area-Get ($$SSGT) |
I
Supported Sysin Routines ($$STIM, $$STIC)
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
::i:ii//.! MA G E Control Card Processor ($$R DIM) ■SSSgjw
Positional Parameter Syntax Scan Routine ($$RDS3)
Figure 5-34. Main Storage Map for the // IMAGE Control Card
Processor ($$RDIM)
Program Organization 5-37
► // COMPILE Control Card Processor ($$RDCM)
► // FORMS Control Card Processor ($$RDFM)
CHART: GH
FIGURE: 5-35
ENTRY POINT: $$RDCM
FUNCTION:
— Syntactically checks the encoded parameters.
— Loads the syntactically correct source name and unit
into the index sector of the SWA.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end addresses of the encoded
parameters.
OUTPUT: The source name and unit are placed in the in-
dex sector of the SWA.
EXIT: Calling routine
X'OO*
X'100'
3K
Supervisor
j Transient Area:
I
I Supported Halt/Syslog Routine ($$STOC, $$STOP)|
I Scheduler Work Area-Read/Write ($$SSSC) i
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
\ll COMPILE Control Card Processor ($$RDCM)
Index Sector of the Scheduler Work Area
Figure 5-35. Main Storage Map for the // COMPILE Control Card
Processor ($$RDCM)
5-38
CHART: GI
FIGURE: 5-36
ENTRY POINT: $$RDFM
FUNCTION:
— Ensures the syntactical correctness of the // FORMS
record.
— Alters the number of printable lines per page on the
system printer as specified on the // FORMS record.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning address of the encoded parameter.
OUTPUT: A 1-byte number defining the number of lines
to be printed per page. This number is located in either
the right tractor (NCRPSZ) or the left tractor
(NCLPSZ) byte of the system communication region.
EXIT: Calling program
X'OO'
X'100'
3K
Supervisor
• Transient Area: '
i ]
[ Supported Halt/Syslog Routine ($$STOC, $$STOP).
I I
| Scheduler Work Area-Read/Write ($$SSSC) i
I
I
I
I
I Halt/Syslog Parameter Table Four ($$STH3)
Halt/Syslog Parameter Build Routine ($$STHB) I
Reader/Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
!$:$ Configuration Record |?|S||||||iij|||||i||?i§^:S?:S$^
I latXr \ viC 'JLi *■&*£ "£££ fii * «i% V&* iH s£&l*££if *£$&£•' V& **!~?~?***l~I*W*i* \ VMt **fi *********** Uit>* <U> **hk alXiiw • *'
III-:.// FORMS Control C^d^
Figure 5-36. Main Storage Map for the // FORMS Control Card
Processor ($$RDFM)
► // LOG Control Card Processor ($$RDLG)
CHART: GJ
FIGURE: 5-37
ENTRY POINT: $$RDLG
FUNCTION:
— Ensures the syntactical correctness of the // LOG con-
trol card.
— Indicates the system's logging device at label NCSLOG
within the system communication region.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end addresses of the record to
be scanned.
OUTPUT:
— The C/S address of the Halt/Syslog module that sup-
ports the requested device is loaded into the system
communication region.
— The device is allocated to the requested program level.
EXIT: Reader/Interpreter Mainline ($$RDML)
X'OO'
X'100'
3K
Supervisor
j Transient Area:
' I
Supported Halt/Syslog Routine ($$STOC, $$STOPH
Halt/Syslog Parameter Build Routine ($$STHB)
Halt/Syslog Parameter Table Two ($$STH1)
Scheduler Work Area- Read/Write ($$SSSC)
Find Transient ($$SPFN)
Reader/ Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
// LOG Control Card Processor ($$RDLG)
Configuration Record
Figure 5-37. Main Storage Map for the // LOG Control Card
Processor ($$RDLG)
Program Organization 5-39
► // PAUSE Control Card Processor ($$RDPS)
► // HALT, // NOHALT Control Card Processor ($$RDHN)
CHART: GK
FIGURE: 5-38
ENTRY POINT: $$RDPS
FUNCTION: The // PAUSE control card issues an advance
program level (APL) HALT.
INPUT: None
OUTPUT: None
EXIT: Reader/Interpreter Mainline ($$RDML)
CHART: GL
FIGURE: 5-39
ENTRY POINT: $$RDHN
FUNCTION:
— The // HALT control card indicates that normal pro-
gram end of job should be performed.
— The // NOHALT control card indicates that normal
end of job should not be performed.
INPUT: None
OUTPUT: The end of job indicator, located at label
NPSCH3 within the program level communication
region, is set to indicate the type of halt control card.
EXIT: Reader/Interpreter Mainline ($$RDML)
X'OO'
X'100'
3K
Supervisor
I Transient Area:
I
Supported Halt/Syslog Routine ($$STOC, $$STOP)l
I
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
;// PAUSE Control Card Processor ($$RDPSJ 111
Figure 5-38. Main Storage Map for the // PAUSE Control Card
Processor ($$RDPS)
X'OO'
X'100'
3K
Supervisor
j Transient Area: ,
! !
I Supported Halt/Syslog Routine ($$STOC, $$STOP)|
! !
I
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
III // HALT, // NOHALT Control Card Processor
|!i| ($$RDHN)
'V
Figure 5-39. Main Storage Map for the // HALT, //NOHALT
Control Card Processor ($$RDHN)
5-40
► // READER Control Card Processor ($$RDRR)
CHART: GM
FIGURE: 5-40
ENTRY POINT: $$RDRR
FUNCTION:
- Ensures that the specified device is valid.
— Indicates the specified device as the system input de-
vice.
INPUT: The reader /interpreter work area (RDIWA) con-
tains the beginning and end addresses of the area to
be scanned.
OUTPUT:
— The system input device is indicated in the program
level communication region at label NPSYSI.
- Moves the disk address of the supporting input mod-
ule into the program level communication region.
EXIT: Reader/Interpreter Mainline ($$RDML)
X'00*
X'1O0'
3K
Supervisor
j Transient Area:
I
Supported Halt/Syslog Routine ($$STOC, $$STOP)j
Scheduler Work Area- Read/Write ($$SSSC)
| Find Transient ($$SPFN)
I
Reader/ Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
//READER Control Card Processor ($$RDRR)
Configuration Record
Figure 5-40. Main Storage Map for the // READER Control Card
Processor ($$RDRR)
Program Organization 5-41
► // PARTITION Control Card Processor ($$RDPN)
CHART: GN
FIGURE: 5-41
ENTRY POINT: $$RDPN
FUNCTION:
— Ensures the syntactical correctness of the specified
parameter.
— Determines if the requested partition change can be
supported.
— Indicates the maximum amount of main storage
allocated to the second program level.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end addresses of the area to
be scanned.
OUTPUT: The indicator NCSCH2, located within the sys-
tem communication region, is updated to reflect the
number of sectors allocated to program level two.
EXIT: Reader/Interpreter Mainline ($$RDML)
X'OO'
X'100'
3K
Supervisor
Transient Area: .
| Supported Halt/Syslog Routine ($$STOC, $$STOP)|
I I
| Halt/Syslog Parameter Build Routine ($$STHB) I
Halt/Syslog Parameter Table Two ($$STH1)
._ J
Reader/Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
// PARTITION Control Card Processor ($$RDPN) : g
Figure 5-41. Main Storage Map for the // PARTITION Control
Card Processor ($$RDPN)
5-42
► // CALL Control Card Processor ($$RDCL)
CHART: GO
FIGURE: 5-42
ENTRY POINT: $$RDCL
FUNCTION:
- Ensures the syntactical correctness of the // CALL
control card.
— Locates the specified procedure.
— Reads procedure additions and/or override statements
into the SWA.
- Builds the $$SYSG parameter list so $$RDML can
read from the procedure.
- Queues any previously called procedure in the index
sector of the SWA.
INPUT: The reader/interpreter work area (RDIWA) con-
tains the beginning and end address of the area to be
scanned for parameters.
OUTPUT:
— The parameter list used to read a procedure is placed
in the reader/interpreter work area (RDIWA).
— The procedure indicator located at label NPSCH3
within the program level communication region is
turned on.
- Any previously called procedure is queued in the
index sector of the SWA.
EXIT: Reader/Interpreter Mainline ($$RDML)
X'OO'
X'100'
3K
Supervisor
Transient Area: |
I
Supported Halt/Syslog Routine ($$STOC, $$STOP)|
I
Supported Sysin Routine ($$STIM, $$STIC) I
Find Transient ($$SPFN)
Halt/Syslog Parameter Build Routine ($$STHB)
I Halt/Syslog Parameter Table Two ($$STH 1 )
I
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
;// CALL Control Card Processor ($$R DC L)|i|
Positional Parameter Syntax Scan Routine ($$RDS3)
Figure 5-42. Main Storage Map for the // CALL Control Card
Processor ($$RDCL)
Program Organization 5-43
Positional Parameter Syntax Scan Routine ($$RDS3)
CHART: GP
FIGURE: 5-43
ENTRY POINT: $$RDS3
FUNCTION: This routine scans the specified area for the
program name and unit. This information is used to
build a 2-byte table (NPCS). If either the program
name or the unit is not specified, the corresponding
table entry is left blank.
INPUT: The reader /interpreter work area (RDIWA) con-
tains the beginning and end address of the area to be
scanned.
OUTPUT: A return code indicating:
— An invalid program name
— An invalid unit
— Invalid parameters
— Successful completion
EXIT: Calling routine
X'OO'
X'100'
3K
Supervisor
Transient Area:
Supported Halt/Syslog Routine ($$STOC, $$STOp/
(Note: See the main storage maps for $$RDLD,
$$RDIM, and $$RDCL for the other transient .
routines.) i
Reader/ Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
// IMAGE Control Card Processor ($$RDIM)
I // LOAD Control Card Processor $$RDLD)
| // CAUL Control Card Processor ($$RDCL) I
I I
gjii|$ Positional Parameter Syntax Scan Routine g:S|S5:?S
lii ($$ RDS3) f 111118
Figure 5-43. Main Storage Map for the Positional Parameter
Syntax Scan Routine ($$RDS3)
5-44
► FILE Diagnostics and Merge Keyword Parameters
($$RDMK)
CHART: GQ
FIGURE: 5-44
ENTRY POINT: $$RDMK
FUNCTION:
— Performs the end of record diagnostics for the // FILE
record.
— Merges the procedure and the override // FILE rec-
ords into the initiator table.
INPUT:
— The reader/interpreter work area (RDIWA) contains
all information needed to ensure that the correct
// FILE record was provided.
— The initiator table contains either:
1 . The encoded // FILE record, if OCL records
are being read from the system input device.
2. The encoded override // FILE record, while a
procedure is being merged.
— The format one area of the SWA contains the en-
coded // FILE record that was read from the pro-
cedure.
OUTPUT:
— Error messages if any errors are encountered.
— The merged // FILE record is loaded into the
initiator table of the SWA. (For example: procedure
// FILE + override // FILE is loaded into the initiator
table.)
EXIT: Reader/Interpreter Mainline ($$RDML)
X'OO'
X'100'
3K
Transient Area
Supervisor
t.- — 1
I Supported Hal t/Sy slog Routine ($$STOC, $$STOP)|
I I
I Scheduler Work Area-Put ($$SSPT)
I
I Scheduler Work Area- Read/Write ($$SSSC)
I
I
I
I
Reader/Interpreter Work Area (RDIWA)
Reader/Interpreter Mainline ($$RDML)
i Merge' Keyword Parameter Mainline ($$RDMK) i
B
Scheduler Work Area I/O Area
Figure 5-44. Main Storage Map for File Diagnostics and Merge
Keyword Parameters Routine ($$RDMK)
Program Organization 5-45
4. INITIATOR
Initiator Allocate-Phase One Routine ($$INA1)
CHART: HA
FIGURE: 5-45
ENTRY POINT: $$INA1
FUNCTION: Calculates the required space needed in the
SWA for format one images that have DTFs defined.
INPUT: Compressed DTFs with the following format:
X'OO'
X'100'
4K
DISPLACEMENT
LENGTH
CONTENTS
1
Device Q byte
1
1
UPSI indicators
3
2
Attributes of the file
5
2
Record length
13
8
File name
14
1
Key length of index
files
15
1
End of DTF com-
pression byte in-
dicated by X'FF
OUTPUT: The space requirement fields in the format one
images updated and placed in the SWA.
EXIT:
— Normal: Terminator Allocate-
-Phase Two ($$INA2).
If no new files are
being allocated, control is returned
to $$INAT.
— Error: Supported Halt/Syslog
routine
Last 4K
of Level
One
Supervisor
I 1
1 Transient Area: I
| I
Scheduler Work Area-Get ($$SSGT) !
I Volume Table of Contents- Read/ Write ($$SSVT) |
I . I
(Program Level One)
j-iljIiS^ni tjator Al jocate— Phase One Rou ti ne (||l N Xi j HH
:!p:l! nl^tor Aiiocate— Support floutmes ($$l NMS) }|§|:|
Last 256 Bytes contains DTF compressions.
(Program Level Two)
Figure 5-45. Main Storage Map for the Initiator Allocate-Phase
One ($$INA1)
5-46
► Initiator AHocate-Phase Two ($$INA2)
CHART: HB
FIGURE: 5-46
ENTRY POINT: $$INA2
FUNCTION: Builds a composite image of all tracks, allo-
cated on all units, needed for file allocating. The
composite consists of volume labels and scheduler
work areas for both program levels.
INPUT:
— Volume labels
— SWA
OUTPUT:
— Composite of the format fives for the possible four
disk units
— The format five image from the current program level
EXIT: Initiator AHocate-Phase Three ($$INA3)
X'OO'
X'100'
4K
Last 4K
of Level
One
Supervisor
Transient Area:
Volume Table of Contents- Read/Write ($$SSVT) I
I
Scheduler Work Area- Read/Write ($$SSSC) |
I
(Program Level One)
jni tjatqr Aiibcate-Phase Two ($$j N A2) J;:|;i|;||:j||i;
(Program Level Two)
Figure 5-46. Main Storage Map for the Initiator Allocate-Phase
Two Routine ($$INA2)
Program Organization 5-47
► Initiator Allocate-Phase Three ($$INA3)
CHART: HC
FIGURE: 5-47
ENTRY POINT: $$INA3
FUNCTION: Allocates file space by using the format one
and format five labels.
INPUT:
— Format five composites
— Format one images
OUTPUT: The format five buffer in the SWA is altered to
reflect new allocated space.
EXIT:
— Normal: Initiator Allocate-Phase Four ($$INA4)
— Error: Supported Halt/ Sy slog routine, or when allo-
cating temporary disk space for special requests and
space is not available, control is passed to $$INAT.
X'OO'
X'100'
4K
Last 4K
of Level
One
Supervisor
j Transient Area: |
i '
I Scheduler Work Area-Get ($$SSGT)
Volume Table of Contents-Read/Write ($$SSVT) |
L I
(Program Level One)
i Initiator Allocate— Phase Three ($$INA3) •:
!!!(!n!?!5^
(Program Level Two)
Figure 5-47. Main Storage Map for the Initiator Allocate-Phase
Three Routine ($$INA3)
5^8
► Initiator Allocate-Phase Four ($$INA4)
CHART: HD
FIGURE: 5-48
ENTRY POINT: $$INA4
FUNCTION:
— Dequeues all S files whose space was just allocated
elsewhere.
— Calls the Allocate Terminator ($$INAT).
INPUT:
— The format ones from the VTOCs
— The sector that contains indicators for all new files
OUTPUT:
— The format five sector is written back into the SWA.
— The conflicting S files are removed from the volume
table of contents (VTOC).
EXIT: Allocate Terminator ($$INAT)
X'OO'
X'100'
4K
Last 4K
of Level
One
Supervisor
Transient Area:
I
I
(Program Level One)
$£$. ! Pl ?! ator Al Iqcate-Phase Four '('$$ I Kl A4) 18$$
ii$$:i initiator AMTC^e^Su^
(Program Level Two)
Figure 5-48. Main Storage Map for the Initiator Allocate-Phase
Four ($$INA4)
Program Organization 5-49
Initiator Disk File Processor-Phase One ($$INPD)
Initiator Disk File Processor-Phase Two ($$INDF)
CHART: HE
FIGURE: 5-49
ENTRY POINT: $$INPD-Mainline
INTRA-PHASE ENTRY POINTS:
- PDHIKE - HIKEY Processor
- PDPROC - Name, Label, Retain, and Pack Processor
- PDTRKS - Location, Tracks, and Records Processor
- PDUNIT - Unit Processor
- PDATE - Date Processor
- PDBLF1 - Format One Build Routine
FUNCTION:
- Decodes the // FILE control cards located in the
initiator table.
- Transfers the information found on the // FILE con-
trol cards to the format one image format located in
the SWA.
INPUT: Initiator table located in the SWA
OUTPUT: Format one pre-images located in the SWA
EXIT:
- Normal: Initiator Disk File Processor-Phase Two
($$INDF)
- Error: End of Job transient ($$SPEJ)
CHART: HF
FIGURE: 5-50
ENTRY POINT: $$INDF-Mainline
FUNCTION:
- Performs all pre-processing of disk files by creating
format one images in the SWA.
- Ensures that the MVF label for each pack is unique.
INPUT: Format one pre-images supplied by $$INPD
OUTPUT:
— Diagnostics of format one images
— Format one images
EXIT:
— Normal:
1 . Initiator Program Setup-Phase Two routine
($$INP2) if no // FILE Control cards were
given.
2. Initiator Disk File Processor-Phase Three
($$INDC) if // FILE Control Cards were given.
- Error: End of Job Transient ($$SPEJ)
X'OO'
X'1O0'
X'OO'
X'100'
3K
Supervisor
j Transient Area:
| Halt/Syslog-Printer ($$STOP)
| Halt/Syslog-Console ($$STOC)
System Halt Transient ($$STOH)
SWA- Read/Write ($$SSSC)
. I
l:!:^?!^^
3K
Ay
Supervisor
Transient Area:
Halt/Syslog-Printer ($$STOP)
Halt/Syslog-Console ($$STOC)
Find Transient ($$SPFN)
~l
1 SWA- Read/Write ($$SSSa
Si&j&lnitiator Disk Fiie Processor-Phase Two (SSiKlDF);
1|1I Y?Ay n?e !t?Mle of ' i^ntents^Read/Wme (SSSSVT j j$
A^
Figure 5-49. Main Storage Map for the Initiator Disk File
Processor-Phase One ($$INPD)
Figure 5-50. Main Storage Map for the Initiator Disk File
Processor-Phase Two ($$INDF)
5-50
► Initiator Disk File Processor-Phase Three ($$INDC)
► Initiator Disk File Processor-Phase Four ($$INDS)
CHART: HG
FIGURE: 5-51
ENTRY POINT: $$INDC
FUNCTION:
— Determines the current program level.
— Ensures that within this level, no two files have the
same name.
— Ensures that file labels and dates located on the same
disk pack are unique.
INPUT: Format one images found in the SWA (sectors 3-15
on the system disk pack)
OUTPUT: A halt is issued if a duplicate format one image
name is located or if an attempt is being made to
create a file with the same label and date as an exist-
ing file on a given pack.
EXIT:
— Normal: Initiator Disk File Processor-Phase Four
($$INDS)
— Error: Supported Halt/Syslog routine which performs
an immediate cancel
X'OO'
X'100'
3K
Supervisor
I Transient Area:
Halt/Syslog-Printer ($$STOP)
Halt/Syslog-Console ($$STOC)
I System Halt Transient ($$STOH)
L
•lll^hedufer Work Area-Read/Write ($$SSSC) |i||:i:|i
CHART: HH
FIGURE: 5-52
ENTRY POINT: $$INDS
FUNCTION: Sorts the format one images (located in sec-
tors 3-15 of the SWA) into the order required by the
Allocate or Open routines.
INPUT: The format one images located in the SWA
OUTPUT: Ordered format one images are reloaded into
the SWA
EXIT: Initiator Program Setup-Phase Two ($$INP2)
X'OO'
X'100'
Supervisor
.Transient Area: ~]
I I
I "
I I
I I
I I
L _J
3K
;,:>:.; Initiator Disk File Processor— Phase Four ($$INDS) : ?
E3
Figure 5-52. Main Storage Map for the Initiator Disk File
Processor-Phase Four ($$INDS)
Figure 5-51. Main Storage Map for the Initiator Disk File
Processor-Phase Three ($$INDC)
Program Organization 5-51
► Initiator Program Setup-Phase One ($$INPS)
► Initiator Program Setup-Phase Two ($$INP2)
CHART: HI
FIGURE: 5-53
ENTRY POINT: $$INPS
FUNCTION:
— Performs tests to ensure the program can be loaded.
— Obtains the address of the program to be executed
for the loader.
INPUT:
— Initiator table located in the SWA
— Temporary configuration record located in the SWA
OUTPUT: Program attributes placed in the SWA
EXIT:
— Normal: Initiator Disk File Processor— Phase One
($$INPD)
— Error: Supported Halt/Syslog routine
CHART: HJ
FIGURE: 5-54
ENTRY POINT: $$INP2
FUNCTION:
— Moves source information into a source file.
— Allocates disk storage for the source and work files if
space does not already exist by calling $$STAI.
INPUT: Source from Sysin device or from the source
library
OUTPUT: Source file containing information from the
Sysin device or the source library
EXIT:
— Normal: Initiated program that was fetched into
main storage
— Error: Supported Halt/Syslog routine
X'OO'
X'1O0'
3K
Supervisor
Transient Area:
Volume Table of Contents-Read/Write ($$SSVT) |
I
I
ISlfmltiator Program Setup-Phase One ;($$IN PS j $$:;§$$
Figure 5-53. Main Storage Map for the Initiator Program Setup-
Phase One ($$INPS)
X'OO'
X'100'
3K
Supervisor
I Transient Area:
I
I System Input Device-Console ($$STIC)
I System Input Device-MFCU/1442 ($$STIM) |
I
lilt I nitiator' Program Setup-Phase two ($$l N P2) j§||||
*;:;:;:;:;: Data Management Consecutive Output Routine #&
llll ^pSOP) !||;
^V
Figure 5-54. Main Storage Map for the Initiator Program Setup-
Phase Two )$$INP2)
5-52
► Initiator Allocate— Support Routines ($$INMS)
CHART: HL-HQ
FIGURE: 5-55
ENTRY POINT:
- PAITRK-Convert Records to Tracks
- PAINDX— Determine size of index
- PARTIN-Track Apportioning
- PAGTRK-Track Conversion
- DFSBN-Set Bits Routine
- DCLPAF-Possible Allocation Fit
FUNCTION: The entry points are to individual routines
that are linkage edited together under the module
name $$INMS. These routines provide computation
support for the Initiator Disk File Allocation routines
($$INA1, $$INA2, $$INA3, $$INA4). Each routine,
referenced by the entry points listed, is described by
its own flowchart and description.
INPUT: See the individual descriptions.
OUTPUT: See the individual descriptions.
EXIT: See the individual descriptions.
► Convert Records to Tracks
CHART:: HL
FIGURE: 5-55
ENTRY POINT: PAITRK
FUNCTION: Determines the number of tracks required by
a file, when only the number of records are given.
INPUT:
— Register 2 contains the address of the format one file.
— The format one file contains the number of records
and their lengths.
OUTPUT: Register 2 contains the address of the updated
format one file.
EXIT: Calling routine
X'OO'
X'100'
4K
Last4K
of
Program
Level
One
Last4K
6f
Program
Level
Two
Supervisor
I Transient Area:
I
L.
(Program Level One)
~l
j Initiator Allocate- Phase One ($$INA1)
I
I Initiator Allocate-Phase Three ($$INA3)
I
Initiator Allocate-Phase Four ($$INA4)
jl!! initiator 'AMocate-Support' Routines ($$iNMS)"j||:|
(Program Level Two)
r
Initiator Allocate-Phase One ($$INA1)
Initiator Allocate-Phase Three ($$INA3)
Initiator Allocate-Phase Four ($$INA4)
{ll initiator Allocate-Support Routines ($$INMS) ;$;$$
Figure 5-55. Main Storage Map for the Initiator Allocate-Support
Routines ($$INMS)
Program Organization 5-53
► Determine Size of Index
► Track Conversion
CHART: HM
FIGURE: 5-55
ENTRY POINT: PAINDX
FUNCTION: Determines the number of tracks that are
required for the index when only the number of rec-
ords are given for the index file.
INPUT: Register 2 contains the address of the format one
area. This are contains the number and size of the
records to be contained in the index file.
OUTPUT: Register 2 contains the address of the format
one area. This area will contain an updated max-
imum and minimum address field along with the
value for the number of tracks required for the index
file.
EXIT: Next sequential instruction (NSI) of the caller
► Track Apportioning
CHART: HN
FIGURE: 5-55
ENTRY POINT: PARTIN
FUNCTION: Apportions the tracks between the data and
index
INPUT: Register 2 contains the address of the format one
area. This area contains the number of tracks that are
available for apportioning, the record length, and the
key length.
OUTPUT: Register 2 contains the address of the format
one area. This area will contain the minimum and
maximum addresses and the number of tracks that
have been apportioned.
EXIT: Calling routine
CHART: HO
FIGURE: 5-55
ENTRY POINT: PAGTRK
FUNCTION: Determines the displacement and the proper
Q code for the referencing of a track indicator within
the format five image.
INPUT: Register 2 contains the address of a 2-byte area
that contains the track number.
OUTPUT: Register 2 contains the mask used to reference
the 2-byte data area located within the format five
image.
EXIT: Calling routine
► Set Bits Routine
CHART: HP
FIGURE: 5-55
ENTRY POINT: DFSBN
FUNCTION: Sets on the appropriate track bits in the
format five file indicating the tracks that are used in
the source format one file.
INPUT: Format one files
OUTPUT: The format five file is updated to reflect the
tracks used by the format one file.
EXIT: Calling routine
► Possible Allocation Fit
CHART: HQ
FIGURE: 5-55
ENTRY POINT: DCLPAF
FUNCTION: This routine will locate the smallest amount
of contiguous disk space that will contain the specified
new disk file.
INPUT:
- Register 1 contains the address of the format five
image to be used.
- Register 2 contains the address of the format one for
the new disk file.
OUTPUT:
- Registers 1 and 2 contain the same addresses.
- A return code is passed to the caller indicating the
degree of success of locating the needed space.
EXIT: Calling routine
5-54
SJTHIP
****A1 *********
* *
* ENTER *
* *
****** *********
INITIALIZE
*****************
BA/01/A1
•****o **********
♦NCENTR *
* READ VOLUME *
* LABEL *
* *
*****************
*****D1 **********
♦MOVE C/S OP SUA*
* ADD BOLL OUT *
* AREA INTO *
* SYSTEM COMMON *
* AREA *
*****************
*****£ 1 **********
*****************
t BA/01/A1
*****pl *****>**%*
♦NCBNTR *
* READ CONFIG~ *
* RECORD *
* *
*****************
*****Q1 **********
* *
* SET OP DISK *
* CONFIG. IB *
* SISTBH COHNOR *
* *
*****************
*****|{t **********
* *
* CONDENSE *
* CONFIGURATION *
♦BBCOHD FOR SUA *
* *
*****************
BA/01/A1
*****J1 **********
*NCBNTR *
• *
♦ SWA DEAD/WRITE *
*****************
t BA/01/AI
*****K1 **********
•NCBNTR *
•SBA'aEAD/SiiTi"*
* HRITB LBTBL 1 *
• INDEX •
*****«i* **********
BA/01/A1
*****H2 **********
♦NCENTB *
* *
->*SWA BEAD/WBITE *
* WRITE COMMON *
* SECTOR *
*****************
V BA/01/A1
*****B2 **********
♦NCENTB *
* *
♦SKA BEAD/WBITE *
* WRITE FOBMAT *
* FIVE *
*****************
■'
.♦.
C2 *.
V BA/01/A1
*****D2 **********
*NCBNTR *
* FIND *$STIM *
* *
*****************
*****E2 **********
* HOVE ADDR OF *
* HFCD SYSIN *
* ROUTINE INTO *
* PBOG LEVEL *
* COMMON *
*****************
*****F2*« ********
*****************
*****q2**** ******
* *
* INDICATE MFCU *
* ASSIGNED TO *
* STSIN *
* *
*****************
C3 *.
. * *.
AVAILABLE
BA/01/A1
*****q 3 **********
♦NCENTB *
* FIND $*STIC *
* *
*****************
*****£ 3**********
*****************
*****p 3 **********
* *
* LOAD IAR FOR *
* INTERBUPT FOB *
* LEVEL 1 *
* *
*****************
.* STSIN *. TES
*. ALBEADT .*
♦.ASSIGNED ..♦
AUX *.
BEADEB .<
AVAIL .*
*. .*
SYSIN
NEED
.ASSIGNING.
****
*****E1| **********
* *
* INDICATE AUX *
* BEADEB *
* AVAILABLE *
* *
*****************
*****
*002*
* Bl*
*****
♦002*
* Bl*
*****)] 3**** ******
*****************
***** j3 **********
* *
♦HOVB ADDR INTO *
♦STSIN ABBA FOR ♦-
* LEVEL 1 *
* *
*****************
++***G 4 **********
*****************
*****H<( **********
* *
* NOTE ADDBESS *
* INTO COMMON *
* RBGION *
* *
*****************
***** JH **********
*****************
*****
♦002*
* B1*
BA/01/A1
**** *D5 ******** **
♦NCENTB *
* FIND $$STIM *
* *
*****************
*****E5*+* *******
♦ MOVE ADDB OF ♦
* SYSIN ROUTINE *
♦INTO PttOG LEVELS
* COMMON *
♦ *
*****************
*****P5 *******,***
♦ *
♦INDICATE SYSIN *
♦ASSIGNED TO AUX*
♦ READER ♦
♦ *
*♦♦*♦***♦********
I****
♦ ♦
->* E« ♦
• *
****
E
Chart EA (Part 1 of 2). Terminator Initial Program Load Routine ($$TMIP)
Program Organization 5-55
****
► 4
► 12 *
» *
****
♦00101-J4
* F1*
.* *. HO
*. HODEL 6 .*
*. .*
*****A2 **********
* *
* SBT UP LIHE *
* CONTBOt FOB *
* PBINTEB *
* *
******* **********
'****
* *
* B2 *->
* *
****
*****32 **********
C1
*.
,* MATRIX
PBINTEB
♦.KETBOABD .
*. .*
*. •*
♦ YES
*****Q1 **********
* *
» SET OB *
♦CONVEBSATIOHAL *
* BODE *
* *
*****************
■' Bl/01/41
*****£ 1 *****'*****
♦NCENTB *
* FIBD $$STIP *
* *
*****************
*****F1 **********
*****************
*****************
****
*,
* BO
IP 070
.*
V
.*.
G1 *.
LIHE *.
*. PBIBTEB
♦.AVAILABLE.*
"*. .*"
* TES
****
* *
* B3 *
► 4
****
.*.
H1 ♦.
.* *.
.* STSLOG *. B
ALBE1DY .*-
*. ASSIGNED .*
*. .*
*. .*
* TES
■ ***•
* *
l_>* B2 *
* *
****
BA/01/A1
*****B2 **********
*BCEBTB *
• FIBO $$STOH •
• *
*****************
*****j2 **********
♦ *
• HOVE ADDBESS OF*
• I0DTIHE IBIO •
* COBBOB REGION *
* *
*****************
*****K2**********
*••**•*•********•
It *****
* B3 * *
* * C3 *->
***** *
****
IP110
*****C3*** *******
*****************
*****Q3 **********
•INDICATE END OF*
* JOB HALT *
* BEQUIBED IN *
* LEVEL 1 *
* *
*****************
***** E 3 **********
* INITIALIZE *
* OTHEB BITS IN *
* SISTEB COBHON *
* BEGION *
* *
*****************
.* DPF *. TES
*. SYSTEM .*
*. . *
*****G3**********
♦SETUP PBOG OBE *
* BOUND = STABT *
♦AND END OF MAIN*
* STOBAGE *
* *
*****************
BA/01/A1
*****H3*****^****
♦NCEBTB *
* SKIP A PAGE *
* *
*****************
****
* *
* J3 *->
* *
****
J3*
HODEL 6
'*. .*
****K3*********
• *
• EXIT *
• *
*•*******•**•**
TO: tSBDHL
BBADEB/IMTEBPBETBB
MAINLINE
BA/01/A1
*****B4 **********
♦NCENTB *
* FIND $$STON *
* *
•*****•**•******•
*****C4 **********
*****************
.* STSLOG
ALBEADY
*. ASSIGNED
*.
* TES
****
* *
* El» *->
* *
****
*****£t| **********
*****************
*****p(| **********
* SETUP *
*BO0NDABIES FOB *
->* PBOG LEVELS 1 *
* AND 2 *
* *
*****************
*****Q1| **********
* *
* FOBHAT INDEX *
* FOB PBOG BAH *
* LEVEL 2 ♦
* *
*****************
BA/01/»1
*****Htt **********
•NCENTB *
****
* 4
* C3 *
* *
****
*****************
****jlf*** ******
• *
->* EXIT *
* «
**•**•******••*
BA/01/A1
*****K4**** *'*****
•NCENTB *
•STANDBY BOOTINE*
• •
*****************
BA/01/A1
*****D5* *********
♦NCENTB ♦
*****************
*****E5 **********
* *
* HOVE ADDB OF *
* BOOTINE INTO *
* COBHON *
* *
*****************
*****P5 **********
*****************
*****q5 **********
* *
* SETUP LINE *
-* CONTBOL FOB *
* PBINTEB *
* *
*****************
BA/01/A1
*****H5**** ******
♦NCENTB ♦
*****************
*****J5 **********
* *
* HOVE STANDBY *
* BOOTINE INTO *
* LEVEL 2 ♦
* *
*****************
*****K5**********
* *
♦ENABLE DPF AND *
-•INTEBBUPT LBVEL*
* *
*****************
Chart EA (Part 2 of 2). Terminator Initial Program Load Routine ($$TMIP)
5-56
$*T(IEO
****A1 *********
* <
* ENTER »
* *
***************
*****B1 **********
B»/01/»1
*****A 3 **********
♦NCENTR *
* A3 * >*
* LOUD tSSSVT *
* *
**•*••*****•*****
*****************
*****************
EOPASS BA/01/A1
*****cn* *********
♦NCENTR *
>*
* •
* C« *
* •
**••
*******••*•*••*•
EC/0 1/A 1
****C5 *********
*
EXIT *
*
*•*••*******•**
****«D1 *•*••*•*••
*****************
.* CAN *.
F1'S BE
*. DELETED .*
BA/01/A1
*****D4* *********
♦NCENTB *
*****************
.* TAG *. HO
SOBT .* •
••BEQUIBED .* I
*****************
*****pi **********
*****************
B
****
* •
* c« *
* •
**••
EH/01/A1
****F 3 *********
► *
► EXIT *
* *
***************
TO: $$T«SK
TAG SOBT
ROUTINE
DISK
HARD! ABE
. EBROB
* DETERMINE ALL *
* UNITS USED BT •
* FOEHAT ONE'S *
* •
*****************
SET
* INDICATOR IN
* PHOGRAH LEVEL
* CORHUIICATIOR
* REGION
*****************
*•**
* •
* K1 *
* *
**••
EOFDLL .*.
K1 <
BOB PI BA/01/A1
•****Q2**********
♦NCENTR *
* TBRN '02'
*************
•*•••***
****H2 *********
► *
► EXIT *
► *
•****•**•**•**•
TO: SUPPORTED
BALT/SYSLOG
ROUTINE
EODONE B A/0 1/A 1
*****K2 **********
•NCENTR *
*••••*•*****•*•*•
BO EX IT
****K3 *********
* *
>* EXIT *
* *
***************
TO: SSTHRI
TERMINATOR RE-INITIALIZATION
ROUTINE
****
• *
• A3 *
• *
•**•
Chart EB, Terminator End of Job-Phase One ($$TMEO)
Program Organization 5-57
StTHEJ
****A1*********
* *
* ENTER *
***************
****
* *
* B1 *->
* * <
****
" BA/01/A1
*****************
* VOLUME
LABEL READ
*. Y ET
EJUNIT .*.
D3 *.
. * *
.* pi g =
». LABEL Q
EC/02/AU
t****QH* *********
♦EJVOLN *
*****************
EC/02/A"i
*****QH **********
♦EJVOLO *
EJNKWV EC/02/AI*
*****Q5**********
♦EJVOLN *
**********
EJDONE BA/01/A1
*****£2**********
♦NCENTR *
*****************
*****^4 **********
* *
* INDICATE PACK
**************
" BA/01/A1
*****F1 **********
♦ NCENTR *
*****************
EJHALT V BA/01/A1
*****Q1 **********
♦NENTRY *
*******•••***•***
.* TAG *. H
• SORT HEEDED .*-
*. .*
1
*. .*
1
*. .*
V
■ YES
****
* *
* B1 *
* *
****
EG/01/A1
****j ^ *********
*
EXIT *
*
*******
********
*****************
ED/01/A1
V
****P2 *********
* *
* EXIT *
* *
***************
TO: JSTHBI
RE-INITIALIZATION
TRANSIENT
*****************
* GET A TAG
*
*
****************
****
* *
* B1 *
* *
****
************** **1
*****
♦002*
* F1*
* *
EJFREE .*.
EJTEST
.*.
EJUSED
H3 *.
HI *.
*****nc**** ******
. * *
* *.
.*
*
NO
•
•S'
*
NO
♦INDICATE VOLUME*
*. GOT ONE
*
>*
!NTRY TO BE
*
>« label USED *
*.
*
*
DELETED .
*
A * *
*. .*
*. . *
1 * *
*. .*
*. .*
*****************
« YES
* YES
* 1
• *** 1
1
* * 1 ****
02-G 2*002*
1
*002* I * *
* G3 *->(
V
* D2* L ->* B1 *
* *
*****
***** * *
**** I
*00 2*
****
EJGOT1 V
* G3*
*****J3**********
*****************
*002*
* »1*
Chart EC (Part 1 of 2). Terminator End of Job-Phase Two ($$TMEJ)
5-58
EJVOI.N
* »
* ENTEK *
***************
EJVOLO
****AS *********
* *
* ENTFtf *
* 4
***************
*****************
♦ 001*
* J3*
*****
*****************
****************
********
*
Q BYTE*
*****************
VOLUME
LABEL IN
CO HE
****************
*****************
**** j
* * |
* D2 *->
* * j
**** |
EJUPDT V BA/01/A1
*** ♦♦02 **********
*NCENTB *
V BA/01/A1
*****C1 **********
♦NCENTR *
*****************
****D4 *********
► *
* RETURN *
V BA/01/A1
*****CS**********
♦NCENTR *
4 *
+ SiSSVT WRITE *
* OtlT THE VOL. *
* LABEL *
*****************
****Q^*******4
*
► RETURN
*****************
*****************
B
♦001*
* F5*
*****
EJGETS V EC/02/H5
*****K1**********
♦EJFBES *
****
* *
* G2 *->
* •
****
EJXTS " EC/02/HU
*****G2 **********
♦EJDNAH *
*****************
->* J3
* 4
**•*
.* CHANGE *
. 'T' TYPE TO
*.»S' TYPE . *
*****************
IS IT
NOW A 'T
. TYPE
1 **
► ***
►***FU**********
*
*
UPDATE F1 *-
*
*
****************
****
EJRBOV . ...
*****Q3******
♦EJFBES
EC/02/H5
*****************
*001*
* H»*
*****
1**4*
♦ 001
->* J3
H3 *.
*
CHANGE
->* F» *
* 4
****
•ZEHO ODT F1 AND*
*****************
****
k 4
* D2 *
► 4
• **•
EJDNAN
****H4*********
* *
* ENTER *
* *
*••*•**•••*****
*****J4* *********
* *
♦BEHOVE VTOC F1 *
♦FBOH 'T' OR 'P'*
* LIST *
* *
*****************
****K4 *********
* 4
♦ RETURN *
EJFBES
****H5*********
* 4
* ENTEK *
* 4
***************
*****j5 **********
*****************
****K5*********
* 4
► RETURN *
****••*•****••*••
Chart EC (Part 2 of 2). Terminator End of Job-Phase Two ($$TMEJ)
Program Organization 5-59
SSTHRI
****i1*********
* *
* ENTEB ♦
* *
***************
BA/01/A1
*****B1 **********
♦NCENTR *
* •
* LOAD JtSSSC *
* *
*****************
I
*
• A4
*
• ***»
*****A4**** ******
♦SETUP CONSTANTS*
* FOB *
>* REFORMATTING *
* INDEX *
* *
*****************
NOTE: THIS INCLUDES
NESTED CALLS
PROCEDURE INDEX
FORMAT 7 INDEX
*****************
V JU/01/A1
*****C1 **********
*$tsssc *
*****************
*****D1 **********
* *
* MOVE IPL DATE *
* INTO COMMON *
* REGION *
* •
*****************
***** El **********
* INITIALIZE *
* SCHEDULER *
♦SWITCHES - SEE *
* NOTE 1 ♦
* *
*•******•*•**•**•
*****pi **********
****•**•***•****•
• CLEA1 DATA •
•MANAGEMENT BITS*-
• FOB LBTEL 1 *
• •
*****************
NOTE 1: CLEARS THE FOLLOWING
SCHEDULER SWITCHES AND AREAS:
1. PROGRAM NAME
2. PROGRAM UNIT
3. OBJECT UNIT
4. TAG SORT BIT
5. SOURCE REQUIRED PIT
6. STATEMENT ORIGIN INFO
7. FILE STATEMENT RECEIVED BIT
8. UTILITY CONTROL CABDS IN SWA BIT
9. CONTINUATION BIT
10. PROCEDURE BIT
11. // SWITCH BIT
12. // COMPILE BIT
13. // DATE BIT
14. EOJ SCHEDULER BIT
*****S3 **********
->*RELBASE CONSOLE*
*****************
*****H2** ********
* *
* RELEASE STSII *
->*ASSIGNHENTS FOR*-
* THIS LEVEL *
* •
*•*•*•*•*••••****
*****H 3** ********
***•*•****•****•*
.* IS THIS
. A BOLL-OUT
*. CALLER .
*****C5 **********
* •
*NO-OP RELEASING*
► * DEVICES TO *
* STSIN *
* *
*••******•****•**
BA/01/A1
.* SJTMSB *.
BEEN
♦.OVERLAYBD.*
*****gt| **********
* *
♦CLEAB ATTBIBUTB*
* BYTES FBOH *
* INDEX SECTOB *
* •
*•**••*•******•••
*****F» **********
♦BELEASE DEVICES*
* ALLOCATED TO *
* THIS LEVEL TO *
* STSIN - SEE *
* NOTE 2 *
*••**•*****•***•*
•****Q4**********
•RELEASE DEVICES*
* ALLOCATED TO *
* THIS LEVEL TO *
* STSIN - SEE *
* HOTB3. *
••••••****•**••**
.* P8IITBI *. I
. ASSIGNED TO .*-
♦.OTHER LVL.*
*. .*
*****J2**********
* •
* CLBAB DATA *
->*HANAGBBENT BITS*-
* FOB LEVEL 2 *
* •
**••********•***•
*****J3**********
* *
* SBTOP *
->*PABARETBBS FOB * -.
* LEVEL 2 • I
* * I
***************** 1
BI051 V
*****JH **********
♦NCENTB *
BA/01/A1
*****K2 **********
* JISSSC- BBITE *
* INDEX SEC AID •
* COB SBC *
*••***•**•***•***
*****K4 **********
RI028
***** D 5 **********
♦NCENTR
» >* x % *
*****************
*****************
*****************
*****H5 **********
* •
•RELEASE PBINTEB*
->* TO SYSTEM FOB *
* LOGGING *
* *
••*****•••••**•**
BA/01/A1
*****************
*****
•002*
* B1*
Chart ED (Part 1 of 3). Terminator Re-Initialization ($$TMRI)
5-60
*****
*001*
* K5*
* *
A3 *.
**** „* 4
► * .* LEVEL
* A3 * >*. ONE
*****AI| **********
*****************
*****A5**********
*****************
.* *.
► IPL *. MO
HODE .*
*. . *
.*
*. .*
* HO
•****B2** ********
*****************
RI060 .*.
C2 *.
.* *.
.* HILT *. 1
>*. BEQUIHED .*-
♦. . *
* HO
1****
♦ 003*
->* p« *
* *
****
*****D2 **********
* BBSET BEADEB/ *
* IHTEBPBETBB *
->*SWITCHBS. TOBH *
*OFF MODE 6 BIT *
*****B(|**********
*****21 **********
*****************
*****pi *********
• INDICATORS
*
****************
IPL
*„
NODE
*
■
*• .»"
*
1
*
****
•
* IC3
*
*•**
'
****
* *
* K3 *
> *
****
*****************
*****************
PARTITIC
. GIVEN
*.
♦BEDOCE LEVEL 2 *
* PARTITION SIZE *
* TO 256 BITES *
* *
*****************
****
BA/01/A1
*****************
V BA/01/A1
*****f 3*****'*****
♦NCENTB *
* FETCH SSTNSB *
* *
*****************
EE/01/A1
****q3 *********
► *
* EXIT *
» *
**•*•***.*******
TO: TEBMNATOB
STANDBY BOOTINE
(JjTHSB)
♦BEQUEST BOLL-IN*
* FOB THE NEXT ♦ <--
YES
*
IS THIS *.
*
A HOLL-OOT .
* TINE *
*.
CALLER .*
* *
♦. .*
*****************
|
♦. . *
* NO
I ****
* *
••->* E3 *
* *
****
. *.
C5 *.
*****£ (|**********
* *
* *.
♦BESET PARTITION*
NO
*"
IS *.
♦ SIZB AS *
r — *
BOLL-IN
♦ INDICATED *
j
*.
REQUIRED .*
* *
I
♦. .*
*****************
1
V
****
♦. . ♦
■■ YES
1 ****
*
*
* *
*
E3 *
L_>* E3 *
*
*
* *
*•*•
****
" BA/01/
***«
*D5*********
♦NCENTR
* FIND SSSTRI *
* *
*****************
****E5*********
► *
* EXIT *
► *
•***•*****•***•
***i»*I) 1**********
****************<
*****J2 **********
****************
! 1
.♦ SYSIH - ♦., HO
*. CONSOLE .,*
+ „ .*
*. . *
*. .*
* TBS
I
*****K2**********
• TOBH ON ♦
♦ IHDICATOB TO *
>♦ CLEA1 SISIH *
*****************
*•*•
* *
* K3 *
* *
*•*•
BI062
.* DPF *.
->*. SYSTEH
A *. .♦
***4
J* K3 *
* *
•*•*
****
• •
• A3 *
• *
****
f
*****
♦003*
* B1*
Chart ED (Part 2 of 3). Terminator Re-Initialization ($$TMRI)
Program Organization 5-6 1
*****
♦002*
* J1*
* *
IS THIS *. YES
A ROLLOUT .*
. CALLER .*
*. . *
.* BOLL I H *. YES
►. BEQUESTED
01 *.
.* *.
.* COMfEBSA- *.
*. TIOIAL
*. HODE .*
*****B2 **********
*****************
****
* 4
* El *
* 4
****
>*
FISD SSSTBI *
* *
*****************
****02 *********
* «
->* BUT *
* 4
***************
BK/01/A1
****C3* ********
* *
->* EXIT *
• *
***************
****
* •
* E1 *
****
***•*£ 1 *********
*
*
* E J HALT
*
*
****************
****
* *
* ri *->
* *
****
T BA/01/A1
*****P1 **********
*****************
r BA/01/A1
*****£ 1 **********
*NBHTRI_ _ *
* •
* FETCH SJBDNL *
* *
*****************
GA/01/A1
****H 1 *********
* *
* EXIT *
* *
***************
TO: SSBDHL
BEADEB/IHTBRPRETER
HAIRLINE
*****
♦002*
* C2*
IS THIS
*.
NO
*
BOLLIN
•
NO
ROLLOUT
*
>*.
BEQUESTED
* ■
CALLER .
*"
*
*
I
. *
*. „*"
I
*. .*
*. .*
t
* YES
* YES
****
* *
* F1*
* *
****
'
V BA/(
>1<
'A1
*****Q(| **********
* *
•BEQUEST BOLLIN *
* FOB THE NEXT *
* TIHE *
* *
*****************
1****
* *
->* F1 *
* *
*•**
*****G5 **********
•NENTRI *
* •
* FIND $$STRI *
* •
*****************
BK/01/A1
****H5 *********
* *
* EXIT *
* *
***************
Chart ED (Part 3 of 3). Terminator Re-Initialization ($$TMRI)
5-62
$$TNSB
****A1 *********
* 4
* ENTER <
* 4
***************
****
► 4
► A3 *
4
****
♦OBTAIN POINTER *
* TO PHOG LEVEL *
* COMMON BEGION *
* *
*****************
****
* *
* CI *
* *
****
*****£ •] **********
* *
* SET HALT TO *
* «EJ' *
* *
* *
*****************
HPLNSI 7
*****[! 1 **********
* STORE NSI OF *
* HPI, IN PROG *
* LEVEL COMMON *
* REGION *
* *
*****************
****
CLEAR
*****£ i **********
*****************
* INDICATE THIS *
* LEVEL *
* IH-OPERATIVE *
* *
*****************
*****************
*****A5*** *******
* SET THE *
* PARTITION *
->* BOUNDARIES TO *
*****************
DEVREO.
DEVICE
REQUIRED
.*
,*
NO
. *.
C3 4..
. * *.
.* IS LAST *
♦. DEVICE USED
♦.AVAILABLE.*
*. .*
♦. .*
♦ NO
****
* *
* D3 ♦->
* *
****
*****q3 **********
*****************
OTHER ♦. NO
LEVEL USING .♦
. DEVICE .♦
*. .♦
* ASSIGN DEVICE *
>* T0 THIS LEVEL *
A * *
1 * *
♦. .*
I *****************
♦ IES
1 ****
****
♦ *
* *
L->* D3 *
* *
♦ B5 *
* *
*•**
****
GO V BA/01/A1
*****C5*********4<
♦NENTRT
*
*
*
***•
¥ 4
* B5 <
* 4
****
* FETCH SSTHSI *
* *
*****************
EF/1/A1
****D5 *********
► *
• EXIT *
► *
***************
E
*****gii* *********
LEVEL 2 *. YES
♦RESET LEVEL TWO*
WITHOUT .♦
— ->*PABTITION SIZE *
PARTITION.*
* TO IK *
*. .*
* *
*. .*
*****************
* NO
I
I ****
I ****
* *
* *
l_>* c1 *
l_>* et *
* *
* *
****
•*•*
*****************
.*.
J1 *.
.* *. ****
► IS *. IES * *
THERE «K .* >* A3 *
►.AVAILABLE.* * *
*. .* ****
* NO
*****r:i **********
*****************
I****
* *
->* El *
* *
**•*
Chart EE. Terminator Standby Routine ($$TMSB)
Program Organization 5-63
$*THSI
****j1*********
* 4
* ENTER *
* 4
***************
*****B1 **********
♦OBTAIN PROGRAM *
* LET EL *
* COMMUNICATION *-
♦REGION POINTER *
* •
*****************
*****B2 *♦♦♦♦♦♦♦♦*
*****************
*****B 3 **********
*****************
. * OTHER *.
LEVEL
♦.DEDICATED.*
♦ . .*
BA/01/A1
*****B5* *********
♦NENTRY ♦
* *
>* SUPPORTED *
♦ HALT/SYS LOG ♦
♦ 'JC HALT ♦
*****************
. ♦.
****C5*********
» *
» EXIT *
* *
***************
♦ ♦♦♦
• *
► J1 *
k 4
****
TO: END OF
TRANSIENT
$$SPEJ
BA/01/A1
*****q 1 **********
♦NENTRY ♦
*****************
' BA/01/A1
*****g1 **********
♦NBHTRY ♦
* _ *
♦ READ ♦
♦ CONFIGURATION ♦
♦ RECORD ♦
*****************
F2 ♦.
.♦ ♦.
.♦ CONSOLE
->♦. SUPPORTED
*****f 3**********
-VINDICATE DEVICE^-
*****************
1)1
*v
.♦.
G1 ♦.
♦ ♦.
*
1442
*
SUPPORTED
♦INDICATE DEVICE*
*****************
♦ J1 *->
♦ •
♦ ♦♦*
MOVES
*****j 1**********
♦ HOVE DEVICE ♦
♦ INFO INTO ♦
♦ COMMUNICATION ♦
♦ REGION *
♦ ♦
*****************
*****************
HALT V BA/01/A1
*****Q2 **********
♦NENTRI ♦
►* SUPPORTED ♦
♦ HALT/SYSLOG ♦
♦ ROUTINE ♦
*****************
****H2 ♦♦♦♦♦♦♦♦♦
* ♦
» BUT «
» ♦
*♦♦♦♦♦♦♦♦♦♦♦♦♦♦
BA/01/A1
♦NENTRY ♦
*****************
*****K3**********
BA/01/A1
«** **£!)*****'*****
•NENTRY ♦
*****************
*****************
GA/1/A1
****K 5 *********
» ♦
► EXIT ♦
« ♦
***************
TO: SSRDHL
READER/INTBRPRETER
MAINLINE
Chart EF. Terminator Sysin Initialization Routine ($$TMSI)
5-64
msk
•***A1 ***♦♦♦***
* «
* ENTER *
* *
***************
****
* *
* B1 *->
* *
****
BA/01/A1
*****B1 **********
*N ENTRY *
* BEAD F1 PROM *
* SWA *
*****************
.* *.
, * HAS *
. THIS THE
*. LAST F1 . 1
EH/1/A1
****C2 *********
N *
► EXIT *
► *
***************
TO: JJTBDS
**•*
* 4
* A* *
* 4
****
• ***•{() 1**** ******
*****A4 **********
* *
♦SET OP INITIAL *
* ADDR OP ADDED *
* TAGS *
* *
*****************
" EG/06/A1
*****B4 **********
♦SICHSA *
*****************
" EG/02/A1
*****C4 **********
♦SIRDIN *
♦READ IN SECTORS*
* *
*****************
" EG/0 3/ A 1
***** D I|**********
♦SISORT *
*****************
•****jpi **********
****
* *
-->* A4 *
* 4
****
•SET OP
INITIAL *
.*
*. YES
*-
* ADDR OP TAG *
*. SEQUENTIAL .*
>*
HEDGE ADDED
* PILE ♦
♦. ADD .*
A *
KEYS INTO OLD
* *
*. •*
I *
PILE
*****************
♦. .♦
I ****************
■
♦ NO
****
I
**** |
****
* •
* * 1
* *
* P3 *
I
* Gl *->(
* G2 *->
* *
*
* * 1
* *
****
****
**•* I
****
* *
V EG/06/A1
'
EG/04/A1
* G2 *
*****£ 1 **********
k****Q2 **********
* *
♦SICHSA ♦
♦SIUPDT *
****
♦DETERMINE # OP *
♦UPDATE P1 WRITE*
♦SBCTOBS TO READ*
* SWA BACK *
* *
* *
*****************
*****************
I ****
I * *
U>* B1 *
* *
***•
' EG/02/11
*****|]1 **********
♦SIRDIN
•
*****************
V EG/02/A4
*****£!) **********
♦SIWBITE *
* WRITE. SECTORS *
* *
*****************
*****P4**«* ******
* *
* INCREMENT *
* ADDRESS BY 3 *
* SECTORS *
* *
*****************
.* IS NEW *. NO
. SECTOR > .* .
*. END .* I
1
****
* *
* B4 *
* *
****
EG/5/A1
*****H4**********
•SIORDH *
•READ IN SECTORS*
* *
*****************
' EG/03/A1
*****,] 1 •*•***••**
♦S.ISORT *
*****************
I****
* *
->* F3 *
* *
****
*****************
EG/02/A4
*****K1 **********
♦SIWRTE *
* WRITE SECTORS *
• *
*****************
*****K2 **********
* *
* INCREMENT *
->* ADDRBSS BY 3 *-
* SECTORS *
* *
*****************
.* NEW *. YES
->*. SBCTOB > .*
*. END .♦
I ****
* *
U>* 61 *
* *
****
EG/0 5/ A 1
*****KQ* *********
♦SIORDH *
♦ORDER ALL KEYS ♦
* *
*****************
I****
* *
->* G2 *
* *
**•*
Chart EG (Part 1 of 6). Terminator Key Sort Routine ($$TMSK)
Program Organization 5-65
SIBDIN
***** 1 *********
* *
* ENTER *
* 4
***************
SIHRTE
***** I| *********
* 4
* ENTER *
* 4
***************
*****B1 **********
*****BU **********
*****************
*****C i **********
*****************
****
* *
* C« *->
* *
****
*****c U** ********
*****************
*****************
*****D1 **********
*****************
*****Q1| **********
* *
♦MOVE TAGS PROS *
* BORK TO NEXT *
* LOB ORDER *
* *
*****************
* TBS
****
* *
* F 1 *
* *
****
*****F1 **********
* *
* SET OP TO *
* REMOVE GAPS *
* BETNEEN TAGS *
* *
*****************
*****Q1 **********
BA/01/A1
***** 22 **********
♦NEBTRI *
* _ *
->* *
* HALT/SrSIOG *
* *
*****************
****P2 *********
* 4
* EIIT *
* i
***************
TO: SUPPORTED
HALT/STSLOG
ROUTINE
ALL
SECTORS
. MOVED
*. .*
*****pi| **********
*****************
*****Q4 **********
* *DIODSP-IOS * *
* ♦RBAD/WRITE * *
*****ES **********
* *
* ADJUST SECTOR *
->* AND DATA *
* POINTERS *
* *
*****************
*****************
*****H1 **********
* *
♦HOVE TAGS FROM *
♦ WORK AREA TO ♦
♦ BUPFER ♦
* *
*****************
.♦ ALL ♦. NO
♦. SBCTORS •♦
♦. MOVED .♦ I
*****************
****
• *
• PI ♦
• *
****
****K1 *********
» 4
♦ RETURN «
* 4
***************
TO: CALLER
V BA/1/A1
*****JI| **********
♦NENTRT ♦
♦ HALT/SISLOG ♦
*****************
KA/1/A1
****K4 *********
» •
• RETURN ♦
* *
***************
TO: CALLBR
Chart EG (Part 2 of 6). Terminator Key Sort Routine ($$TMSK)
5-66
SISORT
****A 1*********
* 4
* ENTER *
* 4
***************
SIRTGA
****A4*********
* 4
* ENTER *
* 4
***************
•****g i**********
*****34**** ******
*****************
****
* *
* C1 *
****
*****ci **********
* *
* LOAD POINTERS *
*****************
■' EG/06/A1
*****C4 **********
♦SICHSA *
*****************
* D1 *
****
*****Q 1 **********
*****************
*****Q4**** ******
* COMPARE KEIS *
* *
*****************
KEIS
EQUAL
BA/01/A1
*****E2** ********
♦NENTRI *
*****************
*****£4 **********
* *DIODSP IOS * *
* *READ/WRITE * *
.*.
I'1 *.
• * *.
.* HIGH *
► . ORDER KEY >
♦.LOW ORDER.*
* NO
****
* *
* G1 *->
* *
****
*****(; 1 **********
* *
* INCREMENT *
♦POINTERS BY TAG*
* LENGTH *
* *
*****************
*****H1 **********
*****************
****
* *
* D1 *
* *
****
.*.
K1 *.
.* *.
■> ANT *
KEYS ODT Or
►. SEQ .*
*., .*
*. .*
* YES
*****************
*****P2** ********
* *
♦MOVE HIGH ORDER*
->* KEY TO WORK *
* AREA *
* *
*****************
*****G2**********
* *
* SWITCH LOW *
* ORDER KEY TO *
* HIGH ORDER *
* *
*****************
*****H2 **********
* *
* HOVE KEY FROM *
* WORK AREA TO *
* LOW ORDER *
* *
*****************
*****************
***•
• •
->* CI *
* •
****
****K2 *********
» *
► RETURN *
► 4
***************
TO: CALLER
*****pi|**** ******
* *
♦UPDATE ADDRESS *
* BY SECTOR *
* NUMBER *
* *
*****************
HAS *. NO
ADDR BEEN .*
. UPDATED .*
*****gi|**********
* *
*MOVE POINTER TO*
* ADDED TAG *
* POINTER *
* •
*****************
****J4*********
» •
* RETURN *
» *
***************
TO: CALLER
Chart EG (Part 3 of 6). Terminator Key Sort Routine ($$TMSK)
Program Organization 5-67
SIUPDT
****A1 *********
* 4
* ENTER 4
* 4
***************
♦****B i **********
*****************
* CI *->
* *
****
♦ BG/06/A5
*****C1 **********
♦STBTGD *
* *
* •
* READ D TAGS *
* *
*****************
7 EG/03/A<»
*****D-] **********
♦SIRTGA *
♦READ ADDED TAGS*
* *
*****************
****
El *->
*
• ***
.*.
E1 *.
.* *
.* END OP
. ADDED
KEYS
****
* +
* A4 * .
* * I
**** }
*+***s n* *********
*****************
•*• EG/06/A5
B« *. *****B5**<*****»**
.* *. *SIRTGD *
, * D *. HO * *
. POINTER = .* >* *
♦.START EXT.* * READ D TAGS *
*. .* * *
*. .* *****************
* YES
C«" *. C5' "*.
.* *. .* *.
* OUTPUT *. NO .* ATIND *. YES
FULL .* >*. ON .* .
. »
**•*
***«*D4 **********
* * DIODSP * *
* * WRITE * *
* * OUTPUT * *
* * BUFFER ON * *
* * DISK * *
*****************
* NO ****
■ **** * *
I * ** AH*
L - >* F1 ** *
* * ****
**♦*
*****E2 **********
El» *.
ATIND
*****************
****
*
F1 *->
*
****
.*.
F1
****
* 4
->* A4 4
* 4
****
*** +
* *
* El *
* *
***«*Q1 **********
*****************
* *
* CI *
* *
****G n*********
* 4
* RETURN 4
* 4
***************
TO: CALLER
IS «A' *. IBS
BUFFER .*
BHPTY .*
*****[I2 **********
*****************
.* OUTPUT *. YES
►. FULL .* •
*. .* I
*- •*
**»4i
* *
• D4 *
41 •
• ***
.*.
K1
► *. *+**
IS «A' *. YES * *
BUFFER .* >* AH *
EBPTY .* * *
► . .* 41**4
*. .*
* NO
I****
* *
->* F1 *
* 41
***4i
Chart EG (Part 4 of 6). Terminator Key Sort Routine ($$TMSK)
5-68
SIOBDR
****A ]*********
* 4
* BNTEB *
* 4
***************
****
* *
* B1 *■->
* *
****
' EG/03/A4
*****B1 **********
*SIRTGA *
* *
* *
* BEAD •»• TAGS *
* *
*****************
' EG/06/A5
*****C) **********
♦SIRTGD *
* READ 'D' TAGS *
* *
*****************
****
****
* *
* A« *
*****A5 **********
* * DIODSP * *
* * WRITE * *
>* * OUTPUT ON * *
A * * DISK * *
1* * * *
*****************
**
EG/03/A*
*****g 3*** *******
♦SIHTGA *
* READ 'A» TAGS *
* *
*****************
I****
* *
->* D1 *
* *
****
IS 'A'
BUFFER
EMPTY
► A5 4
¥ 4
****
****
► 4
► D1 *
* 4
****
IS 'D 1
BUFFER
EMPTY
BUFFER
*. EMPTY
*.
* D1
****
*->
*
D1" "*.
* *.
IS 'D'
TAG LOR
*. •**
*. .*
* YES
*****£ | **********
. *
.*
► MO
I****
* *
->* D1 *
* *
*•**
****
» 4
* J1 *
► 4
****
IS
A"
*
. NO
BUFFER
,* ■
EMPTY .
*
I
*. .*
I
*. .*
Y
* YES
****
* *
* J1*
* *
****
"
•Q5**********
*
DECREMENT
*
SIORDR
*
*****************
****
* 4
► J1 *
* 4
****
E
*****************
F1 *•
► *."
IS »D« *. YBS
BUFFER .*
EMPTY .*
****
► 4
► B1 *
► 4
****
*****P2*>* ********
* *
* SET OH 'D' *
->* BUFFER EMPTY *
* INDICATOR *
* *
*****************
****P5*********
* *
* RETURN *
* 4
***************
TO: CALLER
****
► 4
► A5 4
* 4
*•**
*. BUFFER
*-
.. ,
*. EMPTY •
•
1
*. .*
I
*. .*
♦
* YES
****
****
«
* *
* D1
* J1 *->
*
* •
****
****
'
*****J1*
*********
*****************
IS 'A'
BUFFER
. SMPTY
*.
*****K2 **********
*****************
****
* 4
► A« *
* 4
****
****
* *
* A« 41
* *
****
Chart EG (Part 5 of 6). Terminator Key Sort Routine ($$TMSK)
Program Organization 5-69
SICHSA
«*+*A 1*********
* *
* ENTEB *
* 4
***************
SICHSD
****A3 *********
* *
* ENTEB »
* *
***************
SIRTGD
****A5 *********
* *
* ENTER *
* *
***************
•***B i**********
****************
*****C1 **********
* *
* HOVE CU8BBNT *
* ADDH TO IOHK *
* AREA *
* *
*****************
* INCBENENT *
♦SECTOR ADDBESS *
* BY 1 SECTOB *
* *
*****************
*****************
F1 *.
.♦HAVE 3 *.
► SECTORS *. HO
BEEN •*
► .PROCESSED.*
*. .*
*. .*
*
*
■*
AT END
OF ROBK
BOFFEB
*. .*
*
.*
* TES
****Q1 *********
► i
► BETDRN *
* 4
***************
TO: CtUEB
*****B3 **********
*****************
*****C3* *********
* *
* LOAD CURRENT *
* ADDRESS IHTO *
* THE WORK AREA *
* *
*****************
*****B5 **********
*****************
" EG/06/A3
*****C5 **********
♦SICHSD *
* *
* CHECK FOB *
•ALLOWABLE • OF *
* SECTOBS *
*****************
START INDEX .*---
► . < WORK .*
*. .*
*****£ 3 **********
* *
*DECREHENT WORK *
* AREA BT ONE *
* SECTOR *
* *
*****************
*****p 3 **********
*****************
G3 *.
.* WORK *.
NO .*DECREHENTED*.
— -*. BT 3
*. SECTORS .*
*. .*
*•***(] 3 **********
*****************
****j3*********
* *
* BETOBN *
* 4
***************
TO: CALLEB
*****D5 **********
* *
•UPDATE ADDRESS *
* BT NUMBER OF *
* SECTORS *
* *
*****************
*****F5**** ******
* * * *
* *DIODSP READ* *
* *IN SECTORS * *
* * OF TAGS * *
* * * *
*****************
*****q5*** *******
* *
*HO¥E POINTEB TO*
* 'D' TAG FILE *
* POINTER *
* *
*****************
****H5 *********
► *
* RETURN *
► *
***************
TO: CALLEB
Chart EG (Part 6 of 6). Terminator Key Sort Routine ($$TMSK)
5-70
DMCDDS
* ***A 1 *********
* *
* ENTER *
* *
***************
****
* *
* A« *
* *
****
****
BA/01/A1
♦GET F1 FROM SWA*
* *
*****************
LAST F1
D1 *.
.* *.
> LOAD
UNORDERED
DSEXIT
****C2 *********
* *
— >* EXIT *
* *
***************
TO: SSTMEO
TERMINATOR END
OF JOB-PHASE ONE
.* END OF *. NO
*. KEY SEARCH .*
****
* *
* H2 *
* *
****
.* RANDOM *. TBS
*. ADD .* >
*. SEQUENTIAL
*. ADD
*. .*
****
ft *
ft B1 *
* 4
**•*
*****cn **********
*****************
" BA/01/A1
*****Q14 **********
♦NCENTB *
*****************
I****
* *
->* B1 *
* *
****
*****************
*****G3 **********
* *
* SET *
->*DISPLACESENT = *
* 256 *
* *
*****************
****
* 4
* H2 <
S8D V EH/02/A4
*****H2**********
♦DSCHSA *
*****************
DSRD V EH/02/A1
*****J2**********
*DSRDIN *
*****************
" EH/02/A2
*****K2**********
•DSCAN *
*********•**•**••
I
****
* *
* A« •
* •
****
Chart EH (Part 1 of 2). Terminator Duplicate Key Scan Routine ($$TMDS)
Program Organization 5-71
DSRDIN
****A 1*********
* *
* ENTER *
* 4
***************
DSCAN
****A2 *********
* *
* ENTBB *
* *
***************
DSCHSA
****A4*********
* 4
* EHTEB *
* 4
***************
*****B 1**********
*****************
****
* *
+ B2 *->
* *
****
"
*****B2 **********
* *
* *
* LOAD POINTEHS *
* *
* *
*****************
***** 34 **********
* *
* HOVE CUBHEHT *
* C/S ADDR TO *
* WORK *
* *
*****************
*****£ 1**********
*****************
****
* *
* D1 *
* *
**•*
* +DIODHT- IOS* *
* * WAIT * *
* * ROUTINE * *
* * * *
*****************
*****E1 **********
*****************
•MOVE DATA FBOH *
* BUFFER INTO *
* 80 RK AREA *
* •
*****************
♦MOVE DATA FROM *
* WORK AREA TO *
* BUFFER *
* *
*****************
DSCLCA
. *.
C2 *
*
. *
*.
KEYS
EQUAL
I :
****
* 4
* C3 i
* 4
****
* INCREMENT *
->*POINTEB BY TAG *
LENGTH *
****************
* C4 *->
* *
****
DSCHC2 V
*****C 4* *********
* INCREMENT *
* SECTOR ADDB *
* INCREMENT *
* COUNTER *
* *
*****************
DH *.
► *
COUNTER
*****E2 **********
*****************
*****P2 **********
* *
* SET ON *
* DUPLICATE *
* INDICATOR *
* *
*****************
BA/01/A1
*****q2 **********
*HENTBY *
* *
* SUPPORTED *
* HALT/SYSLOG *
*****************
► ***
*
B2 *
4
► ***
****
► *
* TU *
» 4
****
.*.
****E3*********
► 4
* RETURN 4
« 4
***************
TO: CALLER
E4
.* NORK *.
.*ADDR = OB >*. NO
►. END .* .
♦. EXTENT .* I
****
* *
* F« *->
► *
*•**
HBK
****pi|* ********
* 4
* BETUBN *
► 4
***************
TO: CALLEB
ALL *
NO
SECTOBS
* 1
MOVED .*
1
. *
1
*• .*
V
* YES
***•
* *
* D1 *
* *
'
****
DSRBAK
****J1 *********
* 4
* RETURN «
* 4
***************
TO: CALLEB
Chart EH (Part 2 of 2). Terminator Duplicate Key Scan Routine ($$TMDS)
5-72
JSRBIP
•***A 1*********
* «
* ENTEB *
* 4
***************
*****B1 **********
* *
* ENSBBB LEFT *
* HARGIN SWITCH *
» OPERATIVE *
* *
*****************
C1 *.
* *.
LOG ON
*. .*"
*. .*
* TES
*****
♦001*
* A3*
IP1000 V BA/01/A1
*****& 3 **********
•NCENTB *
*****************
****B3 *********
► *
* EXIT *
***************
TO: $$BBCO
*****
♦001*
* A«*
At
DATA96
,* >* set LOG OS
*****************
SOPPOBTED .*-
*****B4 **********
*****************
C« *.
.* *.
LOG OFF 1
SPECIFIED
BA/01/A1
*****X 5**** ******
•NCENTB *
*****************
->* SET LOG OFF
*****************
->*PROHPT FOB DATE*<-
*****************
*****g1* *********
*****************
CHAIN
*.
IBS
NODE
*
* ,
1
.*
1
*. .*
♦
* NO
|
****
*
* A3
*
****
. *.
1 *.
*
INTEB
*,
NO
MODE
*
TES .* GOOD *.
*. DATE .*
*. .*
EBB002 V BA/01/A1
***** F 2**********
•NCENTB * ****
* * * *
•HALT/STSLOG TO * >* D2 *
* LOG EBROB * * *
* * ****
*****************
*****G2**********
* * ****
•SET INTER NODE * * „ *
>* ON * >* D2 *
*****************
****D4* ********
* 4
* EXIT *
* *
***************
TO: $$SPEJ
****
♦001*
* EU * •
•' I
****
IB3000 * BA/01/A1
*****gt| **********
•HCENTR *
*PBOHPT FOR LOG • •
* DEVICE USING * I
* $$BBLG • I
***************** f
•001*
****
* F5*
*
*
* *
* HI
*
*
*
*
I
****
I
BA/01/A1
ENTEB
.*.
*****?){* *********
F5 *.
•NCEHTR *
NO .
* BASIC
•HALT/STSLOG TO *<
CO-RESIDEHT
• LOG EBBOB *
* *
*****************
1
*. . *
* TES
1 ****
* *
l->* H1 *
* *
**•*
****
► *
* H1 *-»
****
READT
*****H1 **********
* *
* PROHPT BEAD!. *
•CHECK RESPONSE *
*****************
*****************
T...1 001 A3
."...2 001 A3
"... .3.. ...001 A3
'....* 001 A3
'....5 001 E*
I...6.....001 A4
"....1 001 F5
IP2000 t BA/01/A1
*****G5 **********
•NCENTB *
•LOAD BASIC IPL *
* »
*****************
****H5 *********
» *
» EXIT *
* *
***************
" BA/01/A1
*****K1 **********
•NCENTB •
1..BESP0NSE 8 AS CALL
2..BESPONSE HAS LOAD
3..BESPONSE HAS BDILD
».. RESPONSE HAS BOILDC
5.. RESPONSE HAS LOG
6..BESPONSB HAS READEB
7.. RESPONSE HAS ENTEB BAS
*****************
I
****
• *
• HI *
• *
«***
Chart FAl Conversational Scheduler Initializer ($$RBIP)
Program Organization 5-73
$$RBCO
****A1********»
* 4
* ENTER *
* »
***************
*****
•003*
* <J«*
♦SAVE REGISTER 1*
**********
V FB/01/A3
*****C1* *********
♦coiooo *
*****************
*••*******•*••***
BEGIN
NEW OCL
SEQ.
****
♦ 005*
* OH ♦ ->
* *
****
CO2000 .*.
D1
■ .
.*
. *
*. BUII
D
c
*****D2 **********
*****************
*****D3 **********
*****************
.* JUST *
.* FIKISH A
.BUILD NAME
*. UNIT
*****
♦002*
* A1*
.* 5JAS
. CALL THE
*. RESPONSE
CO1030 * FB/0U/A1
*****P1**********
♦LOADED *
* LOAD IJUBCC *
* *
*****************
*****E2 **********
**********
cooooi
*****F2**********
♦ CO0520 *
* LOAD $JRBIN *
*****************
*****C5**** ******
•*•••*******•**••
»****D5 **********
•********•**•***•
*****
♦00 3*
* »1*
02-J3*003*
* G4 *->
*G 1 *********
EXIT »
*•**
coooio
*****G2* *********
* TURN OFF *
* INVALID *
* RESPONSE *
* INDICATOR *
* *
*****************
.* WAS *
.* RESPONSE
LOAD OR
*. BUILD
****
*002*
* H5 *->
* •**
CO0061
*****pi|* *********
* TURN OPP LAST *
* BUILD OCL BIT *
* IN CONTROL *
* TABLE *
* *
*****************
PRINT1 V BA/01/A1
*****G4 **********
♦NCENTB *
*****
♦ 002*
* pa*
*****************
*****************
****+K2**********
* *
♦SET POINTER TO *
* LEAD ENTRY OF *
* CONTROL TABLE *
* *
*****************
*****H3**********
♦ *
♦SET POINTER TO *
->*BUILD ENTRY OP *
♦ CONTROL TABLE ♦
♦ *
*****************
*****J3**********
***********
Chart FB (Part 1 of 5). Scheduler Control Routine ($$RBCO)
5-74
COO CI 60
*****A1** ********
♦ MOVE TO ONUS*
♦DIGIT OP SEQ##,*
->* ADD 10, MOVE *
*SE^# TO BUFFErf *
* *
*****************
• *.
B2 *.
* JUST *
FINISH A
NANE AND
UNIT
*. .*
*. . *
* YES
*
*
NO
CO0070 .*.
B3 *.
.* JUST *.
.* FINISH A *. N
A *. PROMPT .*
I
****. * yes
* * 1 ****
* B3 * * *
* * l->* E2 *
**** * *
****
.* JUST *.
* FINISH A <
LOAD NAME 6
K. UNIT .<
.* MAS *.
.♦LOAD NAME A*.
.COMPILE TYPE .
*. fROfS. .*
****
CO00 7S
*****E 1*********
****************
****
CO0080
*****C2**********
* SEARCH OBJECT *
* DIRECTOHY FOB *
* PROG. TO BE *-
* LOADED *
* *
*****************
*****D2 **********
* *
* BUMP CONTROL *
->*TABLE PTR. PAST*
* COMPILE STMTS *
i »
****
**********
«***
cooovv .*.
F1 *
*****
*003*
* A1*
****
*****E2 **********
* TUHN OFF LAST *
♦COMPILE OCL BIT*
♦ IN CONTROL *-
♦ TABLE *
* *
*****************
*****F2 **********
*****************
I ***•
*003*
!■->* m *
* •
****
CONERR
****G2*********
* *
* ENTRY *
* *
***************
+****H2 **********
* SAVE BETUBN ♦
* ADDRESS AND *
♦MOVE IN C/S OF *
* SSSLSE *
* *
*****************
' BA/01/A1
*****J2 **********
♦NCENTB *
* LOAD SSSI.SE *
* *
*****************
****K2*********
. * OBJ. *.
LIB ON
SPECIFIED
. PACK
****
» *
» D3 *->
FB/02/G2
****
CO0091 _ _
*****!) 3 **********
♦CUMERR *
* *
♦LOAD $$SLSE AND*-
♦ PRINT ERROR *
♦ MESSAGE *
*****************
CO0090 FB/0U/A3
***** E 3**********
*CO1000 *
k***********
****F3*********
► *
► EXIT *
FB/0VA3
*****ca **********
♦CO1000 *
* *
>* FIND THE * —
♦ SPECIFIED ♦
♦ PROGRAM *
*****************
BA/01/A1
*****************
****E<* *********
► •
► EXIT *
► *
***************
TO: SSSPEJ
END OF JOB TRANSIENT
C0 1100 BA/01/A1
*****pH **********
•NCENTB *
**••
* *
* D3*
* *
• *••
COMPILES
*-
,
*
.TYPE
" *.
PBOG.*
.*
. *
1
• YES
»***
**•* •
•
*
• *
nz*
>•->• B1
**
•
•
•
►***
• ••«
r->* SEABCH FOB *
♦DUPLICATE EHTBI*
♦ III PBOC LIB *
*****************
*001^
♦ EH*
*****
DUPLICATE
NAMB
. FOUND .
LABL30
*****H 3 **********
♦ SAVE NAMB AND ♦
♦ UNIT. SET *
♦ DUPLICATE *<-
♦ SNITCH ON *
♦ *
*****************
FB/02/G2
**•*****•*•****•*
*****
♦001*
* G2*
SANE
NANE AS
BEFORE
SANE *.
OMIT AS
. BBFOBE .*
*. .♦
*****
♦ 001*
• p«*
****H5*********
• *
• EXIT *
► *
***************
TO: LOADEB
FB/01/A1
Chart FB (Part 2 of 5). Scheduler Control Routine ($$RBCO)
Program Organization 5-75
cooioo
*****A1*« ********
* *
* *
r ->*SAVE REGISTER 1*
I * *
* *
j *****************
* * ****
002** *
F1** 31 *->
***** *
****
01-D5 ' FB/0M/A1
*****B1**********
♦LOADER *
3 BRANCH*
********
********
VALID RETURN
****C 1*********
* *
* ENTER *
* <
***************
THE HETUKU \*UUZta cnutcji)!
MILL CONTINUE AS FOLLOWS
VALID RETURN, 03. C1
INVALID RETURN, 03, J
STOP PROMPTS, 03, G1
INVALID RETURN
«***At|* ********
* *
* ENTRY *
* *
***************
t ******* *********
CO0208
.*.
c<» *.
* JUST *.
. *
PROMPT *. YES
*.
BOILD .*
*«
NAME .*
V
*****
*. .*
♦ 001*
* NO
* G2*
«***E1**********
CLEAK BUFFER *
DSED FOR *
RESPONSE FROM *
OPERATOR *
********
****
»***<
STOP ALL PROMPTS
****G1*********
*
* ENTRY
*
***************
.* HAS *.
. ENTER MINUS .
*. USED .*
*, .*
*. . *
* YES
**** 1
*
E2 *->[
**** v
.* LAST *. YE
■>*. PAHM THIS .*--
*. OCL SEO, .*
***** E il* *********
*****************
*•**
i ****p2 **********
*****************
► JUST *
PROMPT FILE
► . NAME .*
*****************
BA/01/A1
:*****'*****
* POINT TO NEXT *
* ENTRY IN *-
* CONTROL TABLE *
* *
*****************
*****G 3 **********
*****************
.* HAS
. RESPONSE
». INVALID
*****G4 **********
* *
* TURN OFF *
•INVALID RETURN •
* SHITCH *
* *
**•*•******•*•**•
*****
♦001*
* B«*
*****F5*
♦NCENTR
->* WRITE TO SRI *
* FROM HORKS *
♦BUFFER. SSRBLP •
*****************
SET
UP *. 10
FOR HI-KEI .* •
.* 1
*. .* I
*. .* ♦
• YES ****
• •
* at*
* *
»*«*
FB/0»/»1
«****g5**** *'*****
* POINT XR1 TO *
* COMMON BUFFER *
* AREA *
* *
*****************
FB/04/A1
*****J1 **********
fLOADEB *
* POINT TO FILE *
* ENTRY IN *
* CONTBOL TABLE *
* *
*****************
I****
* *
->* Ftt *
* *
*•*•
* FETCH BIKET *
* *
*****************
*****************
****K1*********
t 4
• EXIT *
Chart FB (Part 3 of 5). Scheduler Control Routine ($$RBCO)
5-76
LOADER
*+**A1*********
* t
* ENTEH *
* 4
***************
*****A2 **********
*****************
*****B2 **********
C0 1000
****A3*********
* *
* ENTER *
* 4
***************
***** At* *********
* MOVE C/S *
* ADDRESS OP *
->* OBJECT LIB TO *
* IOB *
* *
*****************
**•*
*005*
* J3 *->
****
DISKIO
*****BI|* *********
*****************
*****************
*****CI»**»* ******
*****D2 **********
* SET HIB FOB *
* PASS CONTROL *
* *
* •
*****************
****
* *
* E2 *->
* *
**•*
LOAD01 .*.
E2 *.
.* *.
.* *. HO
*. TRANSIENT .*-
*. LOAD .*
I
*. .*
*. .*
V
* YES
***•
•
* G2
*
****
"
*****P2 **********
* *
* MOVE X »0100« *
* TO LINK EDIT *
* ADDRESS *
* *
*****************
• •** I
* *
* G2 *->)
* * |
• *** I
LOAD02 f
*****G2 **********
* •
* MOVE IN C/S/# *
* AND RLD DISP: *
* LOAD AC
DRESS *
*****************
BA/01/A1
*****************
****J2*********
*****************
*****D» **********
*****************
*****gl|* *********
* *
* INCREMENT *
* SECTOR NUMBER *
* BI 6 SECTORS *
* *
*****************
F« *.
.♦NEED TO*.
INCREMBNT *. NO
CYLINDER .* -.
NOH .* I
*-.. •* 1
E
* YES
*****gt|* *********
*****************
***•
*•**
FHDOOt
*****BQ **********
* *
* POINT TO *
* DIRECTORY *
* ENTRIES *
* *
••••*************
****
05-GI»*005*
* JH *->
• *•*
* *
* HH *
* 4
*•*•
" BA/01/A1
* REG NAME NOT *-
* FOUND *
* HALT/SISLOG *
*****************
****K5*********
• •
->*CALL END OF JOB*
* *
A**************
TO: l$SPEJ
END OF JOB
TRANSIENT
Chart FB (Part 4 of 5). Scheduler Control Routine ($$RBCO)
Program Organization 5-77
****
* *
* A3 *
* *
****
FND003
. *.
A1 *.
* *.
. *
O-TYPE
*.
NO
(">*•
ENTBY
* -.
•
*. .♦"
*- •*
*"
1
*
* YES
****
* t
I
*
*oou*
* C3
♦ jq*
*
*****
• ***
****
» *
» C3 *
*****B3*********
*************
****
* *
* C3 ♦ ->
* *
****
FND011 . *.
C3 *.
. * *
.* END OF
*. TABLE
• ***
* *
* J1 *
* ,*
****
*****C4**** ******
****
* *
* P3 *
*****************
*****QI| **********
* *
* SAVE C/S *
* ADDBESSE5 OF *
* TBANSIENTS *
* *
*••*********•***•
*****B3**********
*****
*001*
* D1*
* *
♦POINT TO TABLE
* OF NANES
* DESIRED
*
****************
****
NDOOV
.*•
G1 *.
* *.
. *
END OF *. YES
*.
TABLE .* ■
*
• * 1
*. .* 1
*. .* ♦
* (|0 ****
1 * *
* C3 *
* *
1
V
H1 *.
* *. **•*
. *
FOUND *. NO *
*.
ENTBY .♦ >♦ A3
• ***
FND006
*****J1 **********
*****************
I****
* *
->* G1 *
* *
****
*•******••***•***
****
* *
* p3 *— -,
* * !
*♦*. |
*****F3*********
*
* INCBEHENT NO.
* OF ENTBIES
* COONTEB
****************
****
* *
* C3 *
* •
****
*****H 3* *********
* *
* ZEBO COONTEB *
* INCBEHENT *
♦SECT OB COUNTEB *
* *
**•**•••*****•••*
.* DONE ♦.
MITH 6
*. SECTOBS .♦
*****
♦ 000*
* B«*
* •
♦****G 4 **********
*****************
*****
♦00 1»*
* jn*
* *
*****J1I **********
• *
♦POINT TO FIBST ♦
->♦ ENTBY IN NEXT ♦
♦ SECTOB ♦
* *
*****************
*****
*oo«*
♦ J»*
• *
Chart FB (Part 5 of 5). Scheduler Control Routine ($$RBCO)
5-78
MRBBC
****A 1*********
* ENTEB *
***************
LOADPT T BA/01/A1
*****B1**********
♦NCENTB *
*_ — i . *
* LOAD $*BBLP *
* INTO CO BE *
* *
*****************
GOON ¥ FC/0 3/E1
*****C1 **********
♦LOG *
* *
•LOG OUT 6H *«S *
* *
*****************
*•** 1
BB0004 V PC/02/D1
*****D1*****>**>*
*SETOP *
* SET OP TO *
* PBOHPT CALL *
* NAME *
*****************
*****B1 **********
*****************
FC/02/E1
*****F1 **********
*GETBPN •
*****************
' FC/03/F1
*****Q1**********
•SYNTAX *
****** 3 **********
**** * *
" * *INCBEMENT SEQ #*
► A3 * >* BY 001 *
*****************
****
' FC/02/D1
* SET OP TO *
* PBOHPT CALL *
* UNIT *
*****************
' FC/02/E1
*****C3**********
♦GETRPN *
*****************
' FC/03/F1
*****Q3*****'*****
♦SYNTAX *
*****************
GOOD *. t
BESPONSE .*-
.*
* MOVE BESPONSE *
* TO OUTPUT *
* BOPPEB *
* *
*****************
FC/02/A1
*****Q3* *********
♦S8AP0T *
HB0007 FC/02/C1
*****B4 **********
*EBBOB *
*****************
*****************
.*.
H1 *.
.*' *.
.* GOOD *. NO
*. BBSPOHSE .*
*. .*
*. .*
BB0002 FC/02/C1
*****B2 **********
•EBBOB *
>* LOG APPBOP. *
* MESSAGE *
* *
*****************
I****
* *
->* D1 *
* HOfE BESPONSE *
* TO O0TP0T *
* BOPPEB *
* •
*****************
*****K1 **********
♦S0APOT * *
•~pot~bbsponsb»~* >*
•P-CODB. SBfl# TO* *
* SNA * «
*****************
*****************
.* ENTEB
*. (-) OSED
BB0008 B A/0 1/11
*****HI|**********
♦NCEHTB *
***•*************.
•003*
* C1*
*****
*****J3***« ******
* •
•INCBBMBHT SEQ •*
♦TO HOLTIPLE OF *
* 010 *
* *
*****************
.♦OVBBFLOS OP*. TBS
. 3 BITE SEQ .* -*
*. t .* I
*. .* I
*. .* ?
♦ MO •***
I**** * *
* * * H« *
->* D1 * * *
• • ***•
****
Chart FC (Part 1 of 3). Build-Chained Cycle Routine ($$RBBC)
Program Organization 5-79
SWAPUT
**** 1 1 *********
* *
* ENTRY ♦
* 4
***************
RTSHA
****31*********
* *
* RETURN ♦<-
SUA 001
*****A2 **********
*$$BBLP *
* •
>*PUT OUT SEO #*,*
♦P-CODE. HYPHEN *
* E RESPONSE *
*****************
FC/02/C1
*****B3**********
*EB80B *
ERROR
****C1*********
* 4
* ENTRY *
* 4
***************
ERR001
*****C2 **********
*$$SLSE *
>♦ LOG MESSAGE *-
* FHOM COMMON *
* BUFFER *
*****************
*****************
RTEBR
****C 3*** ******
* 4
- — >* RETURN «
****
* 4
► H3 t
► 4
****
GETRPN
****D1 *********
* 4
♦ ENTBY *
• 4
***************
*****D2 **********
* *
♦MOVE SEQ. # ADD*
>* KEYWORD TO ♦-
* PROMPT BUF *
* *
*****************
*****q 3** ********
RTSTUP
****D4 *********
* 4
>* RETURN *
*****************
****g1*********
► *
► ENTRY *
* 4
***************
FC/03/E1
**+*+ E 2 **********
4i LOG *
*LOG OUT PROMPT *
* *
*****************
GTR001 T
*****F2 **********
♦SYSIN *
* GET RESPONSE *
• *
*****************
• ♦•
BTGBPN
G2 *.
.• *
****G 3 *********
.* GOOD
♦ .
YES
*
BETBBB
>* BETUBN
♦ .
*
A *
*. .♦
I ***************
♦. . ♦
1 TO: CALLEB
* NO
1
*
* *
*003^ 03-C1
♦ B1*
*****
. * EHTEB *. 10
*. {-) BSED .*
♦. .*
4". .41
♦ . .*
* YES
*****j2**********
♦ SET ON ENTEB
* {-) OSED
*****************
K2 *.
.* *.
.* ALL *. NO
♦ . BLANK .*
♦.RESPONSE .* I
*- •* 1
EOJ FC/02/C1
*****[] 3 **********
•ERROR *
BA/01/A1
*****[|l|* *********
♦NCENTB *
I :
***•
* *
♦ H3 4i
* •
****
*****************
♦CALL END OF JOB^
* *
*****************
****H 5 *********
***************
TO: $$SPEJ
END OF JOB
TRANSIENT
♦ TES
♦•♦♦
• ♦
1
♦ G3 ♦
t
♦ •
♦♦♦♦♦
• ***
♦003^
♦ B1*"
♦ ♦
Chart FC (Part 2 of 3). Build-Chained Cycle Routine ($$RBBC)
5-80
*****
♦00 2*
* K2*
CI
. *.
*.
.* *.
. * PBOHPTING *. NO
*. FIRST .*
*. HAHE .*
*. .*
*. .*
* IBS
*****
♦ 002*
* G3*
V
*****
*001*
* HU*
*****
♦002*
* G3*
****E1 *********
► 4
* EBTBY *
* *
***************
BA/01/A1
*****E2 **********
♦NCEHTB *
* *
->*LOG OUT PROMPT * —
* "HALT/SYSLOG *
*****************
****E3*********
► 4
* BETUBN *
* .4
***************
TO: CALLER
SYNTAX
****F1 *********
* *
* ENTBT 4
* *
***************
.* $$BBSI *. YBS
►. LOADED .* .
.*
. .*
* 80
****
* *
* H2 *
* *
****
BA/01/A1
*****q2 **********
♦NCENTB *
* LOAD S$BBSX *
* *
*****************
**** I
* *
* H2 *->
* •
**** I
SYN001 V
*****H2**** ******
*****************
STH002 * KV/01/A1
*****J2**********
*SSftBSX •
* GO TO SYNTAX *—
* CHECK *
*****************
BTSfN
****J 3 *********
* 4
>* RETURN 4
Chart FC (Part 3 of 3). Build-Chained Cycle Routine ($$RBBC)
Program Organization 5-81
ccoooo
****A i*********
* *
* ENTBY *
* «
***************
YES .* CHAIN
*. PBOCEDUHE
*.
****
* LOAD $$BBSX *
* *
*****************
*****
" A2 * *
► * B2 *->
***** *
****
CC0005
*****& 3**********
1->* FOB VEfiB *
* *
* *
*****************
** I
* A3 *
• **•
•*** * HO
* *****
* A2 * *
► * CI *
***** *
****
FD01CT
*****C1 **********
*LOADEB *
* _ — _ *
* LOAD $$BB IN *
* PBOHPT FOB *
* BESPOMSE *
*****************
D1 ♦.
.* ♦.
.* 7ALID
*. BESPOMSE
••
*. «*
*. .♦
* YES
V BA/01/A1
***«* B 2 **********
♦NCENTB *
* *
* SNA BEAD $$SSSC* ■
* GET C/S AT * |
* PBOCEDOBE * I
***************** V
****
* *
* F1 *
* *
*•**
. *
*.
BA/01/A1
*****gl) **********
♦NCENTB *
*****************
»***
*
F1 *
4
»***
.L !
► 4
► D2 *
► 4
• ***
*****************
.* LAST ♦. NO
*. PBOHPT A -*
*. CALL .*
*. .*
*. .*
* YES
02-B2****
02-B2*002*
* H1 *->
* *
****
CC0065
BA/01/A1
*****P1 **********
♦NCENTB *
*****E2 **********
* INCBENENT *
>*SEQOEHCE HDHBEB*-
*****************
.* VERB = *. NO
.* CHAINED *. YES
*. .*
*. •*
*. .*
*. .*
V
*. .♦
*. .*
****
■ YES
* NO
C1 *
• *
*
* E4 *->
****
****
CC0110 r
CC0160 BA/01/A1
*****E3 **********
*****£li**********
♦NCENTR *
* HALT/SYSLOG *
* PRINT PBOC. *
♦NENTBY *
__,
* *
I
*LOAD NEXT PHASE*
• NAHE *
V
*****************
*****************
****
I
*
I
D2 *
•
i
****
*****
*002*
*
A1*
■
♦SOURCB GET GET *
* BECOBD FBOH ♦
♦ PBOCEED. *
*****************
.* *. NO
► . SUCCESSFUL .♦---
*. .*
****FU*********
► *
* EXIT *
► *
***************
TO: NEXT PHASE
CC02O0 BA/01/A1
*****G4 **********
*NCENTR *
PBOCEDOBE
. FOUND .
*. . *
->* LOAD $$SLSE ♦-
A * INDICATE PBOC *
* NOT FOUND *
*****************
****
FINDING *. NO
A CHAINED .*
.PBOCEDOBE.* I
*.. •* 1
****
* i
► E« «
BA/01/A1
*****j 1**********
♦ NCENTB __ *
*SBA NBITE SATE *
* C/S OF *
• PROCEDURE ♦
*****************
•***
* *
* J2 *
* *
****
' BA/01/A1
*****J2**********
♦NCENTB ♦
•***
( *
► G« *
FINUING ♦.
A CHAINED .*
PBOC. .*
****
« *
» J2 *
* 4
**•*
♦ ♦
->* A3 ♦
*****************
•***
* *
->* B2 ♦
► *
****
F*»T*#
*****Htl**********
*****************
*****j4**** ******
♦LOADEB ♦
*****************
****K4 *********
► *
► EXIT *
► *
***************
BA/01/A1
*****D5 **********
♦NCENTB ♦
* *
>* HALT/SYSLOG * •
*PBOC£DOR CANCEL* I
* JOB * i
***************** V
****
* *
* F1*
****G5 *********
* *
* EXIT *
* *
***************
Chart FD (Part 1 of 2). Call Control Routine ($$RBCC)
5-82
BA/01/A1
*****A1 **********
♦NCENTR *
* *
>* LOAD $$BSSX *
♦CHECK MANE FOB *
* EBHOB *
*****************
*001*
* E3*
*****
.* EBBOB
►- FOOND
*.
CCO I25^ - * BA/01/A1
*****C1 **********
♦NCENTB *
HALS/SI SLOG
PBINT PBOC.
BA/01/A1
*****D1 **********
♦NCENTB *
* LOAD"iisBSX~"*
♦CHECK UNIT FOB *
* EBBOB *
*****************
.♦.
El ♦ .
.* i
.♦ EBBOB
►. FOUND
CC0126 BA/01/A1
***** B 2**********
♦NCENTB *
->* HALT/SISLOG *
* CANCEL JOB OB *
* PBOCEED *
*****************
*****
♦ 001*
* F1*
ceo no
*****E2 **********
♦NCENTB *
E
*.
CC0150
*****pi **********
♦SET $$SVSG PAHS*
♦ LIST FOB ♦
♦CALLING CHAINED*
♦ PBOCED ♦
♦ *
*****************
*****
•001*
* F1*
*****G1 **********
*****************
***** H i **********
♦ SEJjCABE FOB
(SBBCL ON
*****************
*****
♦001*
* P1*
* *
Chart FD (Part 2 of 2). Call Control Routine ($$RBCC)
Program Organization 5-83
$$RBCL
*
+ ENTRY
*********♦♦**<
tt***B'\ **********
* *
♦SAVE POINTER TO*
* SCHEDULER *
* COMMON AREA *
* *
*****************
«****C1 **********
*****************
*****D1 **********
* MOVE C/S *
* ADDRESS OP *
* TRANSIENT TO *
* PROG. *
* *
****•**••******•*
****
*002*
* J3 *->
*****E1 **********
♦INITIALIZE PABH*
* LIST FOR *
* LIBRARY *
****
CL0 110
A3 *.
♦ ♦.
•D'
TYPE VERB
♦ YES
I ♦♦♦♦
♦ 002 +
l->* ?a ♦
♦ ♦
♦ *♦♦
120
*****B3********"
♦ MOVE ERROR CODF.+
♦TO BUFFER ERROR*
IN PROG JOB *
CANCELLED *
♦ ♦
**********♦•*♦♦♦♦
->♦
' BA/01/A1
****C2 *********
k ♦
► EXIT ♦
» *
***••*•*•****♦*
*****f 2* *********
* HOVE *
* COHTIBUATIOH *
->* FLAG BYTE TO *
* LIBRARY PABB *
* LIST. X'OO' *
**••••*****•****•
<
BA/01/A1
***•****•**♦♦♦♦•*
****D3*********
♦ ♦
♦ EXIT ♦
♦ ♦
***************
TO: KCENTB TO
LOAD END OF JOB
TRANSIENT (SSSPEJ)
CL0400 BA/01/A1
*****&4 **********
♦NCENTB _J
-~>*"~HALT/SYSLOG *
* PRINT THE *
* STATEMENT *
*********♦♦♦♦♦♦♦♦
*****g i,** ********
* *
* SET OFF *
♦EXTRANEOUS STMT*
* LIT *
* ♦
*****************
HAS *.
STMT A
COMMENT .*
*****Dt|* *********
♦HOVE EBBOR CODE*
* TO BUFFER. *
* ERROR IN OCL *
* STHT *
* *
*****************
BA/01/A1
*****£f|**********
♦NCENTB *
**•****•***•*••**
***********♦**♦♦♦
*****
• 002*
* F**
*****************
,* VALID
VEBB
♦.RESPOBS!
* IBS
• **•
I
*****
♦002*
* D3*
* A2
*
****
* TOBK OFF TYPE *
* OF STHT *
* SWITCHES *
* *
*•**•*****•••**•*
*****K1 **********
*****************
*****
•002*
* B1*
* •
Chart FE (Part 1 of 2). Call Cycle Routine ($$RBCL)
5-84
*••**
♦ 001*
* K1*
DATA
TTPE STMT
.RECEIVED .
.♦POSITIONAL
. TTPE STMT
♦.RECEIVED .
CL0500
***»«B2 **********
♦HOVE IN NAME OP*
* DAT* TTPE *
— >* PROCESSING *-
* MODULE CP *
* *
*****************
CL0501
*****C2 **********
♦MOTE IN NAME OP*
♦POSITIONAL TTPE*
— >* PROCESSING *-
* MODULE CP *
*****************
BA/01/A1
*****BI»***« ******
♦NCENTH *
*****************
.♦PROCESSING ♦. TES
►. A FILE .*
♦. STMT .♦
*****************
CL0053
*****D2 **********
* TURN ON THE *
* 'PROCESSING A *
- — >* FILE" SWITCH *-
* /0»/ *
*****************
♦POINT REG 2 TO *
->* START OP CALL *
* COMMON AREA *
* *
*****************
*****C5**********
* *
* BRANCH TO *
•LOADED ROUTINE •
* (CLNEXT) ♦
*****************
►PROCESSING
A COMPILE
►. STMT
*****pi **********
* TURN ON THE *
* • PROCESSING A *
* FORMS' SWITCH ♦-
* /01/ *
* •
*****************
CL005U
*****E2* *********
* TURN ON THE *
* 'PROCESSING A *
— -^COMPILE' SHITCH^-
* /02/ *
* *
*****************
CL0502
*****D4 **********
♦MOVE IN NAME OP^
* FILE TTPE *
--->* PROCESSING *
* MODULE CK *
* •
*****************
*****************
* *
♦002*
* 3*
*****
•****E3 **********
* HOVE INPUT *
♦BUPPBR ADDR TO *
♦STNTAX CK PARM *
* LIST *
* *
*********••****••
*****
♦002^
* rn*
♦RESET THE REED *
— >♦ A RECORD BIT *
* *
• *
*****************
TBS .♦ HO-
p- . BIT
•GO *.
OR . ♦
. *
.*
♦♦♦* * NO
* •
* H2 *
* •
**•*
<
*****(; 4 **********
* *
* HOVE GBT RBZT *
♦FLAG TO STSGBT *
♦ PARM LIST *
♦ •
*****************
CL0610 V BA/01/A
•****G5* *********
♦RCERTR *
* WIRTE TO SHA *
* SSRBLP *
* •
••***•*•*******•*
• **•
• •**
* *
* •
• m *__-.
♦ H2 ♦--
* * 1
• •
**•* 1
****
CL0119 V
CL06 1
*****D 1 **********
•*•********•**•••
♦*»♦*
♦001*
* C3*
♦ *
•♦**H2*********
* ♦
* RETURN *
► *
***************
TO: CALLEB
CL0131 V BA/01/11
*****H4* *•****•*•
♦RCBHTB *
*****
*001*
• El*
♦GET RBXT BECOBD*
*FBOH PROCEBDUBB*
* SfSTSG •
*****************
HO .* EOF ♦.
r — *. RBACHED .*
[ *'*. ..■*
V *. .*
♦*** ♦ TES
* * 1 ***♦
* H2 * I * *
* * l->* HI *
♦*** * •
CL0132
J«
TBS .*" BETC
*.
».
*.
*.
IBH *. HO
GOOD . *
.♦
***•
CL0133
•****jS* *********
* •
♦HOVE EBBOR CODE*
>* T0 BPB /2B/ *
* DISK BBBOB *
*•***•••••••**••*
*****
*001*
* C3*
* •
*****************
*****
•001*
* C3*
Chart FE (Part 2 of 2). Call Cycle Routine ($$RBCL)
Program Organization 5-85
*$RBCP
****A i*********
* ESTER *
***************
CP0010
*****gl* *********
* SAVE RETURN *
* ADDRESSES, *
♦STORE REGISTERS*
* SAVE COHNON *
* POINTER *
*****************
t\H**********
*****************
*****30 **********
* MOVE SPQ# *
* P-CODE, AND *
* HYPEN TO SUA *
* BUFFER AREA *
» *
*****************
*****************
. * THIS
*. POSITION
*. BLANK
*****V2*** *******
*****************
CP003
1
.*.
F1 *.
* *
*
*
TES
*
ASTERISK
*---
1 :
♦ ***
* *
* E2 *
* *
****
*****************
*
**•* I
* 002* 1
* K« ♦->(
* * 1
**•* V
, * HAS *
. IfRBSX BEEN
*. LOADED .♦
" BA/0VA1
****•[) 1 **********
♦NCENTR *
* •
* *
* LOAD $$RBSX *
* *
*****************
*+J2 **********
*****************
*****K 1 **********
k* ***************
****
* *
* D1 *
* *
****
L>:
****
4
E2 *
*002*02-A3
* K2»02~C2
*****
*****************
V BA/01/A1
*****G3**********
♦NCENTR *
*****************
****
*002*
* J2 *->
*****************
*****,7 } **********
* *
* HOVE INPUT *
♦BUFFER ADDRESS *
♦TO LIBRARY PARtl*
* ♦
*****************
*****************
* FIND CONTROL *
♦ TABLE ENTRY *
♦ ADDRESS •
* *
***•******•**•**•
••*•********••***
*****£<l **********
• •
♦ NOTE SEQt AND •
♦RYPEH TO PBINT »
* BUFFER *
* ♦
*****************
*.
I
*•**
* *
* Gt ♦->
* *
****
*****Q(|* *********
*****************
->*BDHP SEQt BY 10*
*****************
*****G5 **********
•**•*•***••****•*
DELAYED
RESPONSE
. PENDING
*****************
****Kd*********
k *
► RETURN *
► *
***************
TO: ItRBCL
*****
♦002*
♦ A1*
Chart FF (Part 1 of 2). Positional Statement Processor ($$RBCP)
5-86
****
****
****
* *
* *
* *
* A1 * .
* A3 *---.
* At *™.
* * A
**** V
* * JL
**** V
* * |
**** I
CP0038 .♦.
. *.
CP0090 .*.
CP0082 V BA/01/A1
A1 *.
A2 *.
A3 *.
*****A4**********
.* *.
.* *•
. * *.
*NCENTR *
.♦ THIS ♦ . HO
.♦ THIS *. YES
.* DELAYED *. YES
* *
r->*. POSITION A .*
>*. POSITION A •* ■
*. RESPONSE .*-
* SYSIN- GET *
I *. COHNA .*
*. BLANK . * 1
*. .*
1
* RESPONSE *
*. .*
*. .* I
♦. .*
I
* *
*. .*
*. .* V
♦. .*
V
*****************
* * TES
* NO ****
* NO
*****
* * ****
*
*
♦ 001*
*001** *
* B1
*
* E3*
» J4** B1 *->
*
*
* *
****** *
****
*
****
r
CP0039
"
r
CP0083 .*.
*****91**** ******
*****B2 **********
*****B3**********
Bt *.
* *
* •
* *
. * *.
* HOVE RESPONSE *
* BUMP THE SCAN *
* SET ON NO-GO *
.* GOOD *. Y
♦ TO PRINT
r BUFPEB*
* POINTER *
* SWITCH *
*. RETURN .*-
*****************
BA/01/A1
*****£ 1 **********
♦NCENTB *
* *
* HALT/SISLOG- *
* PRINT OCL *
* STATEMENT *
*****************
*****************
*****************
****
* 4
* E2 *
► 4
****
.*
C2 *.
.* PAST
END OF
INPUT
*. BUFFER
*.
*. .*
*****************
*****C5**********
*****************
*****
*001*
* E3*
I****
* *
->* E2 *
*****D2 **********
*****************
CP0H21 V BA/01/A1
*****q 3 ********'**
♦NCENTB *
*****************
*****************
* ****
♦ ♦002*
♦ ♦ E3 ♦->
* *
****
1
CP0080 '• BA/01/A1
' BA/01/A1
*****£3**********
*****gq *****'*****
♦ NCENTR
*
♦NCENTR
*
* COO
t
*.
*.
*.
«T > ♦. NO
> .*
. *
.*
.*
► YES
♦ SETUP <
>*p»HAHETl
A ♦
1 *
I ********
*♦**
* *
* E2 *
* *
****
JYNTAX *
?B LIST ♦
♦
♦
I********
* HALT/S
* PBOMP'
* OPEB
********
fSLOG- *
' THE *
kTOR ♦
>********
**4ipl*
SET 1 TH1
B
*********
*
! NO-GO *
[T ♦
CP0051
*****P2*<
♦NCENTB
♦*$RBSX-
BA/01/A1
*********
*
SYNTAX ♦
*****F3*
*
♦CLEAH T
* BUF1
*********
*
IE SYSIN^
'ER ♦
*****************
*****Q1 **********
*****************
BA/01/A1
*****U1 **********
♦NCENTR *
* *isLSB-~LOG "♦
* ERBOB HESSAGB ♦
* *
*****************
****
* *
* J1 ♦->
* *
****
CP006V .*.
J1 *.
.* ♦.
.* LAST ♦. YES
♦. PABH. THIS .*
*.OCL SBQ. •*
♦CHECK RESPONSE *
* . *
*****************
VALID
BETDRH
*.
*"
HO
* .
1
«♦
*. .♦
J
*
**•*
*
* A3
*
'
****
*****************
*****G3**********
*****************
****
► 4
* A« «
* 4
****
*****************
V BA/01/A1
*****pi| *****'*•***
♦NCENTB *
* CALL $$SPEJ *
♦ ♦
*****************
****G4 *********
* 4
* EXIT *
* 4
***************
TO: $$SPEJ
END OF JOB
TRANSIENT
E
*************♦♦♦♦
♦RETURN TO BOOT ♦
->+PRASE AND HBITE^
♦ TO SUA ♦
* *
*****************
****
► 4
* J1 «
» 4
****
♦ .
*****£ 1 **********
* BURP CONTROL *
* TABLE ENTRY,
PICK OP NEB
• P-CODB. BBSBT
• DELAYED BIT *
*****************
*****************
K2 ♦.
.« NEXT *.
.* INPUT BFB ♦. YES
>*. POSITION A .♦
♦. COBB A .♦
*. .♦
*. .*
♦ NO
V
*****
♦00 1*
♦ H3^
*****Ki,«* ********
*****************
*****
♦001*
♦ E3*
♦ *
**♦**
♦001*
♦ 61*
* *
♦ ♦♦♦*
♦00 1*
♦ G1*
♦ *
Chart FF (Part 2 of 2). Positional Statement Processor ($$RBCP)
Program Organization 5-87
MFUCD
****Ai*********
* *
* ENTER *
* *
***************
* A 7 * >*.
* *
****
ST a? A DAT.
cnooBO
*****^(i**********
* MOVE CONTROL *
♦COPE FOR SWITCH*
>* TO SYNTAX *
* PARAMETER *
*********
*******
* SAVE RETURNS *
♦AMD POINTER TO ♦
* COMMON AREA *
* *
*****************
I
V
*****q3**********
♦ MOVE CONTROL ♦
♦ CODE POR DATE *
♦ TO SYNTAX *
♦ PARAMETER *
***********
► **
*****3{j**********
* *
* 10VE THE WORD *
* •SWITCH' TO *
* PFTNT BUFFER *
* *
*****************
*****************
****
*****CT **********
* SAVE .10B CODE *
* AND CONTROL *
* CODE FOR *
* RE-PROMPT ♦
* *
*****************
*****C*l**********
* SAVE JOB CODE *
* AND CONTROL ♦
* CODE FOR *
* RE-PROMPT *
* *
*****************
****
CD0030
*****p1 **********
* *
♦POINT TO FIRST *
* RESPONSE *
* POSITION ♦
* *
*****************
*****D3**********
♦ *
♦ MOVE THE WORD *
♦•DATE' TO PRINT*
♦ BUFFER *
DELATED
RESPONSE
. BYTE ON
«****p,2** ********
V BA/01/A1
****
CD00U0
*****F1 **********
*****************
*****G1 **********
*****************
CD0050
*****H1* *********
♦MOVE IN SEQ# , *
♦ P-CODE. AND *
♦ NYPCN TO SWA *
♦ BUFFER ♦
♦ *
*****************
*****************
*****Kf**********
♦ *
♦ MOVE SEQ« AND ♦
♦HYPEN TO PRINT ♦
♦ BUFFER ♦
*****************
****
* *
* A1 *
* *
****
DD ONE TO
* *
.* DELAYED ♦.
RESPONSE
*
♦. RESPONSE .♦
ADDRESS
*
*. BYTE ON .♦
*
♦. .*
*************
* ♦
1
* YES
|
****
* *
♦ F3 ♦->
1
♦ ♦
V
****
• ♦•
CD0090
F2 ♦.
*****p ■)**** ******
♦ LOAD SYNTAX ♦< •
♦CHECK ($$RBSX) * |
***************** I
*002*
♦ »1*
*****
PAST
END OF
BUFFER
*****G2 *♦♦*♦*♦♦♦♦
* *
♦ SET DELAYED *
♦ RESPONSE *
♦INDICATOR BYTE ♦
* *
*****************
I ** + *
* *
!■->♦ F1 ♦
* *
****
♦ FIND CURRENT *
♦SYSTEM DATE OR ♦<--
♦SWITCH SETTING ♦
* *
*****************
*****************
102^
F4*
► ***
*****£ 3 **********
* *
♦ MOVE CURRENT ♦
♦SWITCH/DATE TO ♦
♦ PRINT BUFFER ♦
* *
*****************
BA/01/A1
♦ HALT/SY5L0G - ♦
♦ PROMPT THE ♦
♦ OPERATOR ♦
*****************
V BA/01/A1
**+**,j1 + *********
♦NCENTR ♦
*****************
.♦ NO *.
.* DELAYED ». YES
♦. RESPONSE .*-
*. RESPONSE -* .
♦. . ♦
1
*. BYTE ON .* I
♦. . *
1
*. .♦ 1
♦. .*
V
*. .* 7
*
*****
* NO *••*
*002*
* *
* A3*
* JU*
* *
* *
*
****
D0079
'
" BA/01/A1
*****qi|* *********
*****H5* *********
* *
♦NCENTR *
♦ MOVE NO ♦
♦ RESPONSE CODE ♦
* HALT/STSLOG - *
♦ TO SWA
BUFFER *
* PRINT THE *
*****************
****
:doioo
*****JD**********
* *
♦RETURN TO ROOT *
♦PHASE TO WRITE ♦
* SWA BUFFER *
* *
*****************
****
♦002 +
♦ E5 ♦->
♦ *
****
D0076
*****K4**********
♦ SET NEED A *
♦ RECORD, SET ♦
♦ NEED A VERB, ♦
♦ LOAD INPUT ♦
♦BUFFER ADDRESS ♦
********
*********
CD0U90
****K>j *********
* *
>♦ RETURN *
• *
***************
TO: SSRBCL
Chart FG (Part 1 of 2). Data Type Statement Processor ($$RBCD)
5-88
CD0093
. *.
Al *.
* *.
r*
*
GOOD *. TES
*
.*
V
i
*. .*
*****
+. . *
♦001*
*
* HO
* E«*
i* *
* *
•001*
*
* J3*
*****
"
*****
♦001*
* GU*
*****B1 **********
*****************
" B4/01/A1
***:**C1 **********
♦HCENTB *
*-. *
* $$SLSE - LOG *
* ERBOB MESSAGE *
* *
*****************
BA/01/A1
** ***m **********
*HCESTB *
* *
* CALL $*SPEJ) *
* *
*****************
****g1 *********
» *
► EXIT *
► *
***************
TO: SSSPEJ
END OF JOB
TB1HSIEMT
•* DATE
->*. STMT
*.
*****B3*** *******
* MOVE SWITCH *
->* ERROB CODE TO *
* BUFFER *
* *
*****************
*****************
BA/01/A1
*****C5 **********
♦NCENTB *
* *
->* H</SYSLOG - *
* PttINT THE *
* STATEMENT *
*****************
' BA/01/A1
*****Qlt **********
♦ HCENTti *
*****************
*****E5*** *******
*****************
E
*****fii**********
*****************
*****
*001*
* F3*
Chart FG (Part 2 of 2). Data Type Statement Processor ($$RBCD)
Program Organization 5-89
SJRBCK
****A1*********
* ENTER *
* *
***************
CK0010
*****B1**********
* SAVE REGS, *
*SETUP RETURNS, *
* GET C/S OF *
* ERROR LOG *
* ROUTINE *
*****************
END OF
INPUT
BUFFER
K * B2 *->
***** *
****
CKEeiH
*****32**********
STORE INPUT *
BUFFER END *
POSITION *
*
i***************
*****************
****
* *
* C2 *->
* *
****
ERROR V
*****C 2** ********
* *
* SET ON NO-GO *
* SWITCH *
*****************
*****
*003*
* A2*
*****E1 **********
*****************
V BA/01/A1
*****D2**********
♦NCENTR *
* *
* HALT/SYSLOG - ♦
* PRINT EUTIHE *
* STATEMENT *
*****************
V BA/01/A1
«****E2 **********
♦NCENTh *
*****************
♦SET UP BETUBN
'SET utr i&iuanj T
>*SAVE REGISTERS *
* *
*003*
* Ft*
*****************
«****G1**********
*****************
*****q2*********
* HOVE BUFFER
* ADDRESS TO
* ERROR LOG
* ROUTINE
**"
**************
END OF
INPUT
BUFFER
**** I
03-H1*004*
02-K1* H2 *->
t*********
I ****
* *
l->* C2 *
* *
****
*****H2**********
***********>**•*•
****
*****J2**********
* LOAD AND SAVE *
* POINTER TO *
* KEYWORD *
*****************
L->* A2 *
* *
****
.* THIS *. YES
->*. POSITION A .*
*. HYPEN .*
*. YES
IMBEDDED .* 7
COMMA .*
**•*
* *
* B2 *
* 4
****
>* TABLE AUUBfiDd * ■
J : i
***************** V
****
* *
* B2 *
* •
****
***•
* *
* EH*
* *
****
C3 *.
*
*
YES
BLANK
* 1
*****Q3**********
* LUUNTEBf BUnr -
♦ BUFFER POINTER ♦
VERB
TYPE
COMPILE
*****D4 **********
: i
***************** f
****
* *
* B»*
* *
**•*
*******
*****************
****
* *
>* J2 ♦
♦ *
**♦*
*•**
* •
* E« ♦->
* *
*•**
CK1100 V .,.„
*****
•003*
* G3*
*****EU **********
*****************
.* EQUAL
». keyword
*. FOUND
*****Q1| **********
* *
* ADD ONE TO ♦
* POINTER AND •
* STORE ADDRESS ♦
* *
*****************
*** *+wu **********
*****************
*****j<l **********
*****************
END OF *.
I
;s
TABLE
■ *
.*
*. .*
♦
• HO
1***
1 •*•*
L>* ED
*
*
**
B2*
*•
*
*
•
*•**
• *••
Chart FH (Part 1 of 4). Keyword Type Statement Processor ($$RBCK)
5-90
WAS
KEYWORD
HIKEY
CK0 100 BA/01/A1
*****A2 **********
♦NCENTE *
LOAD $$fiBHI
************ **
*****A3**********
* *
* SET OFF MVF *
->* CONTINUATION *
* SWITCH *
* *
*****************
* *
*O01*
* Jit*
*****
♦003*
* A2*
*****
BA/01/A1
, +PROCESSING
A FORMS
*. STMT
CK0025 t BA/01/A1
** * * *C 1 * ****** ***
►NCENTR *
CK0024
*****B2 **********
♦NCENTR *
* LOAD $$RBFM *
* *
*****************
« LOAD $*RBSX *
* *
*****************
V FS/01/A1
*****B3 **********
♦JJRBHI *
* HIKEY ROUTINE *
* *
*****************
*****C3 **********
* *
* SET OFF HIKEY *
* CONTINUATION *
* SWITCH *
* *
*****************
*****************
*****B4**********
*****************
*****C5*** *******
***••*****•*****•
*****D2 **********
* POIHT XR2 TO *
* CALL COMMON *
* AREA *
* *
*****************
V *****
SAVE END OF
RESPONSE
ADDRESS
*****
*003*
* F3*
************
*****D4 **********
*****************
CK05
MO
. *.
El *.
* *
, *
VERB
*
"*
S HITCH ON
*. .*
*. . *
* MO
* BUMP SEQi BY
*****************
*****************
*****H1 **********
* MOVE SEQ# , *
* P-CODE. AND *
* HYPHEN TO SWA *
* BUFFER *
* *
*****************
*****E2 **********
*****************
•* NEED *.
SO
.*
DELAYED
*. MORE INPUT .*•
*.
RESPONSE
*• .*
I
*
*. .*
I
*.
*. . *
V
*. .*
* YES
*****
* NO
****
*003*
* G3*
*oou*
* J1 *->
* *
* *
*
****
'
*****p 3 **********
* *
* SET ON - MVF *
* CONTIN. HIKEY *
* CONTIN *
* *
*****************
****
*003*
* F4 *->
* *
****
'
CK0039
.*-
*****G3*
>********
G4
*.
CK0200
*****E5**»* ******
♦SET 01 DELAJBD *
* HBSPOHSE BIT. *
— >*MO?E LENGTH Or •
A * 2* TO PRUT *
I * BUFFER *
I *•••***••*•**•***
*003*
* K1*
*****
E
BA/01/A1
*****p 5**** ******
•NCENTR *
* HALT/SYSLOG - *--
* PRINT THE «
* PROMPT *
*•*•••***********
• •••*
*004*
* A1*
* MOVE CONTIN *
♦CODE TO LIBRARY*
* PARM LIST *
* *
*****************
*****
*003*
► H3*
.* FIRST *.
* CHAR OF
RESPONSE A
► . QUOTE .
*****HU**********
* *
♦HOVE IN Q-BYTE *
*T0 BYPASS CALL *
* OF JSRBSI *
* *
*****************
->*TO CALL SSRBSI *
••*•••••**•*••••*
*****
♦ 003*
* A1*
• •
* FIND CONTROL *
* TABLE ENTRY *
* ADDHESS *
* *
*****************
I ****
I * *
L->* AU *
* *
****
* SCAN RESPONSE *
* FOR COMMA OR *
* BLANK *
* *
*****************
PAST OF
RESPONSE
AREA
*****
*001*
* J1*
*****************
*****
*003*
* Al*
Chart FH (Part 2 of 4). Keyword Type Statement Processor ($$RBCK)
Program Organization 5-91
♦BUILD A SYNTAX *
->*CHECK PABAHETEB^
* LIST *
• *
*****************
*002*
* K5*
*****
*001*
* D1*
*****
.* BITE *
*. SET TO CALL
*. SSBBSI .*
. BA/01/A1
*****B2 **********
♦NCEHTB *
* •
>* SSBBSI - * —
* INTBRFACB TO •
♦CHECK HVF P»BHS*
*****************
*****
•002*
♦ »3*
BA/01/A1
*****C1 **••*••*•*
•NCEHTB *
* *
*$$BBSX - SYNTAX^
* CHECK THE *
• RESPONSE *
*****************
.♦.
■ *.
D3
*- * * * .♦ MAS *.
WAS "*. IES * MOVE BESPONSE ♦ ^ ^- *_„B£feAT ED *
BESPONSE .*-- >* TO Si A BOFFEB ♦ >*. BESPOKE BIT^
. GOOD . *
SET
.l.. :
********••*••**•
BA/01/A1
*,i***[)l| **********
♦HCEMTB _•
->* HALT/SISLOG - *
* PBIHT THE OCL *
* STHT *
**•••******••*•*•
♦ YES
*****
*00i»*
* J3*
E1 *.
.* *.
. * HAS IT ♦.
A HO
♦ .BESPOHSE .♦
♦. .♦
♦. .♦
* TES
F1 ♦.
.* »AS ♦
COMPILE
OBJECT
.PBOHPTBD
♦. .♦
♦. .♦
*****g1 **********
***•***••••••••**
I****
♦ ♦
->* K1 ♦
• •
*••*
.♦.
HI ♦-
.* MS ♦.
.♦ DELATED ♦. 10
f->^.BESPOiSE BIT .♦
*. SET .♦
♦ . .♦
♦. .*
•• ♦ TES
*****p2*« ********
* *
* HOVE HO BBPLT ♦
>♦ CODE TO SUA *-
* BOFFEB ♦
* ♦
********••*••*••*
♦BETOBB TO BOOT ♦
->*PHASE AID RBITE^
* TO SBA ♦
• *
*••*••••***••*•**
)037 . ».
F3 *.
.» BEIT ♦.
.♦ IBPOT BOF ♦.
♦. POSITIOI A .
*. BLANK .♦
♦ ♦•*
► *
► D2 *
* *
• *••
02-B3 *.
****
♦00 1*
♦ E2 *
*****G3*********
**•••*••••*••***
*****
•001*
* f2»
• •
*****
♦00 2*
* G3^
♦ *
*********♦♦♦♦♦*♦*
****
* •
* K1 ♦->
* ♦
♦ ♦♦♦
T BA/01/A1
*****K1 **********
****
♦00 2*
♦ H3 «
***** H 3 **********
*****************
****J3*********
* •
► BETOBI *
• *
*****•*•*•••***
TO: CALLEB
****•**•*•*•**••*
Chart FH (Part 3 of 4). Keyword Type Statement Processor ($$RBCK)
5-92
BA/01/A1
*****A1 **********
•NCENTB *
f->* STSIN - *
[ *BESPONSE TO THE*
I * PBOHPT *
| *****************
• •
• 002*
* rs*
*****
CK0220 .*.
B1 *.
.* *•
.* GOOD *.
*. BETOBN FBOH .*
*. STSIN .*
*
4
•MOVE IN CANCEL *
>* JOB CONTBOL *-
* CODE *
* *
*****************
.* FIBST *. b
>*. NON-BLANK A .*-
*. QUOTE .*
•****D1 **********
*****************
BETOHD
END OF
BUFFER
*****
•003*
* F1*
* •
EBBHSG BA/01/A1
*****B 3 **********
♦NCENTB *
->* HALT/SISLOG - *-
* LOG EBBOB *
* MESSAGE *
*****************
*****C 3 **********
* *
* MOVE IN Q BYTE *
>* NOT TO CALL *
* $$BBSI *
* *
*****************
*****
♦003*
* A1*
EBBOB2 BA/01/A1
*****B4 **********
♦NCENTB *
* CALL SSSPEJ *
• *
*****************
****B5*********
t *
► EXIT *
► •
*••**••••••••••
TO: fSSPEJ
END OF JOB
TRANSIENT
.♦BETUBH *.
- * CODB *
->*.CONTIH0ATIOH
• •
♦ 003*
* B2*
*****
.* BETUBN *.
->*. CODE = END .
*. OF MVP .*
*****G2 **********
*****************
*****************
* MOVE BESPONSE *
* TO SNA OUTPUT *
* ABBA *
* *
*****************
*****j1 *********
****************
*****
♦ 002*
* F3*
******•*••*••****
*****
♦ 001*
* J1*
*****************
*****H3 **********
* V *
* SET OFF MVF *
* SWITCH *
* *
* *
*****************
V BA/01/A1
*****j3**********
*NCENTR *
HT OCL *
* STATEMENT *
*****************
*****
*003*
* E3*
Chart FH (Part 4 of 4). Keyword Type Statement Processor ($$RBCK)
Program Organization 5-93
$$HBNY
****A i*********
* 4
* ENTRY *
* *
***************
A2
k
CHAB >
I->*.
*. .*
*. .•
*. .*
** * NO
* A2 *
* *
• **•
NY0036
B2 *.
*
CHAR -
i ****** **********
*****C1 **********
* MOVE C/S *
* ADDBESS OF *
♦StBBSB. t$BBSI •
* AND *JSLSE TO *
* PBOG1 *
*****************
HT0900 V BA/01/A1
*****Q1 **********
♦NCENTB *
*****************
D2 *.
LOG
*. .*
" BA/01/A1
*****P1 **********
♦NCENTB *
*****************
****
F2 *.
► *
INCLUDE
BA/01/A1
*****************
" BA/01/A1
**•*•(( 1 **********
♦NCENTB *
A?
*,
*.
CHAR
> ♦. NO
9
.♦
.*
.♦
*.
*
*
TES
*•*•
♦ *
I
->* K2 *
* *
****
FI/03/A1
*****A4 **********
*(1T1000 003A1*
* •
>* MODIFY OCL * — - .
* STATEMENTS * I
* * 1
***************** V
****
* *
* G1 *
* *
****
.*. FI/0U/A3
nl « *****gi(********** *****B5**********
.* *. *HY1100 * *HY13«6 *
.* BUILD *. YES * * * *
->*. PROCESS .* >* NOTE RESPONSE * >*PUT TO SNA WITH*
*. .* * TO NORN AREA * '
*****************
J$RBLP
*
*****************
► NO
■ ****
!■->* G1 *
* *
****
***•
* *
* G1*
* *
• ***
HY0300 BA/01/A1
*****C5**** ******
♦NCENTR *
* BON PROCESS *
* •
*•*•**•••**•****•
* FETCH $$RBI!1 *
* *
•**•**•******•**•
I •***
* *
L->* F.5 *
* *
***•
* CALL JJRBLG
*
****************
**•*
* *
* G1 *
* •
*•**
*•**
• *
♦ EH *->
" BA/01/A1
CALL SSRBFH * j
**************** v
****
* *
* G1 *
* *
*•*•
* FETCH $SBBRN *
• *
*•••***********•*
BA/01/
*****PU* ********
♦NCENTB
****
► *
► E5 *
► *
• **•
****g5 *********
¥ *
> EXIT *
t *
•*******•**••**
*•**
* *
* K2 *
* *
****
Y0600 V BA/01/A1
*****H2 **********
♦NCENTB *
• ***
* •
->* K2 *
• *
***•
* FETCH SSBBH1
****************
****G l|* ********
t *
* EXIT *
► *
**•****••***♦♦♦
TO: SSRBN1
*****************
**•**•**•***•****
*•***••*•********
****j2** *******
» *
► EIIT «
• 4
***************
TO: SSSPEJ
FI/0H/H2
•****K2 **********
♦HT1091 *
.*
. .*
* NO
i. !
I •
L->*
*••*
*
A2 *
* K2 *
• •
***•
***•**••**•*****
I****
* *
->* G1 *
Chart FI (Part 1 of 4). Modify Routine ($$RBMY)
5-94
****A1*********
* *
* EHTFH HT0090 *
* 4
******* 41 *******
* Att *--
* *
****
*****************
*•*•******•**•*•*
BIT 7 ». TES
*****P3 **********
*****************
BIT 6 *. TES
OH .*
. *
• *
*****G 3** ********
*****************
H2 *.
► *.
BIT *5 *. YES
*****H 3 **********
*****************
BIT fl *. TES
*****j 3 **********
*••***•*****•****
*****A 5* *********
*****************
*****B 5 **********
*****************
*****C5 *********
****************
*****************
**«******•*•*••**
E
MT0097
*9**H q*********
* *
* RETORM *
* «
***************
10: CALLER
•***
* *
♦ A» *
• •
*•**
****
* *
* At »
* *
*•**
Chart FI (Part 2 of 4). Modify Routine ($$RBMY)
Program Organization 5-95
HT1000
****A1 *********
* *
* ENTBY *
* *
***************
****
* *
* D1 *->
* •
****
MY 1005 " FI/04/A1
*****Q1 **********
♦NT0145 *
* *
* GET A RECORD *
* *
*********
********
* FI/0H/A2
*****G 1**********
♦MT13KS ♦
**** a * *
* * . * tpi
* A3 * >*. CODE = T
* * *. "FE"
**** *. .*
*. .*
« NO
I
*****B2 **********
*****************
HY1070 BA/01/A1
*****A4 **********
•NCENTB *
* LOAD SSBBSW *
* *
*****************
HY1060 BA/01/A1
*****BQ **********
♦NCENTR *
* LOAD SSRBFH *
* *
****•***•*•**•**•
.* GOOD *
NO
— >*. RETDRH
* ,
*. . *
I
*. . *
*. . *
V
* YES
****
****
* *
* *
* m*
* B5 *->
* *
* *
*•**
• ***
HY1017
*****g 5*** *******
* HOVE GOOD
*
* RESPONSE TO
*
* BUFFER WORK
*
* ABBA
*
FI/0VH3
*****C2 **********
♦BT1092 *
* ERBOR *
* •
*****************
^****
* *
->* G5 *
* *
****
HY101H V BA/01/A1
*****C 3 **********
*NENTRY *
* LOAD SSRBSX *
* •
•••**********•**•
*****D4 *********
****************
*****************
* C5 *->
* *
*•*•
t FI/04/A2
*****C5 **********
*NY13«5 *
* *
* *
* PUT A RECORD *
* *
*****************
• ***
* *
* D5 *->
* *
***•
V FI/Ott/AI
*****D5 **********
♦HY01U5 *
* *
* *
* RET A RECORD *
* *
*****************
FI/0V13
*****E2 **********
♦HY1092 *
•****•****••*•***
FI/02/A1
*****P2 **********
♦HT0090 *
• *
->* EXPAND P CODE *
* TO POINT AT *
* CONTROL TABLE *
*****••**•*••*•**
1ST
CHAB =
QUOTE
.*
**** * TES ****
• •
* *
* F5 *
* H3 *
• *
• *
• •**
• •••
HY104A
BA/01/A1
•****F3*
* ********
♦NCEHTR
•
•
*
* LOAD
ISRBSI *
•
*
*•*•••**
>********
* TES ****
*•** * * ****
* * H3 * * »
B5 * * * * F5 »->
r * *•** * •
***• *•*•
HT1025
u
****
* *
* C5*
* *
*•**
.* DELETE *. TES
.* GOOD *. TES
*. INDICATOR .*«
». RETDRN .* .
* POT A BECOBD *
*. ON .*
1
*. .* |
* •
*. .*
*. .* 1
••*•**•**•*******
*. .*
»
*. .* 1
I
* NO
■ **•
* NO *••*
1 *••*
*
*
•••* l * *
* *
*
D5 *
* * 1 * B5 *
1— >* D1 *
*
*
* H3 *-> * *
• *
****
* * 1 *••*
*•*•
BA/01/A1
•••* |
♦ FI/04/H2
•****B 3 **********
♦NCEHTB *
♦HY1091 *
* STSIN - BEAD *
♦ERBOR - INVALID*
* KEYBOARD •
* PARAMETER *
* *
*****************
*****************
I ••**
* *
!■->* C5 *
* *
^
***•
J2 *.
.* *.
• ***
. * P CODE *. NO
*
*
*. = X
FB« .* —
— >* A3 *
*•*•*? 5**** ******
***•*•••****•****
**••
* *
* G5 *->
* *
****
****G5*********
* *
* RETURN *
* *
***************
TO: CALLEB
BA/01/A1
BT1090 __,_._
*****K2**********
•NCEHTB
*****K3 **********
* LOAD *$BBDT •
* •
••**•*••*****•***
•*••******••**•**
* HO ****
I**** * *
* * * B5 *
->* H3 * * *
* * ***•
**•*
Chart FI (Part 3 of 4). Modify Routine ($$RBMY)
5-96
HY01U5
****A1*********
» »
* ENTRY *
• *
***************
HT13U5
****A2 *********
* »
* ENTRY *
* *
*********••**•*
HY13H6
****A 3 *********
* *
* ENTBY *
* ♦
***************
***** B1 **********
* *
* SAVE REGS. *
* POINT XR2 AT *
* BTBL2 *
* *
*****************
BA/01/A1
*****C1 **********
♦NCENTR *
*****B2**********
* *
* SAVE BEGS. *
* POINT XR2 AT *
* BTBL1 *
* *
••***••••**•*****
' BA/01/A1
*****C2 **********
♦NCENTR *
*****g 3 **********
* •
* SAVE REGS. •
* POINT XR2 AT *
* BTBL2 *
* •
****•*•****••***•
* LOAD $$SYSC *
* *
*****************
' KF/02/A1
«****D 1 **********
•SJSYSG *
* LOAD $$RDLP •
* *
••******•••••**•*
K0/02/A1
*****02 **********
*$$RBLP *
► GET A RECORD *
► *
********••*•***•*
* POT A RECORD *
* *
**•••****•*•*••*•
*****F1 **********
••***•••••*****•*
<
*****G1 **********
*****************
***•!) 1 *********
* *
► RETURN *
» *
***************
TO: CALLBR
FI01E3 PI/0»/F5
***«*r 3 **********
*NY109tt *
E
*****F2 **********
*****************
****G2 *********
p. *
► RETURN *
> *
***************
TO: CALLER
NY1091
****H2 *********
* *
* ENTBY *
* 4
***************
*****J2 **********
*****************
NY 1092
****H3 *********
* *
* ENTRY «
* *
***************
*****J3 **********
NY1093
****HU*********
* *
* ENTRY ♦
* *
•••**••*•*•**•*
*****J4 **********
NY109H
****P5 **••*••**
* •
* ENTRY «
* 4
****•*•••******
*****G5**» •*••**•
•ft**************
*****05 *********
*
*
* NO ROOM SNA
*
****************
• ••*
* J5 *->
* •
****
BA/01/A1
•****J5 **********
*NCBNTH *
*•*****••**•*****
*****K2**********
•INVALID COMMAND*
*****************
*•*•*•*•••******•
*****K3 **********
*****************
*****************
***** 1^1)* *********
*••*••**••***••**
* LOAD $$SLSE •
* *
*•••*••****•*••••
•***K5*********
* •
* RETORN *
* *
**••*****••*••*
TO: CALLER
(Chart FI (Part 4 of 4). Modify Routine ($$RBMY)
Program Organization 5-97
t«RBH1
****» 1*********
* *
* ENTER *
* *
***************
****
► A2 *
• *
*•**
PJ/06/A1
>*CONVERT P-CODB
TO COHTBOL
TABLE ADDRESS
***************
*****B2 **********
I1T0001 * BA/01/A1
*****C1 **********
♦NCENTR *
* LOAD tJSYSP *
* *
*****************
" F J/05/11
*****D1 **********
♦GETBEC *
*****************
*****E1 **********
* *
* HOVE NAME TO *
*SOORCE PUT PABH*
* LIST *
* •
*****************
F J/0 5/11
*****pi **********
♦GETBEC *
ES
* POINT TO VERB *
* TABLE *
1
* *
1
* *
*
*•****•**••******
*****
♦005*
***•
* PI*
* *
* *
♦ C2 *->
*
* •
****
NY0007 .*.
C2 *.
.* *.
.* END OP *.
*. VBRB TABLE .*
.*
.*.
D2 *.
.* TABLE *.
ENTBT = *.
CONTBOL TABLE.
VERB .*
*.
*.
*****E2**** ******
*******•***••**•*
*****F2«* ********
*****************
I****
* *
->* C2 *
* *
****
*****D1| **********
* *
* PLACE COBNA *
* APTEB LAST *
* RESPONSE *
* *
*****************
. * ROOB TO
HOVE III
*. RESPONSE
PJ/05/A1
•****B5 **********
♦SORPOT *
*****************
FJ/01/A1
*****F5 **********
♦JOSTPT *
*****************
PJ/06/D*
*****************
BY0006 ? JF/05/AI1
*****H1 **********
♦SORPOT *
*****************
****
06-B2*002*
06-C1* D1 *
* •
****
NY0003 ..,..,_.
*****J1 **********
•GETBEC *
PJ/05/A1
*****************
BtOOH ♦ PJ/01/E1
*****G2 **********
♦CHECK *
***•*•••*•**••**•
••***•*****•••*••
FJ/OU/K
♦ BOTE II *
♦RESPONSE TO OCL*
• CARD ♦
*****************
****H2 *********
♦ *
♦ BRANCH ♦
♦ *
*•*****••**•***
PJ/02/»l» POR PILE
FJ/02/M POR COMPILE OR PORBS
PJ/02/15 POR LOAD OR CALL
♦ GET NEXT ♦<--
♦ RESPONSE PROB ♦
♦ SWA *
♦♦*•*•••**•**•*•*
****
03-H2*003^
* E2 ♦->
* *
**••
HIH003 .♦.
K1 *.
. ♦ ♦.
.♦ COBHEHT ♦.
♦. RESPONSE
♦. .*
♦. .*
♦. •♦
♦ NO
1 ****
♦
»■->♦ A2
•
*•*•
HT0004 FJ/04/E1
*****K2 **********
♦CHECK 00»E1*
•****K3 •*••*•••••
*****************
*••*****••***•*•*
FJ/05/M
*****K4* *********
♦SORPOT ♦
♦ PRINT COHBEMT •
* •
*****************
Chart FJ (Part 1 of 6). Procedure Library Scheduler Interface Routine ($$RBM1)
5-98
HY0030
•***A1 *«•*•****
* *
* ENTEB *
* *
***************
HYOOHO
****A2 *********
* ENTER *
* *
***************
HY0050
•***A3*********
* *
* ENTEB *
* 4
***************
HY0025
****AU*********
* *
* ENTEB *
* *
***************
MY0070
****A5 *********
* *
* ENTER *
* *
***************
*****Q 1 **********
*****************
*****B2 **********
* *
* MOTE IN VERB *
* SWITCH TO OCL *
* IHAGE *
* *
*****************
*****B 3 **********
* *
* MOVE IN VERB *
* LOG TO OCL *
* IHAGE *
* *
*****************
HYOO»1 V FJ/0«/»t
*****C1 **********
♦HOVE *
*****************
FJ/05/AM
*****D1 **********
♦SOBPUT *
*****B4**********
*****************
»***B5*** *******
n* ********* ******
HY0023
****C1|*********
* *
* ENTER *
* «
***************
" FJ/OH/AU
****D5 **********
*****************
♦SAVE FIBST TWO *
* DIGITS OF *
♦SEQUENCE HUHBEB*
♦ ♦
*****************
***• .* ♦
* ♦ NO .* FILES
♦ J3 ♦< *. STARTED
*****G3 **********
*****************
*****
♦OOU
* El»*
*****************
.*•
HY0088
FJ/05/Aa
H3 *.
*****!] (I**********
.* ♦.
♦SOBPDT *
. ♦ BOOH *
*. FOB KEYWOBD
NO
*--
PDTOOT OCL ♦
*. .*
A *
IHAGE ♦
*. .*
I *
*
*, .*
I ****•*****•*•**•*
' YES
*
1
*•**
* •
* •
♦ 003^
1
* J3 ♦->
* C5*
♦
* •
*****
****
****
* *
HY0087
* J3 *
*****J3*
*********
* *
* HOVE IN HIKEY *
* *
* *
*****************
*****K3 **********
* •
♦SET OFF KEYWORD^
♦HOVED TO OOTPOT^-
* BOFFEB *
* ♦
*****************
FJ/03/AQ
»•*•***•
♦SOB- PARAHETBH ♦
♦ *
•******•****•***•
**♦**
♦003*
♦ »1*
Chart FJ (Part 2 of 6), Procedure Library Scheduler Interface Routine ($$RBM 1)
Program Organization 5-99
*****************
♦002*
* K<l*
*****
' FJ/0 5/A1
*****B1 **********
♦GETREC *
10VHIK
**** ft 4 *********
*
* ENTER
*
***************
****
* *
* BO *->
* *
****
MOVH03 .*.
B« *.
. * *.
. * *.
*. FILLED
***************
*****************
****
* *
->* A1 *
* *
***•
•*****•*•****•**•
****D3 *********
* 4
* RETURN *
* *
***************
TO CALLER
.*.
NovHoa .».
c« *.
C5 *.
• * *.
• * *.
.* END OF *.
.* HIKEY *. NO
«. HIKET .*
*. MOVED TO .* •
•.RESPONSE .*
*. BUFFER .* 1
*. . *
*. .* 1
*. .*
*. .* V
* NO
* TBS *****
•002*
* HI*
*
'
' PJ/05/AU
*****DU **********
*****D5 **********
• *
♦SORPUT *
» MOVE RESPONSE *
*BTTE TO OUTPUT *
• *
* BUFFER *
* PUT OUT IMAGE *
* *
* *
*****************
*****************
1 .**.
1 ****
* *
* *
l->* B<» *
<■->* B« *
* *
* *
****
****
ST0086 FJ/05/XU
*****E2 **********
•SOHPUT »
•***•*•******•***
»«***p1 **********
*****
♦001*
* K1*
*****************
. * NOBBAL
FILE
♦.RESPONSE
FJ/03/AH
*****H1 **********
*HOVHI!C *
*****************
FJ/05/AM
*****q2 **********
♦SOHPUT •
*****************
*****H2 *********
****************
• •*•
* 4
* A1 *
*****
• 001*
* K1*
* *
Chart FJ (Part 3 of 6). Procedure Library Scheduler Interface Routine ($$RBM1)
5-100
JUSTTPT
****A1 *********
* 4
* ENTER *
* *
***************
ERROR
**«*H2 *********
* *
* ENTER *
* •
*****••**•*•*••
****AU* ********
* *
► ENTER *
» *
*****•**•••***•
*••*
• *
* B» *->
*****B1 ***•••••**
*****************
I****
* *
->* BS *
• •
• *•*
BA/01/A1
*****B2 **********
♦NCENTB *
* *
* LOG OOT *
* APPROPRIATE •
* MESSAGE *
•••**•*********••
****C2 *********
k *
► RETURN *
* 4
***************
TO CALLER
*****Ct|**** ******
*****•****••****•
NOVOOtt
****B5 *********
* «
>* RETURN *
*
***************
TO CALLER
* *
* B5 *
* *
****
1.
CHECK
•***g1 *********
* *
* ENTER *
* *
***************
****G1 *********
* 4
* RETURN «
* *
***************
TO CALLER
FJ/05/At
*****P2**********
♦SOBPUT 005AH+
•***••***•*•*****
B
•••*
* *
* Bt *
*****pt|* *********
*****************
I****
* *
->* B« *
* •
*••*
(Chart FJ (Part 4 of 6). Procedure Library Scheduler Interface Routine ($$RBM1)
Program Organization 5-101
GETREC
***** 1 *********
* *
* ENTER *
* 4
***************
SOBPOT
**** a a* ********
* 4
* ESTER *
* 4
***************
BA/01/A1
********
T KK/01/A1
*****B<| **********
*$$srsp *
•***•*****•*****•
*****************
HYEND FJ/0U/B1
*****C2 **********
•CHECK »
*****************
****Q1 *********
► 4
► RETURN 4
► 4
***************
TO CALLEB
D2 *.
BUILDC
' FJ/05/AU
*****22*** *******
♦ SOBPOT 4.
* POT OOT //ROH *
**•••***•••**•***
" FJ/05/A4
*****Q2 **********
•SORPOT *
♦CLOSE OOT ENTBT*
* ♦
*****************
****
♦ H2 ♦->
BA/01/A1
♦CALL BUD OF JOB*
• *
**•*••*******•***
****J2 *********
k *
* EXIT 4
• *
*****•••***••••
*****************
BA/01/A1
•****g3 **********
♦NCBNTB ♦
♦ CALL ISB8H2 ♦
* *
•***••*•****•****
•***H 3 *********
* *
♦ EXIT •
• *
******•*••*•***
TO: *$RBH2
TO: MSPEJ
FJ/0VA2
•****D5 **********
♦EBBOR ♦
***•**••*••***•**
I****
♦ ♦
->♦ H2 ♦
FJ/04/A2
*****gtl **********
•EBBOR ♦
******•*••***•**•
• **•
***•
SOB001
*****pi|* *********
* •
* BLANK OOTPOT *
♦BOFFBR AND HOVE*
* IN // *
*****••***•****•*
*****Q4* *********
* SET OFF LOAD
***••**•*•**••*•*
****H4 *********
* *
• RETURN ♦
****••**•*****•
TO CALLEB
Chart FJ (Part 5 of 6). Procedure Library Scheduler Interface Routine ($$RBM1)
5-102
PCOD'E
****}1*********
* *
* ENTER *
* *
DATE
.*
. .*
* NO
B2 *.
.* *
.* HO
->*. HESPONSE
*****
*001*
* J1*
* •
****g 3 *********
* •
>* BRUNCH *
* •
***************
FJ/02/A1 POH DATE
FJ/02/A2 FOB SWITCH
FJ/02/A3 POH LOG
„*
V
*. •*
*****
*. .*
*001*
* NO
* J1*
* •
«:****E1 **********
* CONVERT PCODE *
* TO ADDRESS *
* OFF-SET IN *
* TABLE *
* *
*****************
****F1 •*•***•**
* *
» RETURN *
» 4
***************
TO CALLER
UNCVHT
«***DH** *******
* 4
* ENTER »
* 4
**•****•***•**•
*****3fl **********
* *
* CONVERT 4.
♦CHARACTER ONIT *
* TO Q-CODE *
* •
********•*•**•*•*
****F4*********
» •
» RETORN «
* 4
*****•*•••****•
TO CALLER
Chart FJ (Part 6 of 6). Procedure Library Scheduler Interface Routine ($$RBM1)
Program Organization 5-103
SJRBH2
****A I*********
* *
* ENTBB *
* *
***************
*****************
H20030 BA/01/A1
*****C2 **********
♦MCEHTB *
*****************
H20035 » BA/01/A1
•****C3 **********
*RCEHTB *
* *
— >* HALT/STSLOG- *—
•PHUT SBQUEHCE *
* H01BEB *
•*•***•••*••**•**
*****
♦002*
* A1*
* BA/01/A1
* $SSGST- GET *
♦SOOHCE LIBRABT •
* RECORD *
*****•***••***•*•
****Q5 *********
• •
* EXIT *
» *
*****•••**•••**
E1 *.
.* *.
SnCCESSPOL
B2C035 t BA/01/A1
*****G1 **********
♦BCEHTB *
* *
* HALT/STSLOG- *
* PBIHT IRCLODE *
* STATEHEHTS *
*•***•****••**•••
****E 3 *********
* *
► EIIT *
* *
•••••••••******
H2C070
****F3 *********
* •
— >* EIIT *
* *
•*••*•*•**•*•**
* G3 *— .
* * I
• ••* f
G3
► »0
STATEMENTS
►. EBTEBED .
BA/01/A1
*****pi|* *********
*RCERTB *
* SfSSPT- POT ♦
♦COITBOL STIT II*
• SRA •
*****************
****E5*********
• •
>* EIIT *
* •
•***•••*•**•***
TO: SSSLSE (EBBOB
MESSAGES BOOTIES)
VIA RCEBTB
*.
•••**••******••*•
.*
*.
BA/01/A1
*****H1 **********
•HCEHTR
• ••*
» *
» J2 •
• *
• **•
♦ PK/02/H1
•****H3 ****•••*•*
•OPDATE
•*••••••*•••***••
I
*•*•
• •
• C3 *
• •
••**
* SfSSPT- POT *
.* CHAIRED *.
*. PBOCEDOBE .*-
_,
* OPDATB OLD *--
(
* STMT II SRA *
*. .*
1
* STATEHERT *
1
* •
*. .*
I
* *
1
***•••*•*********
*. .*
♦
••*********•••**•
f
*
*•**
****
****
* *
•
•
• •
* K» *
•
J2
*
* J2 *->
• *
*
•
• •
•*••
• *•*
• •••
BA/01/A1
'
BA/01/A
.*.
.*.
.*•
•****j 1**********
•****J2*** *******
J3 *.
J« *.
J5 *.
*ICERTB *
•RCBRTB *
• * *.
.* *.
.* *.
* HALT/STSLOG- *
* cr4Ti. aw9 *.
.* *. RO
>*. BBSPOISE - .*
. * *. HO
>*. BESPOBSB « .*
.* *. TES
>*. BESPORSE A .* •
— 9I9I.B UBT —
•PBIIT STATEHERT*
* BESFORSE *
*. CAHCEL .*
*. BRI .*
*. COHHERT .* 1
• •
* *
*. .*
*. .*
*. .* 1
*•**•*••******•**
1
*****************
*. .*
* TES
*. .*
* TBS
*. .* 1
* RO *•**
I ****
****
* *
* *
• •
* J2*
l->* D1 *
* K» *->
• *
• *
* *
•••*
****
• •*•
PK/02/A3
'
*****K5**********
♦check! *
***«H3*
*******
****K»*********
• •
• *
* EIIT *
* EXIT *
•CHECK POH TALID*
• *
• •
* ROHBBR *
****•****••***•
***************
* •
*****************
TO: JOSPEJ VIA
TO: SSIHPS
IRITIATOR PBOSBAH
SET-OP- PHASE ORB
1
HCEITR. BID OP
1 ****
JOB TRAISIERT
1 * •
U>* G3 *
• •
****
Chart FK (Part 1 of 2). UtUity OCL Processor ($$RBM2)
5-104
M20050 BA/01/A1
*****A1**********
♦NCENTB *
* *
r ->* IIALT/SYSLOG- *
I ♦PRINT ASTERISKS*
1 * AND MODIFY *
I *****************
* * ****
♦001** *
* CU** HI *->
****** *
►**A3*********
*
ENTEil *
*
It*************
*****************
*****************
BA/01/A1
*****q2 **********
♦NCENTB *
+ — *
>* $$SSGT- GET *
* INCLUDED *
* STATEMENTS *
*****************
BA/01/A1
*****D2 **********
♦NCENTH *
*. YES
RESPONSE = .* •
* SOUBCE PUT *
. CANCEL .* 1
* STATEMENTS IN *
*. .* 1
•SOURCE LIBRARY *
*. .* V
*****************
t FK/02/A3
*****E1 **********
♦CHECK* 002B3*
*****************
• ***
► 4
► B1 *
► 4
• ***
****
» •
► E2 *->
V BA/01/A1
*****E2 **********
♦NCENTB *
* CALL IISPEJ •
• *
•*****•********••
****P2*********
* *
* EXIT *
* *
***************
TO: SSSPEJ
END OP JOB
TRANSIENT
? FK/0 2/H1
•«***G1 **********
♦UPDATE *
ALL
VALID
DIGITS
CH0010 BA/01/A1
*****DK **********
♦HCEHTR *
tHVALID STMT
* NUMBER 1 •
*•*•******•****••
***4*EI| **********
*****************
B
*•*•
• •
* F3 *->
«***p3 *********
• *
• BETUBN *
• 4
**•******••*•••
TO: CALLEB
•****••••*•*••*••
UPDATE
****F|1 *********
* 4
* ENTER *
* 4
***************
*****************
BA/01/A1
•****H 3 •*•**•**•*
♦NCENTB *
. *.
HI *.
.* *.
UP0020 .*.
H5 *
.*
.* DESIRED *. IBS
>*- STATEMENT .*
.* DELETE
>*. OH
*****************
• **•
* •
* K2*
* •
•*••
BA/01/A1
*****K2 **********
♦NCKNTU *
A ********
**
*********
* K2 *
* *
****
****
► *
» K3 4
> 4
****
*****************
BA/01/A1
*****K3**********
♦NCENTR ♦
*t$SSPT- SWA PUT*
* *
*****************
BETBNU
**•• Kit *********
>* RFTUHN 4
♦ *
***************
TO: CALLER
Chart FK (Part 2 of 2). Utility OCL Processor ($$RBM2)
Program Organization 5- 1 05
$$RBRN
****A1*********
* •
* ENTER *
* *
***************
r
****
* 4
* A2 *
* 4
**•*
BN01
*****************
****
* *
* G1 *
* *
***•
*****C| **********
* *
.♦SAVE PARAHETEB *
"* LIST *
* *
* *
*****************
" FL/02/D5
*****Q1 **********
♦HN01H5 *
*****************
*****£ 1 **********
*****************
****A3********+
« 4
► EXIT «
» 4
***************
SN0101
****B3 *********
* *
* ENTEB *
* 4
***************
t****c 3 **********
♦HOVE LOAD HARE *
* TO SYSTEH *
* COMMUNICATION *
* REGION *
* *
*****************
****
> 4
► A2 *
k 4
****
FL/03/A3
****q2 *********
» •
* EIIT *
► *
***************
TO: BBF001-
PROCESS FILE
STATEMENT
*****F2 **********
* *
* *
->* SET OFF CALL *
* *
* *
*****************
****
♦003*
* B1 *->
* GET A RECORD
*
***•••**•*******
*< ■
* G1 *
* *
****
FL/03/A1
•***H2 *********
rES * *
>* hit *
* *
***************
**•*
* *
->* G1 *
• *
***•
*SBT POUTER TO *
* P-CODE BRANCH *
* TABLE *
* *
*****************
FL/03/A1
Y
****D3*********
► *
► EXIT *
t *
***************
RN0102
****£3 *********
* 4
* ENTEB 4
* 4
***************
FL/02/F3
*****? 3 **********
♦RN0120 *
* *
* CONVERT LOAD *
♦UNIT TO Q-CODE *
* *
*****************
**+**g 3 **********
* •
♦MOVE Q-BYTE TO *
♦PROGRAM LEVEL, *
* COHH, REGION *
* *
*****************
FL/03/A1
«
****H3*********
* *
» EXIT ♦
* *
***************
*****J3**********
* *
♦SET ON COBPILB ♦
1->* RECEIVED ♦
:
*****************
**
* J3 *
* 4
****
FL/03/A1
****K3 *********
► *
• EXIT *
► 4
***•*•*•***•***
HN0103
****A<1*********
* *
* ENTER *
* *
***************
■' FL/02/F3
***«*B4 **********
♦RN0120 *
* *
♦CONVERT OBJECT *
♦UNIT TO Q-CODE *
* *
*****************
FL/03/A1
y
****C4*********
* *
► EXIT *
► *
***************
RN010U
****D4*********
♦ 4
♦ ENTER *
♦ 4
***************
.*
I**** *002*
* ** B1*
->♦ C5 ♦ ♦ *
****
**** * NO *****
* *
* A5 *
* *
****
RN0105
****B5*********
♦ *
♦ ENTEB 4
♦ 4
***************
**♦*
' FL/02/F3
*****C5**********
♦BN0120 *
♦CONVERT SOURCE ♦
♦UNIT TO Q-CODE *
♦ *
*****************
♦ ***
♦ 002*
♦ A1 ♦->
.♦ SOURCE ♦. TES
UNIT .♦
♦.RECEIVED .♦
♦ SOURCE *. YES
NAHE .* ■
♦.RECEIVED .♦ I
♦. .* I
♦ . .* V
* ****
* *
♦ F5*
♦ *
****
*****************
V FL/02/A5
*****ZS* *********
♦RN0130 ♦
*****************
**** (
* * |
* F5 *->|
* * I
**** |
*****P5 **********
* *
* MOVE UNIT *
♦Q-CODE TO INDEX^
* BUFFER ♦
* ♦
*****************
♦ HOVE SOURCE ♦
.* SOU*
CE ♦. YES
♦ NAHE TO INDEX ♦
*. NAME .♦ ■
* BUFFER *
♦.RECEIVED .♦ 1
♦ ♦
♦. .♦ I
*****************
♦. .♦ V
♦ NO ♦♦♦♦
♦ ♦
♦ J3+
* *
****
'■
.♦.
' FL/02/D5
Ht *.
*****H5 **********
. * ♦.
.♦ UNIT ♦. YE!
♦BN0145 ♦
♦ . RECEIVED .♦
* READ NEXT ♦
♦. .♦
I
♦ RECORD ♦
♦. .*
1
♦ ♦
*. .♦
V
*****************
♦ NO ♦***
*
*
*
J3
*
*
*
****
■i
RN01A5
FL/02/D5
. ♦.
*****j n **********
J5 ♦.
♦HN01H5 *
.♦ ♦.
.* P-CODE ♦. NO
♦ . FOB SOURCE .♦ •
* READ NEXT *
* RECORD *
*. NAME .♦ I
• *
*. .* I
*****************
*. .♦ V
* YES *****
I *002*
1 * B1*
f ♦ ♦
♦♦♦** *
'
♦ 002*
.*.
♦ A1*
K« *.
* *
.* ♦.
*
.♦ UNIT ♦. NO
♦. P-CODE .♦
*. .*
V
*. .*
*****
*. .*
♦ 002*
* YES
* B1*
1 ♦♦♦♦
*
»
* *
*
«-->* A5 *
* *
****
Chart FL (Part 1 of 5). Run Processor ($$RBRN)
5-106
. *. BH0107
Al *.
• * *.
****A2 *********
.* NO *. NO
* *
r ->*. BESPONSE .* •
* ENTER *
1 *- •* 1
* *
I
* 01-K« * YES *****
***************
* * ****
♦001*
♦001**001*
* E«*
* J5** A5 *-•>
* *
****** *
*
****
V FL/05/D2
*****B1 **********
•****B2 **********
*EHBLO<3 *
* *
♦SET ON WRITE TO*
* LOG EBROR *
♦ INIT TABLE ♦
* MESSAGE *
♦
*
*****************
FL/02/A1
****C| *********
* *
* EXIT *
* *
***************
RH0106
****EI *********
* *
* ENTER *
* 4
***************
*****p'| **********
*****************
FL/02/A1
****G1 *********
K *
► Bill *
► *
***************
TO; BN0300-
EMD P110CESS
*****************
? FL/05/A4
*****C2 **********
•FLTEST *
* *
* WRITE *
♦INFORMATION IF *
* PENDING *
*****************
T FO/01/A1
*****D2 **********
*$$RBSW ♦
*****************
FL/02/A1
****E2 *********
► *
► EXIT *
► *
***************
RN0108
****P2 *********
* 4
* ENTER «
* 4
***************
*****G2 **********
*****************
♦ FL/05/A4
*****H2 **********
♦FLTEST *
* _-.*
* WRITE *
♦INFORMATION IF *
* PENDING *
*****************
' FB/01/A1
*****J2 **********
♦SSBBFH ♦
FL/02/D5
♦****A 3 **********
*BN0145 *
*****************
► A3 *
* 4
****
B3 *.
LINES
'' FR/01/A1
•****C 3 **********
*$$RBFM *
* UPDATE LINES *
* ♦
*****************
****B1*********
► 4
► EXIT 4
* 4
***************
FL/02/A1
v
****E3*********
► *
* EXIT *
• *
***************
RN0120
****F 3 *********
* *
* ENTER *
* 4
***************
*****G 3 **********
* *
* CONVERT *
♦CHARACTER UNIT ♦
♦ TO Q-CODE ♦
♦ ♦
*****************
****H3 *********
► 4
* RETURN *
* 4
***************
TO: CALLER
S0130
****A5*********
* +
* ENTER 4
* *
***************
V BA/01/A1
*****B5**********
*NENTRY *
*****************
****C5*********
► *
► HETURN 4
► *
***************
TO: CALLEE
****Q5*********
» *
► ENTER 4
» 4
***************
' BA/01/A1
*****E5**********
•NENTRY *
*****************
.* END OF *. NO
►. FILE .*---
*. . *
*****G 5*** *******
*****************
****H5*********
» *
* RETURN *
► *
***************
TO: CALLER
*****************
'T*.
****K3*********
« *
* EXIT *
* 4
***************
****
* ♦
->♦ A3 ♦
* *
****
Chart FL (Part 2 of 5). Run Processor ($$RBRN)
Program Organization 5-107
RN0300
****A1*********
* 4
* ENTER *
* 4
***** **********
. *.
B1 *.
.*
.* END OF
►. FILE
*.
" FL/05/A4
***** C 1 **********
♦FLTEST *
*****************
► *. YES
CONTROLLED . ♦
►. CANCEL .*
*. .*
*****
♦001*
* G1*
BBF001
**** A3 *********
* 4
* ENTER *
* 4
***************
****
* *
* B3 *->
* *
****
B3*
ENCODING
HIKEY .*
♦. .*
*****C3 **********
* *
♦ENCODE TO CORE *
* SECTOR UNTIL *
* COMMA BOUND *
* *
*****************
B&/01/A1
*****p1 **********
♦NCEHTH *
* FETCH $$INPS *
* *
*****************
****G1 *********
► *
► EXIT «
► 4
***************
TO: SSIBPS
****D2*** ******
* 4
* EXIT *
* 4
***************
TO: RN0600
BA/01/A1
*****E2 **********
♦NCENTB
>*
* FETCH SSBBH1
*
****************
****F2 *********
* *
* EXIT *
* *
***************
TO: JSBBPM
.* HIKEY
*. IN SEQ.
*. .*
*. .*
* YES
****
* *
* E3 *->
****
TESDUP .*.
E3 *.
.* +
.* FILE
*. KEYBORD
*. RECEIVED
*****************
G3 *.
*.
*
NO
UNIT
* ,
.*
I
.*
1
*• .*
V
♦ YES
• **•
I
*
* J3
*
****
**•*
► *
► A5 *
* 4
• ***
END OF *.
YES
FILE
*-- — ,
. *
I
.*
*. . *
V
* NO
****
1
* *
* D5*
1
* *
****
*****BU **********
* *
♦ENCODE TO CORE *
->* SECTOR UNTIL *
* BLANK FOUND *
* *
*****************
I****
* *
->* E3 *
* •
****
SAME
*. NO
FILE STI1T
.* ■
* 1
*. .*
1
*. . *
V
* YES
• ***
* *
* D5*
* *
,
****
FL/05/A3
*****DK* *********
♦ERROR *
* *
->♦ HIKEYS OUT OF *
♦ SEQUENCE ♦
♦ *
*****************
NO *.
NO
RESPONSE
* ,
. *
|
♦. .*
1
*. .*
i
* YES
**•*
I ***<
* *
♦
** B3*
t->* K3
• * *
*
* ****
* + *■
.♦.
D5 *.
♦ ♦.
FILE *.
YES
NAME
* .
•.RECEIVED .*
** * NO
* D5 *
¥ 4
****
FL/05/D2
*****Et)********»*
♦EBSLOG ♦
*****************
THIS
UNIT
.RECEIVED
* NO
**•*
* *
* J3 *->
* *
****
•****j3 **********
FL/05/A3
*****Hfl* *********
♦ERROR *
*****************
*****************
*••*
FL/05/A3
*****E5 **********
♦ERROR ♦
*****************
.♦ UNIT
♦. RECEIVED
♦ .
' FL/05/A3
•****Q5 *****>****
♦ERROR *
*****************
.♦ PACK . ♦. YES
♦. RECEIVED .* .
♦. . * 1
♦. .♦ I
♦. .♦ V
* ho *****
♦001*
♦ A1*
* *
*
FL/05/A3
****+j 5*** *******
♦ERBOB ♦
♦ *
* HO PACK GIVEN *
********<
>*•******
' FL/02/D5
*****
*00<»*
* B3*
*****************
Chart FL (Part 3 of 5). Run Processor ($$RBRN)
5-108
.* FIXED
*.
MO
,->*. OMT
*—---,
1 *. SPECIFIED.
*
\
1 *. .*
1 *. .*
* * YES
****
* * 1
*
•003* I
* CI
* HS*
•
***** j
***•
• *
♦ A3 *
» *
♦ *»*
B1 *. ***«*b2**********
.♦ROBBER *. *ERROR 005A3*
• •OF OMITS = *. HO * *
*. MOHBER OF .♦ >* MOT 1-1 *
*. PICKS .* *CORRESPONDEHCE *
*. .* * *
* .* *****************
* TES
♦ ♦♦♦ I
* * I
* C1 *->|
**♦* V
.*. FL/05/A3
CI * **««*c2**********
.*H0. OF *. *EBBOR *
.♦OBITS < OR *. SO * *
*. - HO. .* >* *
*. PACKS .* *T00 HAHT OBITS *
*. .* * *
• • «»***»*«*«*«♦****
* TES
FL/05/A3
*****A<| • *********
♦ERROR *
*****************
****
♦ 003*
♦ J5 ♦->
B3 ♦.
.* BOTH ♦.
.♦ RECS. ABD ♦. MO
1->*. TRKS .♦
*. RECEIVED .*
♦. .*
*. .*
** * TES
► B3 *
♦ ♦♦♦
FL/05/A3
*****B2** ********
♦ERROR ♦
.* HO
.
».
BO
*. IOC. » BO.
ft
>* HOT 1-1 *
*. PACKS .
♦
♦COBRESPOHDEHCE *
*. .♦
♦ ♦
*. .*
*••*•*♦♦•♦♦♦♦♦♦♦♦
* TES
****
♦ ♦
♦ F1 ♦->
* ♦
♦ ♦*♦
.♦.
F1 ♦.
.* *.
.* REC.
*.
HO
*. RECEIVED
*
*.
•
1
*. .*
I
*. .*
V
* TES
• ♦♦♦
1
•
♦
♦
HI
♦
1
♦
♦
1
♦ ♦♦♦
V
.♦.
FL/05/A3
G1 ♦.
*****Q2**********
.♦ *.
.* HO.
♦.
BO
•ERROR *
*. RECS. * BO.
>* MOT 1-1 *
*., PACKS .
♦ "
♦COBRESPOHDEHCE *
*. .*
♦ ♦
*. .*
•♦♦♦♦♦*•****••*•*
* TES
|
♦ ♦*♦ 1
* * 1
* HD *->(
J
♦ ♦♦♦ f
.*.
HI *.
..♦ *
.* TRICKS
*.
HO
*. RECEIVED
♦
♦ „
*"
1
*. .*
1
*. .*
»
* TES
♦♦♦*
1
♦
♦
♦
K1
♦
I
•
*
I
****
V
F1./05/A3
J1 *.
*****j 2 **********
.,* *
*. MO
♦EBROB *
. ♦ HO.
*. TRACKS ■
->* HOT 1-1 *
*„BO. PACKS
.♦
*CORBBSPOHDEHCB *
*. .*
* •
*. .*
*••*•••*♦♦♦♦♦•***
* TES
1
• ♦■«♦
]
♦ ♦
1
* K1 *->
♦ *
♦ ♦♦♦
J
1
Kl" "♦.
..* *
. * RIKETS
"♦
HO
♦. RECE
IVED
.* —
"»
FI/05/A3
*****Q1**** ******
♦ERROR ♦
• -.»
* BOTH BECOBDS *
* AND TRACKS •
* RECEIVED *
*****♦♦••*♦♦♦♦***
****•[) 3 **********
♦IHCREHEMT TOTAL*
* FILE COOMT BT *
* HO. OF PACKS *
* ABD HIKETS *
* *
*****************
FL/05/»3
*****F3 **•**♦♦♦♦•
•EBBOR •
♦***•♦*♦♦♦♦♦♦♦***
FL/050A1
***** G 3 **********
♦FLTEST *
*****************
****H3*********
• 4
• RETORM *
► *
***************
TO: CALLER
*•**
* •
* A3 *
* •
• ♦••
Chart FL (Part 4 of 5). Run Processor ($$RBRN)
Program Organization 5-109
SWAPUT
****A 1*********
* 4
* ENTER *
ERROR
****A3*********
* 4
* ENTER <
* 4
***************
PLTEST
****na*********
* 4
* ENTER 4
* 4
***************
V BA/01/A1
*«***B | **********
•NCENTH *
*****************
C1 *.
.* *.
. *
*. SUCCESSFUL
V FL/05/A3
*****Q1 **********
•ERROR *
**•*••*•******•**
****C2 *********
► *
» RETURN *
• *
***************
TO: CALLER
ERRLOG
****D2 *********
* *
» ENTER *
* *
***************
ALREADY
LOGGED
ERROR
V BA/01/A1
*****C3**********
♦NCENTR *
* *
* SYSLOG - LOG *
* FILE NAME AND *
* SEQ. NUMBER *
*****************
PL/05/A3
*****E1 **********
♦ERROR *
* CANCEL JOB *
* *
*••**•*****••****
****f 1*********
► *
* EXIT ♦
* 4
***************
TO: SJSPEJ-
EHD OF JOB
TRANSIENT
1 BA/01/A1
*****D3 **********
♦NCENTR *
*****************
*****£ 3*********
*
* SET ON
♦ CONTROLLED
• CANCEL
♦
****************
****F3 *********
* *
* RETURN *
* *
•••***••**•*•**
TO: CALLER
. ♦ ANT
. FILE CARD
♦. PENDING .
MORE ♦. YES
THAN ONE .♦ 1
. SECTOR .* I
****B 5 *********
t *
► RETURN ♦
► *
***************
TO: CALLER
**•*
* *
* pi) *
* *
*•*•
*****£(| **********
* *
• SET OFF PUT ♦
♦ REQUESTED ♦
♦ *
♦ ♦
*••*•*****•*•****
*•*•
• *
* F« ♦->
• •
****
MORE
THAU ONE
. SECTOR
.♦ END
OF *. TBS
♦. FILE .* .
*• .♦ I
♦. .♦ I
♦. .♦ ♦
* NO *•**
• *
* F«*
* *
****
'
FL/05/A1
♦ ****G<» **********
♦SWAPUT ♦
♦♦**E 5 *********
► *
* RETURN ♦
• *
***************
TO: CALLER
FL/05/A1
*****P5*«* *******
♦SMAPUT *
* WRITE SECTOR ♦
• *
*****************
*****G 5**** ******
***••****•*•****•
*****ft!| **********
*****************
1****
* »
->* F1 ♦
• *
*•*•
*****************
****J4 *********
* 4
* RETURN 4
* 4
***************
TO: CALLER
Chart FL (Part 5 of 5). Run Processor ($$RBRN)
5-110
SfRBIN
****£ | *********
* 4
* 8NTER *
* 4
***************
INOOOO
*****bi **********
♦STORE POINTEBS *
* TO CONTROL *
♦TABLE ENTBY &MO*
* COHHOM BUFFER ♦
* ABBA *
******.>**********
*****c i**********
*****************
*
BVP
*
INDICATOB
*
ON
*. .*
*. .*
♦ YES
*****£ | **** ******
* *
* HOVE HYPEN TO *
* PBINT OUTPUT ♦
* 1BEA *
* ♦
*****************
' BA/01/A1
*SISLO(5- PBOHPT ♦
• *
*****************
IH0050 7 BA/OI/Al
*****q\ **********
♦NCENTB *
► A3 ♦ >♦. COMPLETION .
* * *. CODE = HO.*
*♦♦* ♦. .*
**♦*
► *
» B3 4
¥ i
****
IH0011
*****D2 **********
♦MOVE HYPEN AND *
♦ KEYWOBD TO ♦
>* PRINT OUTPUT *
♦ BUFFER *
♦ *
*****************
♦CLEAB WORK AREA*
*****************
*****P2 **********
* MOVE SEQ# *
* P-CODE AND *
* HYPEN TO *
* HORKABEA *
* *
*****************
I****
* *
->* F1 *
* *
****
*****B3* *********
* BUILD A *
♦PARAMETER LIST *
♦TO SYNTAX CHECK*
* RESPONSE *
* ♦
*****************
IN0063 V BA/01/A1
*****C 3 **********
♦NCENTR ♦
*****************
"2ND OF JOB FLAG*
* *
*****************
ERBCOM V BA/01/A1
*****g 4 **********
♦NCENTR ♦
*****************
ERRCM1 .*.
Cl» *.
.* *
.* EOJ
*• FLAG ON
D3 *.
*
RETURN
****
* 4
► J3 4
¥ i
****
*****
*002*
* F1*
BA/01/A1
*****C5 **********
♦NCENTB *
* FETCH $$SPEJ *
* *
*****************
****D5*********
¥ 4
¥ EXIT *
¥ 4
***************
E« *.
• * *
.* HVF
->*. ALLOWED
****
) * «
— >* J2 «
* 4
*•*♦
*****
♦ 002*
* A1*
* *
*****F5 **********
* TURN ON HVF *
* INDICATOR. *
->*CLEAR RESPONSE *-
* COUNTER ♦
* *
*****************
*****
♦002*
♦ H«*
IN0101 .*.
GH *.
.* *
.* END OF
*. HVF STHT
*****q 5* *********
*****************
♦
.*•
HI *.
*****************
. * BAS
. BMTBB OSED
*.
*. .♦
*. .*
* YES
*. ****
*. NO * *
.* >♦ A3 *
J1 *.
* *
*
BNTBB
♦
*,
ALLOWED
*. .♦
*. .*
* YES
****
¥ 4
¥ J2 «
¥ 4
****
V BA/01/A1
*****J2 **********
♦HCEBTB *
->* $$SLSB- LOG
A * EBROB HESSAGE
I :
*****************
*002*02-C1
* B1*02-D1
*****02-B2
*****
♦ 002*
* H3*
♦ ***
* *
* J2 *
* *
****
IN0200
****j3 *********
* 4
>* BETDHN «
* 4
***************
TO: ABR + 6
*****K1 **********
*****************
****
¥ 4
¥ B3 4
► 4
***♦
Chart FM (Part 1 of 2). Interaction Routine ($$RBIN)
Program Organization 5-111
.♦.
11 *.
.* ♦ .
HBTURN *.
CODE = Ott .
. *
*. .*
♦. .*
* NO
♦ 001*
* E3*
*****
B1 *.
, * *.
RETURN
CODE - 02
"*. .*"
*****
♦ 001*
* J2*
->*- PROMPTING .
• •PILE NAME.*
.*
*. RESPONSE
♦.REQUIRED
**** \ 3* ********
* *
->♦ RETURN *
* 4
***************
TO: ARB ♦ 3
*****
♦ 001*
* J2*
BUILD
*.
NO
.* JUST *.
OCL JOB
* ,
*. PROMPT UNIT .*
*
I
*. PARR .*
.*
I
*. .*
*. .*
*
♦. .*
* YES
*****
+ YES
1
*oot*
* J2*
* *
l
*
.*.
'
D1 *.
*****D2 **********
*.
* HOVE PREVIOUS *
NULL
*.
NO
♦UNIT FROM SAVE ♦
ALLOHED
♦ TABL i TO *
*
♦ RESPON(
:E AREA •
****
* •
* E2 *
* *
****
*****
♦001*
* 3*
* *
*****
♦001 +
♦ J2*
*****************
****
* *
♦ E2 *
•***E2 *********
► 4
► RETURN 4
► 4
***************
♦SET HO RESPONSE*
->♦ CODE IN ♦
♦ RESPONSE AREA ♦
* *
*****************
IN0300
. *"
*.
HVF ♦. NO
INDICATOR .♦
OR .♦
->♦ H« ♦
♦ *
****
F2 *.
.♦ ♦.
.♦ JUST ♦ . H
->♦. PROMPT PILE .♦-
♦. DATE .♦
♦. .♦
♦. .♦
♦ YES
I****
♦ ♦
->* Htt ♦
♦ *
*•*•
* JUST ♦
PROMPT NAME
►. PARR .*
*****************
*****************
1****
♦ ♦
->♦ H3 ♦
• *
**••
.* JUST ♦. YES
♦ MOVE UNIT AND ♦
♦. PROMPT A .♦
>*U-CODE TO SAVE * .
♦.UNIT PARM.*
♦ TABLE ♦ I
♦. .♦
* *
♦. .♦
***************** y
♦ NO
*•**
****
**** * *
* *
♦ ♦ * H4 ♦
♦ H3 ♦->
♦ H« ♦ • ♦ ♦
*****
* *
♦ * I **•*
♦00 1*
• ***
**** 1
♦ G5*
IN0306 .♦.
BSPHRK V
* *
H3 *.
*****H4**** ******
*
.♦ JUST ♦.
* *
I
.♦ PROMPT ♦. NO
♦ HOVE RESPONSE ♦
■— —>*TO BUFFER RORK ♦<— -i
♦. PARM .♦ A ♦ AREA ♦ 1
♦. .♦
* *
♦. .♦
***************** |
* YES
* •
♦001*
♦ F5+
*****
''
.♦. IN
*****jj**********
J« ♦.
♦ BUMP CONTROL ♦
. ♦ ♦.
♦ TABLE POINTER ♦
.♦ HVF ♦. YES
♦ TO BYPASS THE ♦ J
♦. INDICATOR .♦
♦ TRACKS PROMPT ♦
♦. OH .♦
♦ *
♦. .*
*********
*********
*.
. *
*****J5 **********
♦ MOVE COMMA TO *
♦RESPOHSE AREA, ♦
>^UPDATE RESPONSE*
♦ COUNTER ♦
♦ *
*****************
IN0350
****KI4 *********
♦ 4
♦ RETURN 4
♦ 4
***************
TO: ARR
Chart FM (Part 2 of 2). Interaction Routine ($$RBIN)
5-112
JJBBDS
****A| *********
* *
* ENTER *
* *
***************
SW0005 V
*****B1 **********
* *
* HOVE DATE AND *
* UPSI BTTBS TO *
* PROGRAM *
* *
*****************
****
* *
* CI *
* *
****
•****d **********
* *
♦POBMAT DATE AMD*
* HOVE IT *
*****************
A2
*.
.* *
.* SWITCH
r ->*. PROMPT
I *-
| *. .*
*. .*
**** * NO
*
A2 *
*
****
->*
*****A3 **********
* *
MOVE IN X'FE« *
PC. X'FA' *
RESPONSE *
* *
*****************
I****
* *
->* H2 *
* *
****
*****B2**********
* *
* MOVE IK FA *
* BBSPORSE. PC *
* X'FB 1 *
* *
*****************
I****
* *
->* H2 *
* *
****
C2
.*.
SW0170 BA/01/A1
*****C3 **********
♦NCENTB *
I
t *
► C2 *
* 4
****
♦MOVE FOBMATTED *
* DATE TO INBUF *
*****************
****
)010 V BA/01/A1
*****]> 1**********
♦NCENTB *
I :
****
* C3 *
¥ *
****
LOAD SSRDSH ♦
*****************
' BA/01/A1
♦**** D 2 **********
•NCENTB ♦
♦ LOAD SSBBDT ♦
* *
*****************
****
► *
► B3 ♦
* *
****
L:
C5 *
4
****
BA/01/A1
*****C5 **********
♦NCENTB ♦
* SET PC «FE'
* MOVE IN
* RESPONSE
*
*****************
SiERDT BA/01/A1
*****£<( **********
♦NCENTR *
NO
>* $$SLSE- LOG ♦
A
* ERROB SWITCH *
•* ♦
*****************
• ***
*
*****
* C5
* *
*
* D5 ♦->
***** *
****
V
*****D5 **********
* *
►
* DECODE UPSI *
i ,
* BYTE, MOVE IN ♦
* VEBB SWITCH ♦
' 1
|
* *
N V
*****************
***•
* *
* C3 ♦
*****************
I****
* *
->* C1 ♦
* *
****
*****E5**** ******
*****************
I****
♦ ♦
->♦ F1 ♦
* *
****
*** **<*** *********
SW0020 V BA/01/A1
*****(; 1 **********
♦NCENTB *
*****************
SW0030
.*.
HI *.
♦ ♦.
.*
■
*.
TES
*.
RESPONSE
«
*.
♦. .♦"
|
♦. .♦
♦ MO
|
?
**♦♦
♦ *
♦ A2 *
♦ i
♦ ♦♦♦
SW0040
.♦.
J1 ♦.
,* ♦.
.*
NOLL
*.
HO
*.
BESPOISE
•
" ♦. . *"
1
♦. .♦
♦ YES
1
♦ ♦♦♦
♦
♦ C2
*
****
*****************
*****G2 **********
♦BOVB IN P-CODE ♦
♦ X'FB' *
*****************
****
♦ *
♦ H2 ♦->
♦ ♦
♦ ♦♦♦
V BA/01/A1
*****H2 *♦******♦♦
♦NCENTB ♦
* *
♦ ♦
♦ $$RBLP- WBITE ♦
♦ ♦
*****************
I ♦♦♦♦
♦ *
L->* E3 «
♦ «
♦ ♦♦♦
♦♦♦♦
► *
* G3 *
* 4
♦ ♦•*
.♦
,*
TBS
***«K2 *********
♦ ♦
♦ BBTDRN «
♦ *
*******♦♦♦•****
TO: CALLEB
****
» *
► G3 *
* *
****
*****GI)**********
* *
* MOVB IN X«FB« *
->*RESPONSE X'FE' *
* PC *
* *
*****************
I****
* *
->* H2 *
* *
****
*****(I3**********
* *
* MOVE IN X«FB' *
♦RESPONSE X'FB' ♦
♦ PC *
♦ ♦"
*****************
****
*
H2 *
« *
**♦♦
u
♦♦♦♦
► ♦
* D5 *
► *
• •**
Chart FN. Date/Switch Processor ($$RBDS)
Program Organization 5-113
tSRBSH
* *
* ENTER 4
* *
***************
* INITIALIZE *
* BEGISTEBS AND •
* POINTERS *
* *
*****************
SW002
*****d **********
* *
♦GET SBITCH AND *
* INDICATOR *
* SETTINGS *
* *
*****************
SWFBST .*.
D1 *.
.* *.
.* IS
♦. BYTE= BLANK
****
* *
► C2 *
* *
****
•SET OPSI SWITCH*-
* *
* •
*****************
♦ INCBEHENT *
>* REGISTEB *-
+ POINTERS *
* *
*****************
END OP
Q TABLE
*****C5**** ******
INCBEHENT TO *
NEXT BYTE *
*****************
EQOA
EQUAL
^ .♦ IS *. LOU
>*. BITE»,>,< .*
I»
****
* 4
* D2 1
► 4
****
. * NEXT *. NO
BYTE = .*
*. BLANK .*
PAST
END OF
BUFFER
*****E 1 **********
*****************
****
****
SV03O0
*****pi **********
*****************
I
****
* *
* C2 *
* *
****
****
* *
* E3 *
* *
**•*
SVN0X1 V
*****E 3 **********
* *
♦INDICATE IF THE*
* PABH IS TOO ♦
* LONG OB SHORT *
* *
*****************
i****
♦ ♦
->* F1 ♦
* *
****
****
» *
► D2*
* *
****
*•**
* *
* E3*
* *
****
♦. UPDATE
****
* *
->* G1 *
* *
****
*****E5 **********
*****************
I****
♦ ♦
->* G1 *
* *
****
*****************
****
* *
* G1 ♦->
* *
****
****G1*********
* *
* RETURN *
* *
***************
TO: CALLER
Chart FO. Switch Control Statement Processor ($$RBSW)
5-114
ISRBDT
****A1 *********
* *
* ENTER *
* *
**•***•******•*
DAT001
•****B1 **********
* SAVE REGS. *
* INITIALIZE *
* COUNTERS AND *
* SNITCHBS *
* *
*****************
► ****
****
► *
* El *->
.* END OP *. N
->*. INPUT .*-
*. BUFFER .*
* ADD ONE TO *
->* INPUT BUFFER *
* POINTER *
* *
*****************
RESTORE XR2
SET ERROR
FIND
fto * •
*****************
****
f *
* H2 *
► *
***•
E1 *.
* *
NUMERIC
->*. APOSTROPHE
DAT121
*****P2* *********
* RESTORE XR2, *
* SET ERROR- *
* INVALID *-
* CHARACTER *
* *
*****************
!■->* HO *
• 4
**•*
• **•
► *
* H2 *
► *
****
•* li******** ******
«*<i**j1 **********
* *
* tobb opp *
* delimiter *
* SNITCH *
* *
••a******** ******
****
DAT001
*****Ki **********
*****************
I :
***_*
♦HESTOBE XR2 SBT*
>* ERROR- BAD *
LENGTH *
***•**••••*****•*
*****
* *
* .
*****
****
""li!
\ I
****
t *
* H2 *
» *
***•
•*H2**********
*********
EH 1 ** ■
: I
******** I
**
DAT 120
*****B 3 **********
* *BESTOBE REG. 2.*
* _ * INDICATE *
*< .< * MISPLACED OH *<
* DOUBLE *
♦DBLIHITEB BBBOB*
*****•*•*••******
• *
* H2 *
* *
****
DAT 140
****J2*********
* *
* RETURN *
* •
***************
TO: ABB * 3
END OP
. bSfISI
*. .
.1.
* ADD QBE TO
>* IB POT boppb;
* POINTER
* *
*****************
*****gl| **********
* *
* TURN ON *
>* DELIMITER *
* SNITCH *
* *
*****************
.* IS
BITE
*
NO
* FIRST *. TBS
*. A BLANK
->*
NON-BLANK .* .
*,
•
*. .* 1
*. .*
*. .*
*. .*
*. .* *
* IBS
• |0 •*•*
****
1 * *
* *
1 * HO*
* GO *->
* *
• •
I *•••
• **•
'
V
DAT080 .*.
.*.
GO *.
G5 *.
.* *.
.* *.
.* OOTPOT
*,
NO
* .OUTPUT *. IBS
*. BOFFBR POLL .
• — --,
*"
COUNTER > 5 .* .
*.
*
1
*. .* 1
*. .*
I
*. .* I
*. . *
♦
*. .* t
♦ TBS
**•*
• go ****
****
• •
• •
* *
* G2 *
* HO*
* HO *->
* *
• *
• *
****
*•••
***•
.*.
HO *.
*****g5 **********
.* ODD *.
*
*
YES .* IOHBEB OP
*.
*
ADD ONE TO *
*. DELIMITERS
*
*
DELIMITER •
*.
.
**
•
CODNTBB •
*****************
*—
* K2 •
* *
•••*
->* GO «
* *
*****jtj **********
* •
* BBSTOBE BEGS. •
* INDICATE GOOD *
* DATE *
* •
*****************
DAT090
****K4*********
* *
--. * BBTDBB *
1* *
***************
► ***
. * TO: CALLER
B1 •
*
► ***
.•IS *.
.* OOTPOT
*. COUNTER
*. ODD
*. .*
*,
•
NO
• -a
1
*. .*
1
* IBS
***•
• *
* K2*
* •
*•••
DAT070
•****K5*«
>****<
*4
*
* SHIPT OOTPOT *
•BTTB BIGHT AID *
* INSERT ZBHO •
* •
*****************
Chart FP. Date Scan Routine ($$RBDT)
Program Organization 5-115
SSRBLG
****(1*********
* «
* ENTER *
* 4
***************
*****************
' BA/01/A1
LG0095
*****A2 **********
* FIND AND SAVE *
* C/S OF NE» *
HALT/SYSLOG *
HODULE *
*
****************
n
****
► *
* A2 *
► 4
*••*
.* ♦.
, * REQUESTED
. DEVICE -
♦ . CBT
♦ . .*
*. .♦
* NO
► LOG *. NO
PREVIOUSLY .*
k. ON CRT .*
L->* D4 *
• 4
****
FQ/01/A5
it*********
♦ TORN ON CRT *
* *
*****************
I****
* *
->* D3 *
* *
****
LGCR.T
****&<; *********
* *
* ENTEU 4
* *
***************
' BA/01/A1
*****g5**** ******
♦NCENTR *
* FIND $$STOX *
* *
*****************
'' BA/01/A1
*****C5 **********
♦NCENTB *
* HALT/SYSLOG - *
* PROHPT FOB *
* DEVICE *
*****************
BA/01/*1
*****Q1 **********
♦NCBNTH *
***••**•**•*•****
****
* 4
» DU *
k *
****
FQ/01/A5
k*$*****
* TURN CRT OFF *
* *
*****************
FIND AND SAVE *
C/S OF NEW *-
* SYSIN MODULE *
* *
*****************
****
* *
* D3 *
• *
****
LG0030
1****
** TO:
****D1» *********
*
RETURN *
*
***************
CALLER
* D« *
* *
****
* CALL $$STOX *
* *
*****************
****D5*********
* *
► HETURN *
» 4
***************
TO: CALLER
.* *. YES
*. SOCCESSFDL .*
♦.RESPONSE .*
" FQ/01/H5
1*****'***'**
*****************
BA/01/A1
***** G 1**»* ******
♦NCENTB *
* CALL SSSPEJ *
* *
*****************
****K1 *********
k *
► BUT *
* *
***************
TO: SSSPEJ
BND OF JOB
TRANSIENT
NON BLANK
«.CHABACTEB.
*. .*
*. .*
****
t 4
K El «
k *
• ***
.♦ END OF *. YES
♦ . BUFFER .* ■
*- .* I
*- ■* I
♦ . .* V
* NO ****
*
* Ha
*
****
LG00 25
*****C2*
1
k********
•SET POINTER TO *
* TABLE OF *
* DEVICES *
* *
*****************
— ♦UPDATE POINTER ♦
* *
* *
*****************
****
* 4
* E3 4
* 4
****
;*********
RESPONSE =
►. ON, OFF .
♦. .♦
* m ♦->
* *
*•*•
LG002a V F,
•****[](«****]
♦PRINT ♦
* * .
♦INVALID DEVICE ♦ I
Q/01/H5
******
*****************
PRINT
****H 5**** *****
* *
* ENTER *
* *
***************
*****************
****
* 4
* C1 *
* 4
****
' BA/01/A1
♦ READ •
♦ CONFIGURATION ♦
♦ RECORD ♦
*****************
.♦ DEVICE ♦. NO
♦. SUPPORTED .♦
♦ . .♦
•■->♦ A2 ♦
♦ ♦
****
*****Kt| **********
♦PRINT ♦
->• DEVICE HOT ♦-
♦ SUPPORTED ♦
♦ ♦
*•**•**••********
*•**
k 4
* CI <
» 4
****
*****************
****K5 *********
k *
* RETURN *
* *
***************
TO: CALLER
Chart FQ. Log Statement Processor ($$RBLG)
5-116
SSRBFH
****A 1 *********
* *
* ENTEB *
* *
***************
***•*•*•*•*******
UPDATE
CONN.
REGION
.* SYNTAX *. TES
CHECK .*
*. DEVICE .*
FB/02/A1
*****B5 **********
•DEVCHR 002*1*
*****************
• •*•
* *
* C2 *->
• *•*
FH0010
*****C2 **********
♦PRINT *
• *
* PRONPT *
* 'DEVICE'- GET *
* RESPONSE *
*****************
FR/02/A1
•****D2**********
*DEVCHK 002A1*
•*••*•***••**•*•*
FH0110
.*.
C3 *.
* *.
SECD .*
DEVICE
r"*-
PARAHETBR
| *
1
*. .*
*
*. .*
****
* OTHB
* •
* E3 *
* *
• •**
FB/03/A3
*****g1 **********
♦ERROR *
*****************
I *•**
* *
L>* C2 *
* *
• *•*
FN0020
*****F2 **********
♦SSRBLP ♦
*****************
***•
FN0040
*****G2** ********
♦PRINT *
**♦♦♦*♦••*******•
Lss^ss^i 3
*•••****•****•***
FB/03/A3
*****j1 **********
♦ERROR *
•*•*•*•*»**•**••*
FH0060
*****K2**********
♦StBBLP *
**»****••*•*••••*
I •**•
* *
L_>* E3 *
* •
***•
*****D 3**** ******
* *
* SAVE *
* APPBOPRUTE *
* LINE SIZE *
* *
*•••••****•••*•*•
• ***
*****F3 **********
• *
♦PLACE LINES IN *
* T8ACTR2 CONN. *<-
* REGION ABB* ♦
♦ ♦
*****************
*****************
F»
ERROR *.
NO
. *
1
.*
1
*. . *
♦
■ T-ES
• •**
* •
* J<l*
* •
• •*♦
*****D5 **********
* SET ERROR *
♦SNITCH OFF. SET*
* ERROR RETDRN •
* CODE. *
* *
•*•*****•****•***
I **•*
* *
>■->* H5 *
* *
****
FH0090 t FB/02/A3
•****F5**********
*LINCHK *
* INDICATE NOT *
* BB»DY TO *
* UPDATE. ♦
* ♦
*****************
•**•
* *
* H3 *->
* *
****
RETURN
*****H3*********„
* •
* RESTORE *
* CALLER'S *
*PAR»HETER LIST *
* *
**♦••********••**
RETRN1
****J3 *********
* *
* RETURN ♦
* *
***************
*****K3**********
TRACTR1
►. .*"
*. .*
* TBS
♦PLACE LINES IN *
-* TRiCTRI CONN. *
* REGION ABBA *
* *
********♦*****♦♦♦
♦♦♦♦♦♦♦♦***••*•*•
■ ruunif • »-— --i
*. .* I
*. .* I
*. .* V
■* I
****
FN0100
*****J4 **********
******•*****••**•
• **•
* *
* H5 *->
* *
• *•*
•****B5**** ******
* SBT BBROB *
♦SNITCH OFF. SET^
* ERROR BBT0RB *
* CODE. ♦
* *
*****************
*****j 5**** ******
* SBT BBROB *
♦SNITCH OFF. SBT^
* BRBOB BBTOBN *
* CODE. *
* *
*****************
****
• *
♦ J«*
* •
**•*
->*SBT RBTOBN CODE*
*****************
*****************
»***
*
B5J
► **«
Chart FR (Part 1 of 3). Forms Statement Processor ($$RBFM)
Program Organization 5-117
DEVCHK
****A1*********
* *
* ENTEH •
* *
***************
*****A2 **********
*****************
LINCHK
****A3*********
* *
* ENTER *
* 4
***************
V FR/02/A1
*****B2 **********
♦ SCAN 002H1*
*****************
*****************
TRACTR1 .*<-
* FR/02/H1
*****£ 3 **********
♦SCUM 002H1*
*****************
*****£ 1 **********
**•••••*•**•**•••
*****Q2** ********
* *
♦SET DEFAULT EHD*
•ADDRESS SET OFF*
♦DEFAULT SWITCH *
• *
*****************
RETRND
****F2 *********
* *
— >* RETURN «
• 4
•**•••••••*****
*****************
****H1 *********
* *
* EHTER *
> *
•**•****••••••*
SCOO10
.**
*****E 3 **********
*****************
•****p 3 **********
* *
* SAVE *
* APPROPRIATE *
* LIRE NUMBER *
* *
*•••*•****••*****
* CONVERT LIRE *
* IDHBEB TO *-
* DECIMAL *
* *
•*••*****•••**•**
*****************
*****J3**********
• *
• *
->*UPDATE POINTER *-
* •
* *
••*••*••*••***••*
*****f 4 **********
*••*••***••*•**•*
******•*******•••
RBTRNL
•***H4 *********
* t
* RETURN *
* t
***************
********•*•*•**•*
F5 *.
• * *.
.♦RESPONSE LT».
*. >2> OR GT .*
*. »112' .*
* SET ERROR *
■* SWITCH. BESET *
* VALUE OF SIZE *
* •
*•****••••******•
• •**
* *
H5
* * I
**** I
****H5*********
» *
* BETDBI *
k •
***************
*****j5 **********
->* PROGRAM START *
*****************
K2 *.
*
BLAIR
*****K3**********
* •
->*UPDITE POUTER *-
* •
* *
*****************
* TBS
.>[
••*•••*•****•****
Chart FR (Part 2 of 3). Forms Statement Processor ($$RBFM)
5-118
PHUT
****A1*********
* *
* PHIHT *
* *
***«******•***•
EHROR
****A3*********
* *
* ENTER *
* *
***************
*****B3**********
*****************
B»/01/M
♦♦♦♦»C1 **********
♦NCENTB *
*****************
BA/01/&1
*****D1 **********
♦HCEMTB *
♦STSIH SUPPOBTBD*
* *
*****************
V
.*.
El *.
.* *.
► *. IBS
SUCCESSFUL .*
►. .*
*****************
*****************
BETBMP
***#fO*********
* *
* BETDBH *
* «
***************
*****************
' B&/01/A1
*****C 3 **********
♦NCENTB *
* *
* CALL EBBOR *
* PRINT ROUTINE *
* $$SLSE *
*****************
BETRNE
V
****D3*********
* *
* HETUBN *
* *
***************
E
Chart FR (Part 3 of 3). Forms Statement Processor ($$RBFM)
Program Organization 5-119
fSSBHI
****A1*********
* *
* ENTER *
* *
***************
HKPRNT
****A2** *******
* *
* ENTER *
* 4
*•*******•**•••
BA/01/A1
*****B2 **********
•HCEHTH
r ->*I LEHGTH I* ■
**** • NO •••*
****
* •
* A5 *—
* A3 *
* *
• •*•
* C3 *
* *
• *•'•
*****************
*****D1 **********
* *
* SET OP SBQ. *
* HDBBEB FOB *
* PROMPTING *
* *
*****************
*SATE PARN LIST *
♦FOR WRITING TO *
* SWA *
.* LEHGTH *. HO
* HALT/SYSLOG- *
* LOG HIKET *
*. > 29 .*■
*. .*
1
* LEBGTH *
*• .*
1
*•*•**••*****••*•
*. .*
♦
* TES
**••
• ••*
* *
• •
* E3 *
* C3 *->
* *
* *
****
• •••
HKP001 '
•****C2 **********
*****r 3 **********
♦GET006 *
• •
♦SET OH BI PASS *
* SCAR *
• INTALID HIKET *-
• •
* LEHGTH *
1
* *
* •
1
*****************
**•*****•**•••*•*
*
• •*•
* *
* E3 *
• *
• •••
FS/05/A1
HKP005
•****D2**********
•GETRPN *
****D 3 *********
* *
* EHTER *
• *
• GET RESPONSE *
• *
•
•
*••***•*•***•*•
*****************
•*•*
* *
* E3 *->
* •
• **•
NOHE
*****E3 *********
♦SETUP
YALTD *.
HO
DIGITS
.*
1
. .*
1
*. .*
♦
* TES
• •**
* *
* C3 *
* •
• •**
•***••***•*•••••
BA/01/A1
*****F3 **********
•HCEHTR *
***•****♦***•**•*
****
* *
* J1 *
* *
****
**•*
* •
* C3 *
* ♦
• ***
♦.COHTIHOATIOH .*-
•••**•••*
: I
******** t
*•**
* •
* A3 *
* •
****
****
* •
* J1 *->
* *
****
RBH003
*****J1 **********
*****************
FS/01/»2
•***K1*********
* *
* EXIT *
* •
***************
SBH0A5 FS/03/A1
****H2*********
• *
— >* EXIT *
• *
***************
TO: BOH015
FIRST
BYTE A
QUOTE
J3 *.
BLAHK
FS/02/A1
****GH*** ******
» ♦
* EXIT ♦
* ♦
**•*•*••••*•••*
TO: BOH PIT
•****A5 ****•*•*•*
•**••**•*********
*****B5**«* ******
*••**•*•*********
" FS/04/A2
•****C5 **********
♦DECOHP *
•**♦♦♦♦♦♦♦♦♦♦♦***
* FS/03/EH
* WHITE RECORD *
* *
*****************
FS/01/F5
****ES ******•*♦
> ♦
* EXIT ♦
* •
**•******♦♦♦♦*•
TO: RETURN
RETURN
****P5*********
* *
* EHTER *
* *
**••**••**•****
• •**•(] 5**** ******
•*****•*•****••**
****H5 *********
» *
* EXIT «
• *
•*♦♦♦♦♦♦♦♦♦♦♦♦*
TO: CALLER
.*
. .*
* TES
• *••
* *
* A5 *
* •
**♦*
Chart FS (Part 1 of 5). HIKEY Processor ($$RBHI)
5-120
BUHPIT
****ai*********
* *
* ENTER *
* *
***************
****
•003*
* B1 ♦
****
* A3 * >*.
PROMPTING
FOR
, HIKETS .
PS/03/E1
»****A4* *********
►BUMPER *
* INVALID HIKEY *
* ♦
*****************
• ***
> *
► B3 *
r
****
PS/03/E1
*****B ***********
♦BUMPER *
* INVALID HIKEY *
* *
*****************
FS/03/E1
*****C3 **********
* INVALID HIKEY *
* *
*****************
• **•
BUN001 * PS/03/F2
*****D1 **********
♦BUHHOV *
* *
r ->* HOVE IN BYTE *
* AND ADD TO *
) * LENGTH OR 1 *
| *****************
• *** I
* SET ON ENDING *
♦QUOTE RECEIVED *
* *
* *
•****••*•********
• •*** I
* *003* I
* * DM *->
* *
**** y
BUH008 .*.
BUM012
. *.
D3 *.
D« *.
* OLD
.* PROMPTING *. YES
,*
LENGTH =
NEK
LENGTH
*. HIKEYS .*
A *.
••*•• *
**••
BUHOOM
E1 *.
*
QUOTE
*****
♦003*
* A2*
PS/03/P2
->* HOVE IN BYTE * •
♦AND ADD ONE TO * I
♦ LENGTH * I
♦♦♦**♦♦♦•***•***• y
• •**
* *
♦ D1 ♦
PS/03/E1
*****G2**********
♦BUHPEB •
♦ INVALID HIKEY *
* •
*****************
t FS/03/F2
*****H1 »**•***•(*
♦BUHHOV *
* *
* HOVE IN BYTE. *
♦ADD TO LENGTH*
* •
•**•*••«*********
*****************
*****q3 **********
*****************
*****H 3 **********
* *
* *
* SET ON DONE ♦
* *
*****************
I****
♦ ♦
->♦ B1 ♦
♦ *
* ****
BLANK ♦
YES
DELIMITER
♦ ,
„*
II
♦• .*
♦. .♦
V
♦ NO
****
* •
♦ B3 ♦
* •
****
'
.♦.
K1 ♦.
♦ ♦.
COMMA *.
NO
DELIC
IITEB .
*
PS/03/E1
*****K2**********
♦BDHPBB *
♦ INVALID HIKEY ♦
* *
*****************
***** git* *********
♦ COMMA DELIMIT ♦
♦ RESPONSE AND ♦
♦ BLANK WORK ♦
♦ BUFFER *
♦ •
*****************
V FS/0VA2
*****p<l* *********
•DECOMP •
***♦*♦*****••**•*
FS/03/E1
♦WRITE RESPONSE ♦
♦ *
**••••***********
*****Ht| **********
♦ SET OFF DONE ♦
*****************
FS/03/E1
*****D 5 **********
♦BUMPER *
* INVALID HIKEY *
* *
*****************
FS/0 1/F5
****J5 *********
» •
* EXIT *
► *
••****•****•••*
TO: RETURN
FS/01/D3
♦♦♦♦K5 *********
* . *
* EXIT *
••*•*******••**
TO: HKP005
****
* *
* A3 ♦
* *
• ••*
• •**
♦ •
♦ A3 *
♦ *
****
*****
♦003*
♦ B1*
* *
Chart FS (Part 2 of 5). HIKEY Processor ($$RBHI)
Program Organization 5-121
BUH015
* *
* ENTER *
* *
***************
• ••*
♦002*
* K« *->
A2
COMMA
1— ^»» uunnn •
*. .*
*. .*
*. .*
* TES
• *
♦002*
* El*
*****
*****
♦002*
* D1*
. * RENAINDBH *. NO
OF STHT .* 1
*. BLANK .* I
*****
• 002*
* Bl*
* *
*****
♦002*
* D1*
***•••******•***•
****D1*********
* «
* RETURN *
* *
***************
TO: CALLER
BUMPER
****E1*********
* *
* ENTER *
* *
***************
" FS/0 5/AU
*****P1 **********
♦GET006 *
* ._-.-*
* *
* INVALID HIKEY *
* *
*****************
*****C2**********
******•••**••***•
BUH011 .*.
D2 *.
.* OLD «
.* LENGTH »
♦ . NEN
*. LENGTH
* NO
I ****
♦ 002*
!■->♦ D3 *
* *
****
BUNNOV
****F 2*********
* *
* ENTER *
* *
***************
*****G2*» ********
* HOVE BTTE TO *
* HOVE AREA AND *
♦INCREHEHT HIKET*
* LENGTH *
* *
*****************
FS/03/E1
*****D3*****'*****
♦BUMPER *
* *
>* *
* INVALID HIKEY *
* *
***•****•*•**•***
FS/03/E1
*****E 3 **********
♦BOHPER *
* INVALID HIKEY *
* *
*****************
.* OLD
*. LENGTH
*. NEW
.♦ *. NO
*. PROMPTING .*
*. HIKEYS .*
*. . *
*. .*
* YES
I ****
♦ 002*
L->* D3 *
* *
**•*
UT
****EK*********
* *
* ENTER *
* *
*•***•*****•***
*****p(|**********
* *
* SAVE LOGICAL *
* PUT PARAMETER *
* LIST *
* *
*****************
*****
♦ 002*
* D1*
FS/0 3/E 1
*****D5 **********
♦BUMPER 003E1*
* *
>* *
* INVALID HIKEY *
• *
****•*••*****•••*
*****
*002*
* D3*
PS/0VA1
*****H3 **********
♦GET006 *
*****n u* *********
*****************
*****************
. * DONE *. YES
. SCANNING .*
♦ .RESPONSE .*
*,*+ K 2**+******
* RETURN *
♦ *
***************
TO: CALLER
FS/05/A4
*****j 3 **********
♦GET006 ♦
♦ INVALID HIKEY *
* ♦
*****************
♦ MOVE IN SEQ. *
* NUMBER AND *
♦ P-CODE *
* ♦
*****************
BA/01/A1
*****£!) **********
♦NCENTR *
*****************
Chart FS (Part 3 of 5). HIKEY Processor ($$RBHI)
5-122
•****/l1 **********
*****************
DBCOBP
****A2 *********
* *
* EMTEB *
* «
***************
ERRLOG
**** At* ********
* *
* ENTER *
* 4
*••*•*•********
♦ 003*
* K«*
*****
*****B 1**********
*****************
*** •*B4 **********
* *
* *
* SET OH ERROR *
* *
* *
*****************
*****C2 **********
*****D1 **********
**•**•*••********
SET ON GOOD *
*****************
MORE
THAN 10
HIKETS
1 FS/0»/»»
•INDICATE ERROR *
* *
*****************
***** J 1 **********
*****************
* HOVE HIKET TO *
* KEY COMPARE *
* AREA *
* *
*****************
*****F2 **********
••****•••********
****G2*********
* *
* RETURN *
► 4
***************
TO: CALLER
PS/05/At
*****************
*****F3 **********
*****************
****G3*********
* *
* HETORN *
* *
***************
TO: CALLER
PROMPTING
♦ BA/01/A1
*****D1 **********
♦NCENTR *
*****************
ERR002 » BA/01/A1
*****B4* *********
♦NCENTR- *
*****************
E
****P5********«
• •
* RETURN *
► *
••**•******•••*
TO: CALLER
*****G ***********
* *
* •
•INDICATE ERROR *
* •
* *
**••*••*•**•**•**
FS/01/F5
****HU*********
► •
* EXIT *
► *
***************
TO: RBTDRN
*****************
FS/01/D3
•***K1*********
* *
► EXIT *
**•*****•*••***
TO: HKP005
Chart FS (Part 4 of 5). HIKEY Processor ($$RBHI)
Program Organization 5-123
GETRPH
****A1*********
* *
* EHTER *
* *
**••**•****•**•
GET007 V BA/01/A1
U ***** B 1 **********
♦ HCEBTR *
******•**•**•••**
GET006
**** n a*********
* ENTER J
*••*****••*•***
' rs/o»/K
*****ga* *********
•EBBLOG *
* LOG HESSAGE •
* *
••***•*•**•*••**•
BA/01/A1
*****C 2*** *******
•NCEHTB *
* FETCH *$SPEJ *
* *
*****••****•**•••
**** D2** *******
* *
* EXIT *
* *
***************
PBONPTING
FS/01/F5
****C5*********
► *
« EXIT *
* *
***••*•*•••*•**
TO: RETUBB
.* LEHGTH *. YES
• ••*
* *
► F3 *
* 4
• ***
I *
• •**
• *
► E2 *
* *
****
****************
****E3*********
• *
• RETURH *
• »
*•**••••*••****
TO: CALLEB
GET06O FS/01/A2
****E5 *********
* *
>* EXIT *
• *
**••*******•***
TO: HKPBNT
F1 *.
.* *
*'. ID CALL
fs/05/a»
*****G1**********
♦GET006 *
PS/01/F5
****r2*********
t *
► EXIT *
« *
***************
TO: BETUBH
F3 *.
BTPASS
GET002
. *"
.->*. scab
*.
*. .*
*. .*
* HO
****
* •
* F3 *
* •
*•••
****
* *
* E2 *
* •
• •**
FS/01/D3
****pa *********
► *
» EXIT *
» *
****•**•***••*•
TO: HKP005
G3 *.
* •
DELATED
**•********•***••
**•*
* *
* B2 *
* •
• ***
FS/05/A"
*****H4**********
•GBT006 *
***••*•********•*
*****j3**********
*****************
FS/03/EK
***** K 3**********
•LPOT *
•BBITE BBSPOBSE *
* *
******••*•*•**•*•
FS/01/
****Ka*********
* *
* EXIT »
« «
*•*****•***•*••
TO: BETDBI
Chart FS (Part 5 of 5). HIKEY Processor ($$RBHI)
5-124
BLOOOO
****A1*********
* *
* ENTER *
* *
***************
*****B 1*********4
* 4
* 4
* SET UP RDIWA *
* 4
* 4
*****************
BA/01/A1
*********
*****************
r
►***
* A2 *
» 4
****
*****B2 **********
*****************
♦ A3 *
* *
****
HL0022
****
****
* *
* *
* C2 ♦->
<-* C2 *
* *
* *
****
****
BA/01/A1
HL0010 ' BA/01/A1
*****C1 **********
*****C2 *♦♦♦♦♦♦♦♦♦
♦HCENTB *
♦NCENTR
*
****
► 4
♦ H2 i
► 4
****
♦CALL *$SPFN TO *
* FIND *$STHB *
*****************
.* STILL ♦.
CALLING A .
♦.PROCEDURE.*
♦CALL SSSPFN TO
* FIND SJRDHK
*****************
*****D2* *********
*****************
*****C 3 **********
* *
* SAVE FIRST ♦
* CHARACTER OF ♦
* RECORD *
* *
*****************
* EOF ON
ADDITIONAL
*. STMTS .
*****34 **********
* *
* *
* REPLACE SLASH ♦
* *
* *
*****************
*****
♦00 2*
♦ CH
*****
♦oo^
♦ M*
.♦CONTROLLED ♦.
.CANCEL DURING.
♦. NESTED .♦
♦.CALL .♦
*****F1 **********
* *
* SET OFF JOB *
* FLUSH IN PLCA *
* AND RDIWA *
* ♦
*****************
*****£2 **♦*♦♦*♦**
♦POINT TO RDIHA ♦
♦ AND INDICATE ♦
♦ SSRDNL IN *
♦ CONTROL ♦
♦ *
*****************
.♦ FINDING ♦. IBS
♦. AN OVERRIDE .♦
*. .♦
V
♦ . .♦
*****
♦ . .♦
♦002*
♦ HO
* CI*
****
* *
♦005^
*
♦ D« ♦->
* *
****
HL0024 ' BA/01/A1
+****E3 **********
♦HCENTB
*
*
*
B
NL0002 * BA/01/A1
*****G1 **********
♦NCENTR *
* *
♦ SSSSSC- READ *
♦ SWA INDEX *
♦ SECTOR ♦
*****************
*****H1 **********
*****************
.* ANT
. ROBE PROC.
♦.ON QUEUE .
*. .*
F2 ♦.
.♦ *.
* PROC. *
BBEN CALLED
G2 ♦.
.* *.
.♦PROCESSING ♦.
► . ADDITIONAL OB. *
♦.OVERRIDE .♦
♦.STMTS.*
♦ . .♦
♦ TES
♦ ***
♦ SISSPT- WHITE ♦
♦ USED OVERRIDE ♦
♦ IN SUA ♦
*****************
*****P3 **********
***4
♦003
* A1
*****************
HL0027
*****q3 **********
♦NCENTR ♦
f
*****
♦002*
♦ CI*
->♦ SSSTSG- GET
* NEXT RECORD
*****************
H2
•***
BA/01/A1
02-E1****
04-D5+008*
05-A5* D3 *->
06-G1* ♦
07-K2****
HL0020
*****f)2**********
♦NCENTR *
* *
* tSSSGT - GET ♦
♦ ADDITIONAL *
♦STHNTS FBOH SHA*
♦♦♦*•**♦♦♦♦♦♦***♦
****
NL0003
*****j2 **********
♦POINT INDEX TO
->*NEXT PROCEDURE
* TO BE USED
*. NO
PROCBDUBB .♦
FOUND .♦
*****
♦002^
* A1*
* *
*****************
.* LAST *.
->*. PROCEDURE .
*. .*
*. .*
*•**«£ 1**«*******
•SET OFF - PROC *
* MERGE, FIBST *
* LOAD- BUN. *
* UPDATE PLCA *
* *
*****************
3* *.
* ♦
MODEL 6
► . .*
*. .*
• NO
*****Q5**********
->*EBBOB- NO FIND *
*****************
GA/08/B3
****H5*********
***************
TO: HL1000 TO
LOG ERROR
•****J5**********
* *
* INDICATE READ *
->* FROM MASTER *
* PROCEDURE ♦
* •
*****************
BL0005 V BA/01/A1
*****H3**********
♦HCENTB *
* *
* SSSSSC- HRITB *
* SHA IHDBX *
* SECTOR *
*****************
I ****
Chart GA (Part 1 of 8). Reader/Interpreter Mainline ($$RDML)
Program Organization 5-125
****
* 4
► A4 *
* 4
****
*001*
* G«*
*****
*****************
****
01-B4*003*
01-D3* C1 *->
*****A2**********
* *
» DO HOT PRI1IT *
->*LiST PBOCEDDHE ♦-
♦STATEHENT BEAD *
* *
*****************
*****A3**********
*****************
*****
♦006*
* »3*
. * CONSENT
*.
YES
.* START *. NO
*. BYPASSED
>*. OF .♦ i
♦ .
*"
A
*. PARAMETER.* I
*. .*
1
*. .* I
*. .*
*. .♦ 1
* HO
*
♦ YES ****
****
* *
* *
*003*
*002
*
* F3*
* K4 ♦->
* 5
*
* *
* *
*****
****
****
HL0160 .*.
•'
B4 *.
*****£ 5**********
.* FIRST *
* *
. * CHARACTER
*,
NO
* SET ON *
*. IH
*
* SIGNIFICANCE *
*. COHHENT
*"
1
* BIT *
*. .♦
I
* •
♦ . .*
«
*****************
* TES
****
*
*
****
*
F3 *
* *
*
*
♦ C5 »->
****
* *
****
'
NL0205 *
*****C4 **********
*****C5 **********
*****
♦004*
* E4*
. * RECORD
*. BEGIN WITH
*****************
E1 *.
.* *.
. * SEARCHING *.
FOR
♦.OVERRIDE .*
F1 *.
.* ♦.
. * CONTIN
STHT
♦.EXPECTED .
*. .*
♦. . ♦
♦ YES
*****Q1 **********
* *
* ♦
♦INDICATE ERROR ♦
* *
* *
*****************
I
****
* *
* K2 ♦
* *
****
*****
♦ 001^
♦ H2+
HL0120 .♦.
F2 ♦.
.♦ ♦.
.♦ IN i
FLUSH NODE
ERBLOG V GA/08/B3
***** B 3********>*
♦HL1000 ♦
•***
05-F3*005+
♦ J3
♦PRINT STATBHENT+
♦ ♦
*****************
* *
<-♦ G3 ♦
♦->
♦***
HL0150
*****P3**********
**•*
->♦.
*****
♦oon
♦ E2*
' GA/08/B3
♦ PRINT RECORD ♦
♦ *
*****************
*****************
**♦♦
G3 ♦.
K
BLANK
*****************
I ****
* *
L->* C5 ♦
* *
****
******
*
4
->*CI,EAH SNITCHES ♦
* *
* *
*****************
*****************
****
♦004*
♦ G3 ♦->
* *
****
HL0208
*****D5 **********
♦ SAVE POINTER *
♦ *
♦ *
*****************
I****
♦ *
->* G3 *
♦ ♦
♦ ***
END OF
SCAN
. REACHED
*. .♦
V
*****
♦ 003^
♦ G1*
*****
♦00 1*
♦ E2^
♦ ♦
*****j2* *********
♦ . .♦
♦ . .♦
* NO
♦♦♦**
♦007^
* A1*
*. CONTIN.
.*
,*
NO
*****jq **********
*****
•003*
* C4*
♦INDICATE ERROR ♦
*****************
♦*•*•*****♦******
**•*
03-B3^003^
♦ C3 *
SA/08/B3
****K2*********
****•*****•••**
TO: NL1000-
LOG ERROR
QUOTE
****
* *
* A4 *
* *
****
*****
•005*
♦ A3+
*****
♦005^
♦ A1*
*****
♦003*
* G1*
*****
♦005*
♦ D3^
♦♦♦♦
* ♦
* ♦
♦♦♦♦
Chart GA (Part 2 of 8). Reader/Interpreter Mainline ($$RDML)
5-126
ML0030 BA/01/A1
*****{! -)**•*******
♦BCENTB *
r ->* STSIN- READ A ♦
I * STATBHENT *
* *
1 *****************
* *
♦ 001*
* F2*
*****
• *.
81 *.
.* *.
.* /* OH *. 1ES
*. A READ ^.*
HL0100
.*"
>*.
B2 *.
* *
/6 READ
*.
*.
.*
.*
k HO
*. .*
♦ . .*
* TES
****
* *
* A5 *
* *
****
I
*****)5 **********
* *
* *
* EHASE EBROHS •
* •
* *
*****************
;* VINDICATE ERROR * ■
*****************
*****
♦ 002*
* IC2*
*****
♦ 002*
* CI*
.*.
C2 *.
.* *.
.* IM *.
*. INTRA UODE
*. .*
*. .*
*. .*
*****D1 **********
*****************
" BA/01/A1
*****£-) **********
*NCENTB *
* FETCH S$SPBJ *
* *
*****************
****P1*********
► 4
* EXIT 4
k *
***************
TO: *$SPEJ-
END OP JOB
TBANSIEHT
HL0165 .*.
G1 *.
.* *
.* COHT.
r->*. OB HIKBI
*****C3**********
* >*INDICATB ERROR *
*****************
*****
♦ 002*
* K2*
* *
* ZERO SWITCHES *
:
*****************
ERBLOG 7 GA/08/B3
*****B2********4>*
♦HL1000 *
* *
* *
* LOG BRBOB *
* *
*****************
*****
♦ 001*
* B2*
* *
HL0310 BA/01/A1
*****G2**********
♦NCBNTB *
— >*$$BDHK- ENCODE
A ♦ HI RET PABH
• 002*
* Gtt*
*****
H1 *.
.* ♦.
.* CHABACTBB
*. POUND IN
*. SCAN
*****************
*007»
• F«*
*****
HL0170 .♦.
H2 *.
.* COHHA *.
.* POOND
>*. PBBVIOOSLI
*.
J1
..►QUOTE
* BASH
i, 6b
COHHA
POOND
*.
*****J2**********
*****************
l->*
***«
I
C» <
4
****
*****
• 005*
* D3*
*****
♦ 007*
* Al*
POOND
* *
*****************
*****
♦004*
* B2*
****
*002*
«•->♦ B« *
* *
**•*
. *.
QOOTCK
B<t *.
*****B5*** *******
.♦ *.
* *
.* STOP *. TBS
* INDICATE *
*. SOBLIST .*
>* KEYWORD *
*. SCAN .*
A * *
*. .*
1 * *
*. .*
1 *****************
* HO
•
****
* *
♦002*
•005*
* Htt *->
* G5*
* *
*****
****
05-El»
BNEND
.*.
*****C4**********
C5 *.
* *
.* *.
* *
.* LEHGTH *.
*IHDICAT
! EBBOR *
*. =
.*
*****************
I
****
* *
* Dl» *->
* *
*•**
NOPRHS
*****D4 **********
* *
* *
♦INDICATE EBBOB *
* *
* *
*****************
t****
* *
->* Jl» *
* *
****
*****
*00«»
* A1*
*****
♦oom
* A2«
E
HL0175
. *
* NO
I****
*00<»*
->* P3 *
* *
****
*****
♦004*
* E2*
.* VERB
->*. BEEN POOND
*.
•***
*005*
♦ C3 *
* *
*••*
NL0180
*****J3 **********
5 .*.
HP *.
.* PABHS *.
► ENCODED
PREVIOUSLY
HL0282
*****P5**********
* SET OFF LOGIC *
* SWITCHES *
* INDICATE HOLL *
* PABH *
* *
*****************
*****
♦004*
* J1*
* *
*****H5**********
♦INDICATE PABHS
->♦ FOOHD
HLO260
J«
****
* 4
->♦ D4 «
• 4
****
'*.
♦INDICATE EBBOB *-
* *
* ♦
*****************
. ♦ SHOOLD
>♦. EBBOB BE
A ♦. LOGGED .
**. .*"
♦ NO
*****************
HL026S
*****J5**«* ******
♦ SET OFF *
CONTINUATION.
*••*
k 4
* J4 ♦
k *
****
**•*
k 4
» A5 4
k 4
**•*
■»• \*vmM. iFUIl J.WP a —
->^SET OFF SOBLIST*
• INDICATOR ♦
* *
*****************
GA/08/B3
****K5 *********
k *
k EXIT *
k *
***************
TO: HL1000-
LOG EBBOB
Chart GA (Part 3 of 8). Reader/Interpreter Mainline ($$RDML)
Program Organization 5-127
****
► 4
► A2 *
► 4
****
****
* 4
► A3 *
» 4
****
I->* BEGOLAB * r -
* PARAHETEB * I
***************** (
* NO
♦ 003*
* B5*
*****
* 4> 4>*4>4t
♦003**003*
* D5** K2 *->
****** *
****
HL0295
*****B2**** ******
*****
*007*
* F5*
****
* 4
* El *
* 4
****
*****************
****
****
BL0296 '
*****C2**********
*P0IST TO BDIBA *
.*
,*
TES
*****D1 **********
*****************
****
****
BL0285
*****E1 **********
4r**4i
► *
► PI «
* 4
****
*****************
.* SBARCHIHG
"■. FOB
♦.OVEBBIDE .
*. .*
****
♦008*
* E« *->
*****************
PBOCED0BE *.
BEING
, HEBGED .*
****
* *
* C3 *->
****
* 4
» D5 «
* 4
****
*****
*001*
* E2«
****
03-G3*005*
* H3 *
****
* 4
* F3 ♦
► *
****
*****03**********
*****************
*****cn**********
*****************
.♦.
D« *.
.♦ PBOC *.
HEBGE OB
OVEB-
BIDB
*. .♦
oi-»a
****
♦ 002*
* C1 *-
* MO
****
BL0490
•****g4 **********
****
► *
» E4 ♦
» *
4**4i
****
*****************
*****
*001*
* H2*
*****************
****
****
RL0286
** * **r 1 **** ******
♦BOTE IB LENGTH *
* 4>
* *
*****************
♦RESOLVE ADDRESS*
* *
* *
*****************
OVEBBIDE OB
".SO PABKS .*
♦. .*
****
» *
* J2 *
Y *
****
****
► *
* E4 *
* 4
****
*****
*007*C
* K2*0
05-D2
07-F4
07-G2
* PBEVEHT PBIHT *
* *
* *
*****************
****
♦ 006*
* G2 «
****
BA/01/.1 HL0325
* LOAD CONTROL *
* STBT PROCESSING*
* ROUTINE *
*****************
*****H2 **********
*< ■
■«■ I
**4
► F3 4
k *
****
F4 *.
* STHT *.
FOOND *.
(JITHOOT
PABHS .*
♦. .*
*. . *
* TBS
1 *•*•
*
«■->* C3
*
****
****F5*********
***************
TO: CALLING
STATEMENT PBOCESS
BODTIHE
*****G 3 **********
*****************
*****
•002*
* D5*
********
*******
**
*****************
**•*
****
♦003*
* *
* E5 *->
* J2 *->
* *
* *
*•**
• ***
292
'
HL0415
'
•••**jt*>
»•*•*****
*****j2 **********
*
*
♦ POINT TO *
* BDHP T<
) NEXT
*
* BEGINNING OF •
* Ell
rBi
*
* ENCODED •
*
*
* STAT1
WENT *
*****************
*****************
* TO CONTROL *
* STATBHBNT *
* PROCESSING *
* BOOT! BE *
* *
*****************
Chart GA (Part 4 of 8). Reader/Interpreter Mainline ($$RDML)
5-128
****
* 4
* Alt *
* 4
♦ 002*
* K3*
*****
*****
♦oou*
* P3*
* *
.* LAST *
-. DELIMTBB A
♦. DASH .*
*. .♦
*****
♦007*
* F5*
*****
♦ 002*
i
* J3*
HL0218 .*.
.*.
* *
A3 *.
A4 *.
•
.*KETHOBD*.
.♦ *.
I
.* FOUND *.
fES
.* CONPARE *. HO
>*. PBEVIOOSLY •*■
*. .*
*. .*
1
♦ . GO(
*.
*.
. *
.*
V
*****
*. .*
*. . *
♦001*
* MO
*****
* YES
* H2*
I
*002*
* A5*
****
* *
*006*
*
* *
* G2 *->
*
* *
****
♦
HL0Q80 ?
*****B3**********
*****B4**** ******
* *
♦BUMP BETOBN BY *
* INDICATE DASH *
* 4, SET OFF *
♦ STOPPED SCAB *
* CONTROLLED *
* *
* CANCEL *
*****************
C2 *.
.* *.
.* LAST *.
->*. CRAB A DASB .
*. .*
*. .*
*. .*
*****
•007*
* F5*
*****D2**********
.* SDBLIST *. YES
*
INDICATE IN A
*. . BEEN .* .
*
SUBLIST
♦..DELIMITED.* I
*
*. .♦ I
*
*. .* V
***************
* MO *****
1
♦ 007*
* F5*
1
* *
♦
*
*****
♦ 004*
* F3*
***.»*£ 1 **********
* *
* *
*
♦INDICATE END OF*
* S0BL1
STED *
*.
02-K5*.
03- J 1
07-J1
•***
♦007*
* !C1 *
* *
****
CKLEN
*****D3* *********
•RESOLVE LENGTH *
*****************
*****
♦003*
* J3*
*****************
*****C(|* *********
* *
* INDICATE *
* OYEBBIDE IN ♦
* PROCESS *
* *
*****************
*****
♦001*
* E3*
*****************
.*
->*. PROCESSING
*. SDBLIST .
*****
♦003*
* B5*
E
.*
, *
NO
*****
*007*
* F5*
*****
• 007*
* J1*
Y
*****
*002*
* f5*
G3 *. *****Q4**********
.* *. * *
* .£22 *• YES *INDICATE BBBOB *
LONG .* >* TO BE LOGGED *
*. •* * LATEB *
*. .* * *
*. .* *****************
* NO
|.
B .*.
H3 *.
.* *.
* CONT. *. NO
STHT BEING .* .
t.PROCESSBD.* Y
♦. .* *****
*. .* *002*
* YES * F3*
* *
*****
*007*
* A2*
* •
.* *.
.* YEBB *. HO
*. BEEN FOOND .* .
*****
♦006*
* »1*
.♦ FIND
•
. HO
. OYEBBIDE
. * .
♦. SEARCH
*
1
*. .*
♦. . *
V
' YES
*****
♦ 003*
♦ B5*
• *
*
'
****H5**********
•
CHECK FOB
*
COHPABE
*
" GA/08/B3
*****************
* GA/08/A1
*****J5**********
•YBSBCH *
*****************
902*
F3*
*****************
•****K5**********
• •
• *
♦POINT TO BDIHA *
* *
* •
*****************
Chart GA (Part 5 of 8). Reader/Interpreter Mainline ($$RDML)
**•*
* *
* A* *
* *
****
Program Organization 5-129
♦TABLE OF VERBS *
• *
*****************
♦ 005*
* F5*
*****
1~?*m UlfiBKiVD • "^
*. FOOHD .* A
1
** * HO *
.* OVEBBIDE *.
BEING
♦.PROCESSED.*
HL0376
.*'
EHCODE
BEQOIHED
EBBLOG GA/08/B3
*****i5**********
♦HL1000 *
* A2 *
* *
****
* *
•002*
♦ A3*
*****
****
* *
* A« *
* *
****
*****************
*****
♦004*
* G3*
OVER- *.
HIDE
HEQUEST .*
*****C1 **********
* POIHT TO VEHB *
*****************
B2 *.
FLUSH
*. .*
* HO
****
*007*
* F5 *->
• •
****
HL0360
*****C2 **********
****
* *
* D4 ♦
* *
****
NL0335 V GA/0B/A1
*****Q1 **********
♦VBSHCH *
* *
* *
•SEARCH FOB VEBB*
* *
*****************
*****£ t **********
*****************
.* FIHD *. HO
*. OVEBBIDE .* •
*. . * I
•IHDICATE EBBOB *
* •
* *
*****************
EHRLOG
V
****D2 *********
* *
* BUT *
* «
***************
TO: (111000-
LOG BBBOB
*****B 3 **********
*****************
* HOVE VEBB
*
****************
.* SCAHHIHG
FOB
*. $$RDIN
HL0380
****B5 *********
* *
- — >* EXIT •
L:
****
*
G4 *
*
****
► FLUSH
EHD (CALL)
****
v *
* D4 *
* *
****
****
* 4
* G4 «
* 4
****
OVBBBIDB
. FOOHD
*. .*
*****
♦001*
* H2*
* *
OVEB-
BIDE VEBB
. FOOHD .
*****
*004*
* G3*
*****
♦005*
* B4*
E3
*.
Eft
*.
.* *.
. ♦ ♦.
.* BEADING *.
IBS
.♦ FLOSH ♦. HO
*. FROH MASTER
*-
——-i
*. END (LOAD) .*
*. PHOC .*
1
*. .♦
V
*. .*
1
♦ . :*
*****
*. .*
V
*. . *
•001*
* HO
***<
* IES
* E2*
*
*
♦ *
♦ A4
*
*
*
*
***<
.*.
F3 *.
*****fi|* *********
.* *.
* •
.* CALL *
TES
* •
*. BBAD FBOH
*•
-—— -»
♦TORN OFF FLOSH *
*. RASTER .*
1
♦ ♦
*. .*
1
* *
*. .*
V
*****************
* HO
****
*
*
****
♦ At
*
* *
♦
*
♦ G4 ♦->
• ***
* *
**** '
"
HL040S .*.
*****S3 **********
G4 ♦.
*
*
.* *.
*
*
.♦ ♦. IBS
♦INDICATE ERROR
*
*. DEFBBRBD .♦
*
*
♦ . PBIHT .♦
V
*
*
*. .♦
*****
*****************
♦. .*
♦004*
♦ B2*
* HO
EBBLOG
****H 3*********
* *
* EXIT *
* *
***************
TO: HL1000-
LOG ERBOB
GA/0B/B3
•PBIHT STATBHEHT*
♦ •
*****************
*****
♦004»
• B2*
Chart GA (Part 6 of 8). Reader/Interpreter Mainline ($$RDML)
5-130
*****
*005*
• bS*
*003*
* K1*
*****
02-H3
****
► 4
► J1 *
* «
****
*****************
*. IBS
. * -»
• * I
C1 ♦
DASH
.*
LAST
QUOTE
•
.*
*. .*
* TBS
****
1
*
'
* E1
»->
*
' |
****
♦
NL0230
.*.
n *.
.*
*
.*
COHHA
*. in
SUBLIST
P1
*.
.* PBETIODS *
*. DELIHITBB A
*. COHHA .«
*. . *
*. .*
* HO
****
* 4
► El «
► 4
****
****
» 4
► B1 *
► 4
****
****
► 4
► P5 *
« 4
• ***
***•
X *
► H1 *
► 4
****
*••*
■> 4
* F5 *
► 4
*•**
*****C2 **********
*****************
? GA/08/A1
*****D2**********
♦YBSHCH *
* *
♦CHECK FOB GOOD *
* HAHE *
* *
*****************
*****B2 **********
*****************
*****************
* GA/08/A1
*****C3**********
♦VBSBCH *
* FMD KBYWOBD *
* *
*****************
ML 0303
.*"
?ALID *. I
VEBB .*-
.*
****
* *
* E3 *->
* *
****
HI 0305 .*
E3
KBY80BD
BEEH
.SPECIFIED.
*****
*001*
* F3*
• *.
G1 *.
*•*
►**G2**
k********
..*KETWOBD*.
*
*
.* FOUMD
*„
HO
*
INDICATE
*
*• PREVIOUSLY
.*
-— —- 1
♦COHTI10E SEARCH*
i
*„
*
1
*
*
1
*. .*
1
*
•
*. .*
»
*****************
t
* TBS
****
1
****
**«*
* *
*
* *
* F5 *
1
* E3
* HI *->
* *
T
*
* *
**•*
*****
****
****
*00«*
* F«
HL0232
'
***«*H1*4
*********
*
*
ALL *.
KETWOBDS
. CHECKED .*
*****C3**********
*****************
*****************
HL0308 .*.
F» *.
.* *
.*
- — >*. SCAIHIHG
*. HIKE!
*****************
•***
0U-A2****
05-81*005*
05-C2* F5 *->
05-D1* *
****
STHEBB
F5
» F5 «
t *
• ***
*****
*003*
* G2*
*****
*00fl*
* F3*
* *
.*
.*
TBS
*****
♦ 006*
* C2*
*****G5 **********
* •
* *
* STHTAX EBBOB *
* *
* *
*****************
*****
♦003*
* C«*
*****************
****
****
*005*
* PI *->
<-* J1 <
* <
****
PROCESSING
'.OTBBBIDE .
.* *.
.* *• HO
►. CHECKING .*
♦.FOB HAKE .*
*****
♦005*
* D3*
.*.
K2 *.
.*
,*
->*. BLAHK
*.
*.
*• .*
?
*****
♦001*
* H2*
* *
*****
•005*
* D3*
* *
*****
*00«*
* P3*
• *
Chart GA (Part 7 of 8). Reader/Interpreter Mainline ($$RDML)
Program Organization 5-131
VBSRCH
* *
* EHTEB *
* *
***************
*****B 1**** ******
* *
* *
♦SAVE REGISTERS ♦
* *
* *
*****************
12
PROCEDURE
♦ . KEIHOBD .*
*. .♦
*. .*
** * TES
•****A3 **********
* *
* *
->* IHCBEHEHT *
* *
* *
*****************
* A2 *
* *
****
VBBHDC
ML 1000
****B3*********
* *
* BHTEB *
* 4
***************
****
* *
* H2 *
* *
****
*****D1 **********
* *
* IHDICATE *
* LEHGTHS HOT *
* EQUAL *
* *
*****************
*****C3**********
* *
* *
•SATE RBGISTBBS *
• *
• *
*****************
D3 *.
. * *.
.* LOOKIHG
FOR
♦.OVERRIDE .
♦ . .♦
♦ . .♦
♦ HO
*****lil**********
* *
• IHDICATE *
r ->* STATEHBHT *
{ • PBIHTBD ♦
I * *
1 *****************
***
*****
A4 ♦ *
♦ B4 ♦->
**♦♦ *
****
HL1037 .♦.
M ♦.
.♦ *.
.♦ EBBOBf ♦.
♦. RESET .♦
•• . ♦
♦ . •♦
♦ . .*
♦ BO
*•**
• *
* C« ♦->
* *
****
1
ML 1050 .♦.
cn ♦.
. ♦ ♦.
.* HORB ♦.
*. ERRORS TO .♦
♦.BE LOGGED. ♦
NL1040 BA/01/A1
*****B5**********
♦HCENTR ♦
**♦♦*
•001*
* H2*
* *
*****************
*****C5 **********
•****•*******•**♦
*****DI| **********
♦ *
♦ ♦
♦ RESET EBBOR* ♦
♦ ♦
♦ ♦
*****************
* IHCREHBHT BY *
* LEHGTH-1 OF ♦
* PARH ♦
* ♦
***•*•••*********
.* COMPARE ♦. TES
► . RBQUESTBD .*
*. .♦
****«F2**********
->*HOTE IB LEHGTB ♦
*****************
* HO
U
HL09B0
• ***G2 *********
* *
- — >♦ EXIT «
EBROB
♦ .
TBS
.♦ RBTUBH ♦.
*. TO CALLEB .
HO
RODE
♦
1
V
*. .*
I
*. .♦
*****
*. .*
V
♦ . .♦
♦00«*
* BO
•♦♦♦♦
♦ TES
♦ B3 +
|
♦001*
♦ ♦
♦ B2*
|
• *
1
*
.*.
F3 ♦.
''
♦ ♦
****F4********4
STMT
♦
TBS
•
BEER
* — --•
* EXIT
PRIHTES
♦
1
♦
1
***************
*. .*
♦
TO: CALLEB
PBOC
BBIHG
MERGED
♦ ♦♦♦
♦ ♦
♦ B4 *
♦ ♦
♦ ***
ML1026 .♦.
G4 *.
.♦ ♦.
HO .♦ STSIH- ♦. TES
» >*. COBSOLE .*
*. .*
► G2 *
* *
*•*♦
.* OTER- *. TES
♦. RIDE .*
♦. REQUESTED. ♦
*****j1**********
*****************
I****
• *
->♦ A2 *
♦ •
♦ ♦♦♦
*****•*•*****••**
► STMT
BEGIH BITB
.♦PBOCBSSIBG ♦. TBS
•.ADDITIOHAL OB.*
♦.OVERRIDE .♦
♦.STBTS.^
*****K3 **********
' BA/01/A1
*****************
••*********•♦♦♦♦♦
Chart GA (Part 8 of 8). Reader/Interpreter Mainline ($$RDML)
5-132
LOOOOO
****A1*«* ******
* »
* EHTEH *
* *
«*•****•*******
*****Atl**********
************** **4
*****
*002*
* ES*
*****************
*****C2 **********
LD0005 V BA/01/A1
*****J)1 **********
*HCENTR *
*****************
*****************
GP/01/A1
*****D2 **********
»$$HDS3 *
n
****
SCAN BADE *
*
****************
****
♦002*
* B3 *-
*****£ 1 **********
*****************
LD0020 V GP/01/A1
*****P1 **********
***RDS3 *
*****************
*****p2+*********
* *
* *
* MOVE ERROR INFO*
* *
* *
*****************
LD02H0 V BA/01/A1
*****Q2** ********
. BA/01/A1
*****g 3 **********
♦NCENTH *
*****************
ERRLOG
****C 3 *********
* *
— >* RETURN *
* *
***************
TO: $$RDHL
8EADEH/INTEBPRETER
MAINLINE
* HOVE PROGRAM
->* NAME OR DUMMY
* NAME TO PLCA
* REPLACE *
♦SWITCHES IN SIS*
* COHM *
* *
*••************••
LD0180
****C5 *********
• *
* RETURN »
***************
TO: MRDML-
READER/IHTERPRETBB
MAINLINE
*****************
*****
*002*
A1*
*•**
* *
*002*
*
* A2 *— -.
* * 1
**** V
D0088 .*.
LD0090 ..♦.
E3 *
E<l *.
.*
*
. * *
.* NAME
*
YES
.* UNIT
->*. SPECIFIED
>*. SPECIFIED
I
1****
♦002*
->* D2 *
B
*****************
****
* •
* E3 *
* *
****
LD0035
NO . ♦"
♦MOVE ERROR INFO*
* *
* *
*****************
LD0166 V BA/01/A1
*****H3 **********
♦NCENTR *
->*MOVE ERROR INFO*
*****************
♦MOVE ERROR INFO*
* •
* *
•***•*••*••****••
*****
*002*
* G2*
*****j ■)******* + **
* *
* *
* INPICATE LOAD **
* *
* •
*****************
*****
♦ 002*
* A2*
*****
*002*
* A1*
*****,72 **********
* *
* INDICATE NO *
♦NAME GTVEN FOR ♦
* OVERRIDES *
*****************
*********
*****************
*****,j 7 **********
► *
* SET ON ♦
» CONTROLLED *
* CANCEL *
» *
*****************
u:
Chart GB (Part 1 of 2). // LOAD Control Card Processor ($$RDLD)
Program Organization 5-133
* *
♦ 00.1 + 01-E3
* K3*01-H2
*****
*001*
* J1*
*****
*****
*001*
* E3*
«****B1 **********
*****************
► LOUD * «
RECEIVED IN
►. LEVEL 2 .*
->*BOVF. ERRO<i IN70*
* *
* *
*****************
*****C 1**********
* *
♦MOVE LENGTH OF *
* NAME TO TEBP *
* AREA *
* *
*****************
, * OMIT *. HO
PAR* . ♦—
♦.SPECIFIED.*
*****C2**********
* *
* *
♦INDICATE LOAD ♦♦
****
•001*
♦ E4 ♦->
♦ ***
* *
<-♦ D2 *
**** ****
LD0170 ''
*****[> 2 **********
♦ *
♦ HEPLACE ♦
♦SNITCHES TN SYS^
♦ COBB ♦
♦ ♦
*****************
V BA/01/A1
*****C 3 **********
♦NCENTR ♦
*****************
*****[) 3 **********
♦ *
♦ SET ON ♦
♦ CONTROLLED ♦-
♦ CANCEL ♦
♦ *
*****************
LD0053 * GP/01/A1
*****g1 **********
♦$«RDS3 *
♦CHECK UNIT PARB*
♦ ♦
♦♦**♦•*♦**♦♦♦*♦♦*
LD0180 * GA/01/A1
*****E2**********
♦t$RDBL ♦
*****************
I i.r
R2
->*. OVERRIDE
♦ TES
I ♦♦**
♦ 001 +
1-- >♦ El *
.♦ R2 OR ♦.
->*. F2 SPEC BUT .
♦.NOT VALID. ♦
*****************
->^HOVK ERBOB INFO*
♦ ♦
* ♦
**♦♦*♦*♦*♦**♦•♦*♦
*****************
*****
• 001*
* B5*
* ♦
****
* *
* G1 ♦->
**••
LD0055
•****G1 **********
*****************
****
* *
* A2 ♦
* *
****
♦MOVE ERROR INPO^
* *
* *
*****************
*****
♦ 001^
♦ H3^
*****53***« ******
* *
* *
♦HOVE ERROR INFO^
* *
* *
*****************
*************
****
l->:
Chart GB (Part 2 of 2). // LOAD Control Card Processor ($$RDLD)
5-134
BHOOOO
**** A <|*********
♦ ENTEB *
* *
***************
. ♦ .
Bl *.
.*
.* INTBA
♦ . HODB
.* PBOCEDUBE *. YES
->♦. BEING -*
♦ . CALLED •*
B3 *.
.* FIBST *
.♦'LOAD-BUN'
->*. BEING
*. CALLED
♦. .<
*. .*
. *.
BH ♦.
.♦ HAVE *.
. *ADD'L STMTS*.
BEEN
♦ .PROCESSED. *
* NO
L
>***
G1 *
Y***
EOF IN ♦. NO
PBOCEDUBE .♦
BN0030 ¥
41****01 **********
* *
* DEQUEUE LAST *
* CALLED *
* PBOCEDUBE *
* ♦
*****************
BNOOItO V BA/01/A1
*****£ 1 **********
♦NCENTB ♦
* -*
♦CALL $$SSSC TO ♦
♦ HBITB INDEX ♦
♦ SECTOB IN SNA ♦
*****************
IA .♦.
F1 ♦.
.* *. ***♦
, ♦ INTBA ♦. YES ♦ ♦
HODB .♦ >* D3 *
♦. .* * *
*. .* ****
GA/01/A1
*****C2 ******♦♦♦♦
♦fSBDNL ♦
*******♦♦♦♦♦♦♦♦♦♦
****D2 ♦*♦♦♦♦♦♦♦
♦ *
* EXIT *
♦' *
***************
TO: SUPPOBTED
HALT/SYSLOG
BOUTINB
***:*
* *
* G1 ♦->
* *
****
BN0050
GA/01/A1
****G1 *********
* *
* EXIT *
* *
***************
TO: BEAD
ihtkbpbe'
(SIbBml)
SB/
CBB MAINLINE
***♦
k 4
► D3 *
► i
****
*****************
****
* 4
► F<» *
» 4
****
► NUMBER
OF PACKS
*. 52
GA/01/A1
*****? 3 **********
♦$$BDML ♦
*****************
****Q3*********
* »
* EXIT *
* *
***************
TO: SUPPOBTED
HALT/SYSLOG
BOUTINE
BN0210 BA/01/A1
*****J3**********
♦NCENTB ♦
* ____-_*
♦ CALL ♦<-
♦HALT/SYSLOG TO ♦
♦ PRINT '85' ♦
*****************
****K3*********
* ♦
* EXIT ♦
* ♦
***************
TO: END OF JOB
TBANSIENT (SSSPEJ)
8N0120 BA/01/A1
*****gH **********
♦NCENTB ♦
->+SET END OF INIT+-
♦TABLE INDICATOB+
♦ ON ♦
*****************
E3
* * r -
* Ft ♦->
* * 1
**** V
****P5*********
* ♦
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
BOUTINE
*****gil**********
*****************
*****q 5 **********
*****************
****************
*****H5**** ******
* *
* INDICATE THIS *
->♦ IS 'LOAD-BUN' ♦
♦ JOB ♦
♦ ♦
*****************
BN0208
IBS
*****j5 **********
*****************
****K5*********
» *
► EXIT •
***************
DO: fflNPS
Chart GC. // RUN Control Card Processor ($$RDRN)
Program Organization 5-135
FLOOOO
****A 1*********
* *
* ENTER +
* *
***************
*****B1 **********
*****************
A3
*.
At
****
*002*
* G5 *->
,*
.*
TES
****
FL0010
*****01 **********
* *
* INITIALIZE *
♦PABAHETEB LIST *
* IN SIA *
* *
*****************
****
*002*
* rn *->
****
FLO 112
*****{» 1 **********
* DETEBMINB *
* NEEDED SYNTAX *
* CHECKING *
* BODTINE *
* *
*****************
. *.SEE NOTE 1
. * CHECK
. FOB SYNTAX
*. EBBOBS .
*. . *
*. .*
■1.....001 A3
.2.. ...001 E3
.3 001 HI
.<t 002 B1
.5 002 BK
.6 003 B1
.7 003 C3
.8 003 C3
.9 003 C3
*****
*002*
* F5*
****C2 *********
► BETOBN-TO LOG *
► ERBOB *
K *
***************
TO: BEADER/INTEBPBETER
MAINLINE (f$BDHL)
REGULAR *. YES .* VALID *. 1
PARAMETER .* >*. PARAMETER . *-
.* *. .*
*- .* *. .*
*- . * *. . *
+ NO * NO
U 1
V
. *.
B3 *. *****Bif **********
, * *. * *
NAME *. NO *INDICATE EHBOB *
PARAMETER .* >* IN LABEL *
.* * *
*. .* * *
*. .* *****************
+ YES
*****C 3 **********
NAHE
*.
NO
PABAHETEfi
* ,
*. .. *
•
1
' YES
*****
♦ 002*
* E«*
* *
*
'
%****B5**********
***••*****•*•*•**
****
* «
* C2 *
* 4
****
*****************
*****E2*» ********
*****************
*****
♦001*
* E3*
.* SOB
. PABAMETEBS
*. SPLIT .
.* COBBECT *. HO
->*. PABAMETEB .*
•• TYPE .*
FL1100
****
* * .*
* pi» * >*.
* * *.
*•**
****••****•*****•
•****P5* *********
* SET ON *
* CONTBOLLED *
* CANCEL •
* INDICATOB *
* •
*****************
*****GI» **********
♦CHECK FOB NEXT *
* PABAHETEB *
* •
»
* *
*****
•*•••**********•*
•002*
* E«*
**••
• •
*001*
•
* Ha * — .
* * Jl
**** y
FLONIT .*.
Hit *.
♦****H5**********
* *
.* SUB *. NO
•CHECK PABAHETEB*
*. PABAMETERS .*
>* TYPE *
*. SPLIT .*
• *
*****************
NAHE AND LABEL
PACK
UNIT
DATE
RETAIN
HIKEY
TRACKS
RECORDS
LOCATION
FLUHID .*.
JU *.
. *
YES .* LENGTH
A * * |
I * * I
| ******•**••***•** f
*•** *****
* J5 *
* •
**•*
♦002*
* El»*
• *
* NO
| ***«
I *
1— >* .15
I ****
* *
L->* J5 *
* * I
* * |
***•****••*•***•• J
*****
♦ 002*
* E«*
Chart GD (Part 1 of 3). // FILE Control Card Processor ($$RDFL)
5-136
*****
♦00 I*
* G'l*
FLDATE
»„
B1 *.
.* VALID *.
. * PAaAMBTEH *.
*. AHD .*
*. ENCODED .*
*• .*
*. .. *
* NO
****
* *
* CI *->
* *
****
FLDEHE
'
•****C1*
M>*******
****
* *
* D 2 *---.
**** I
FLDAT2 V
*****B2 **********
*****************
*****
♦ 001*
* G1*
**•****••«***•***
•****D1 *•«•***•••
* SET ON *
* CONTROLLED- «
* CANCEL *
* INDICATOR *
* *
*****************
I •***
* *
l->* El *
* *
• **•
. * COMPLETE
DATE
*. REC'D
I**** * •
* * * cl *
->* E"» * * *
*•*•
* *
► B2 *
» *
• ***
****
* *
* C1 «
* *
****
•*•***•*•*•**•**•
*•*•
> *
k E«*
k •
****
****
* *
* E<» *->
.* *.
* LAST
JPARN BEEN
*. CHECKED .
B 1/0 1/11
* * 01-A5
*001*01-B5
* K5*01-G«
*****01-JS
*****pt| **********
*****************
.* INITIATOR *. TBS
*. T1BLB .* •
1
*. FOLL .* 1
*. .* I
*. .* t
*****
• ao *****
♦001*
♦ 00 1»
» PI*
* C2*
* •
* •
•
•
FL0250 V Gl/01/11
*****G5**********
***RDHL *
* CHECK FOR •
• OVERRIDE *
*****************
.*
*. IBS
*. OVERRIDE .* ■
*. FOUND . * 1
*. .* I
*. .* t
* ho •*•••
• 001*
* D1*
• *
•
FL0U00
r
•****J5*
>********
* HOVE PARHS TO *
* RDIWA. FETCH *
* StRDHK *
* *
*****************
GS/01/A1
v
****K 5*** ******
* *
* EXIT *
* *
***************
TO: SSRDHK-
NEBGE KEYWORD
PARAMETERS
Chart GD (Part 2 of 3). // FILE Control Card Processor ($$RDFL)
Program Organization 5-137
*****
♦ 001*
* G1*
► SOB
PABABETEBS
►. SPLIT .
*****C1 **********
* *
* INITIALIZE •
* POINTEB TO *
* TABLE EHTBI *
* •
*****************
*****
♦ 001*
* G1*
TRACKS
BECBDS
LOCN
*****C 3**** ******
* *
* INITIALIZE *
* POIMTEB TO *
* TABLE ENTBT *
* *
*•••*•***********
• *•
E1 *.
.* SAHE *.
, * LENGTH AS *. HO
FIBST .*
*- PAHH .*
*. •*
GA/01/A1
*****D2** ********
*$$BD«L *
* LOG ERBOB *
* *
*****************
*****G1 **********
*****************
FL1550 BA/01/A1
*****DI) **********
•NCENTB *
* LOG EBROB *
* *
*****************
*****E4 **********
* SET ON *
* CONTROLLED- »
* CANCEL *
* INDICATOR *
* *
*•*•'*************
.* PABAH
HITHIN
*. LIMITS
*****************
*****
♦ 002*
* EU*
Chart GD (Part 3 of 3). // FILE Control Card Processor ($$RDFL)
5-138
DTOOOO
****&1*********
* *
* ENTEB *
* *
***************
►****B1 **********
*****************
BA/01/A1
*****C2 **********
♦ NEMTET * *
•. IES * » *
.* >* HALT/SYSLOG * >*
,J| E , ^ ,
DISPLAY
* *
•**•*•••****•**•*
*****************
I****
* *
->* H5 *
*•**
DTEBXX BA/01/A1
*****D 3 **********
♦NENTBY *
*****************
.* HAS JOB *.
". DATA BEC'D .*
*. •*
*****P1 **********
*****************
• ***
* 4
* H5 *
* *
• ••*
*****f 3 •*••**•***
*****************
•SCAB IIIIPOT AMD •
* PBOCESS *
* PA1AH8TBBS •
* •
*****************
*****************
DTIPL BA/01/A1
*****j2 **********
•NENTBY *
>* HALT/SISLOG *
* DISPLAY '8A' *
• •
*****************
I****
* ♦
->» H5 *
IPL
*
NO
NODE
*
1
.*
1
*. • *
V
* YES
I
****
* *
* H5 *
* •
****
. *.
cn *.
DPF
*.
NO
SYSTEM
*
• ,
I
.*"
1
*. .*
i
* YES
****
* *
* F5 *
• *
****
'
.*.
DTI
D<» *.
*****D5***« ******
*,
* *
IN PBOG
*.
YES *SET TO STOBE IN*
LVL 1
* >* PLCA2 *
*****£4 **********
*****************
*•••**••*********
•****E5 **********
****•**•*•*••*•*•
**•*
SNA V BA/01/A1
•****FS **********
♦NCENTB *
* $$SSSC- STOBE *
♦DATE IN CONFIG •
* BECOBD *
*•*********••••**
*****G5 **********
**•••••*••*******
****
*•**
DTXISV
•****H5*********
t*** ************
****J5*********
« n
* HETUBN *
* 4
***************
TO: READER/
INTERPBETBb
MAINLINE
($$RDNL)
DTEBAB V BA/01/A1
*****K1 *«••***•**
♦HENTBY *
*****************
• *••
* *
->* K3 *
* *
****
I->* HALT/SYSLOG *-
* DISPLAI »8J' *
* *
*****************
► K2 *
► *
****
*****K3**********
*****************
* K3 »
* 4
****
Chart GE. // DATE Control Card Processor ($$RDDT)
Program Organization 5-139
****A1 *********
* 4
* ENTRY *
¥ 4
***************
* INITIALIZE *
* REGISTERS AND *
* POINTERS *
* *
*****************
*****A2 **********
*****************
****
* *
* A3 *— .
* * 1
**** V
IN .*.
A3
* NO
****
* *
* D1 *->
* *
****
*****D1 **********
* *
*GET SNITCH AND *
* INDICATOB *
* SETTINGS *
* *
*****************
*****C2*« ********
*****************
I****
* *
->* B5 *
* *
****
*SET OPSI SNITCH*
* *
* *
*****************
INCREMENT *
REGISTER *
POINTERS *
*
****************
YES .*
*.
r — *. PARAHETEB .*
*. FOUND .*
1 *. .*
V *. .*
**** * NO
*****
A3 * *
* F1 »->
***** •
***•
SRHRG
GA/01/A1
*****P1 **********
**$RDBL *
* CHECK FOB *
* OVEB
UDE *
NEXT
BYTE =
BLANK
*****A ■)*** *******
♦INDICATE IF THE*
* PARAHETER IS *
>* TOO LONG OB *
* SHOBT *
* *
*****************
****
* *
* B5 *->
* *
****
r
****+B 5* *********
* *
♦SET CONTROLLED *
* CANCEL ♦
* INDICATOR ♦
* *
*****************
I****
* *
->* F1 *
* *
****
*****D4 **********
*****************
I****
* *
->* A3 *
* *
****
*****E4 **********
*****************
1****
* *
->* F1 *
* •
•**•
.* PAST
END OF
*. BOFFEB
*****************
****
* *
->* B5 *
* *
****
.* *. YES
*. OVERRIDE .* 1
*. FOUND .* I
**♦*
* *
* D1 *
* *
****
****H1 *********
► 4
* RETURN *
Chart GF. // SWITCH Control Card Processor ($$RDSW)
5-140
IMOOOO
****1 1*********
* *
* ENTER *
* <
***************
*****Q1 **********
*****************
**** .* *.
* * .* FIRST *
» A3 * >*. PARM=NEHBER
C1 *.
* *
HODBL 6
*****C2 **********
. * MORE
, THAR ONE
*. PARK
♦ . .«
*****C3 **********
+****JH **********
* * ****
♦ERROR- INDICATE* * , <
->* IHER06 IB * >* H3 *
* ERROR* *
****
*****************
IH0730
*****B4* *********
* * ****
♦INDICATE ERROR * * *
— >* IHEROF IN * >♦ H3 *
* BRROR# * * *
* * ****
*****************
*****!) i **********
* DETERMINE *
* C0RI1ENT PROG *
♦LETBL AND WHICH*
♦LEVEL CONTROLS *
* CHAIN IHAGB *
*****************
IH0090 * GA/01/A1
*****? i**********
♦NENTRT *
* LOAD JSRDS3 *
* *
*****************
IH0200 V GP/01/A1
*****£ 1 **** ******
**$RDS3 *
* *
* POSITIONAL *
* PARAMETER *
* SYNTAX SCAR *
*****************
****
*002*
* A3 *-
*****************
****D2*********
* *
* RBTURN *
* *
***************
TO: $$RDML
READER/INTERPRETER
MAINLINE
*****j;2 **********
* *
♦ERROR-INDICATE *
»* IHER01 IN *
* ERROR* *
* *
*****************
****
* *
* H3 *
* *
• ***
♦ERROR- INDICATE*
->* IHER02 IN ♦-
* ERROR* *
* *
*****************
*****************
IN0725 * GP/01/A1
*****D3*****'*****
*$$RDS3 *
*****************
*****************
RC/01/A1
*****P3 **********
♦$*STSG *
GA/01/A1
*****p(|**********
*SSRDNL ♦
*****************
*****************
GA/01/A1
*****F5 **********
♦JSRDHL ♦
* *
->*PRINT STHT AND *
* LOCATE ANT *
* ERRORS *
*****************
NO .* TALID *. IBS
r — ♦. IMAGE OCL .* ■
I *. STMT .* I
• ***
* •
* J5 ♦
* •
****
****
* *
* H1*
* *
****
ML 1000 * GA/01/A1
*****g3**********
♦SfRDHL *
* ISSUE HALT *
* *
*****************
.* CONTROL *. IBS
>*• CANCER .*
*. .*
*****U5 **********
*****************
IH0350 .*.
J1 *.
*****J2**********
.* *.
* *
.* FIRST *.
TBS
* INDICATE HEX *
*. PABH IN HBX .
.__>* FORMAT *-
*. .*
* *
|
*. .*
* •
I
*****************
7
* NO
|
****
* *
* K2 * >
* * l
**** 1
****
* *
* K2 *
* *
****
♦
IM0500 .*.
1M *•
*****K2**********
K3 *
* *
.* FIRST *
TBS
* INCREMENT TO *
.* NDHBBR
*. NO
OK .*
.*
*. •*
*
* PARAMETER *
*.
*. .*
* *
1
****
* *
* J5 *
* *
****
* * ****
*002*02-J3*
* K2** J5 *->
****** *
• ***
*****J5*
*J$RDHL
' GA/01/A1
*********
*
* CHEC!
♦ OTBR
t FOR ♦
JIDB ♦
*****************
*****KU **********
* *
•ERROR- INDICATE*
►* INEB7E IN *-
*******•**••**•*•
*****************
*****
•002*
* A3*
****
* •
* A3 *
* *
*•**
*****
♦ 002*
* AI*
Chart GG (Part 1 of 2). // IMAGE Control Card Processor ($$RDIM)
Program Organization 5-141
1 110900
*»***A1 ***»****♦•
* CONVERT THIS *
♦PARN FROM ZONE *
r->* DECIMAL TO *
* BINARY *
* *
*****************
*****
♦001*
* J5*
* * ****
♦001** *
* K3** B1 *->
****** *
****
1(11000 .*.
BI *.
.* *
. * READ
*. FROM
DISK
*****
•001*
* H1*
*****B2**********
* *
* READ A CARD *
>* FBOH SYSIH *
* DETICE *
* *
*****************
IN 1100 * BA/01/A1
*****C1 **********
♦JNENTRY *
*****************
B3 *.
.* ERROR «
* FOOBD IN
IBAGE
►. STMT
****
* *
* C3 *
* *
****
****C 3 *********
* 4
* RETURN 4
* 4
***************
TO: CALLER
IH1200 .*.
D1 *.
.* *
.* DISK
*. ERROR
*.
*. . *
*. •*
* NO
****
* *
* E1 *->
****
IN1250 .<
E1
.*
1
r.
*.
*
.* SIS]
*. COB!
[N=
SOLE
*****D2 **********
*****************
B4 *.
.* *.
.* PREVIOUS
►. ERRORS IN
*. INTRA .
♦.MODE .*
*. .*
* TES
" GA/01/A1
•****CU **********
♦*$BDHL *
* *
* LOG ERROR DO *
* NOT RETORB *
* COBTROL *
*****************
BL1000 | GA/01/A1
V
****D4* ********
* *
* EXIT *
* *
***************
TO: SfRDML
HEADER/I J
MAINLINE
IH9302
*****BS **********
*BOVE TEMP CHAIN*
♦IMAGE TO SYSTEM*
--->* CHAIN IMAGE *
* AREA *
* *
*****************
V BA/01/A1
*****C5**********
•SENTRY *
*****************
I****
* *
->* C3 *
* *
****
IH1300 BA/01/A1
*****22*** *******
•NEHTRY *
.* SYSOOT=
*. CONSOLE
*.
*. .*
*. .*
► TES
*•**
* *
* G1 *->
* *
****
'
IH1U00 .*.
G1 *.
.* *
.* ST!
*. START
!T
KITH
>* LOAD *
* HALT/SYSLOG *
*****************
* G1 4
* 4
****
*****************
*•**
* *
* H2 ♦---
****************
****
* *
* G4 * .
* * !
**** |
IM1900 V
*****Q|| **********
->*OPDATE POINTERS* .
* * I
* * 1
***************** 4
III 1500
*****ft1 **********
* BUILD A CHAIN *
* IMAGE BUFFER *
♦FROM IHAGE DATA^-
* CARDS *
* *
*****************
*****K2 **********
* *
* REPEAT CHAIN *
* IMAGE UNTIL *
♦AREA IS FILLED *
* *
*****************
♦ INSERT BLANKS ♦
>♦ TO RIGHT OF ♦
♦ IHAGE ♦
♦ *
*****************
*****
♦ 001*
♦ H5+
H« ♦.
. ♦ *.
LAST ■
DATA CARD
*****jlj **********
♦ *
♦ DETERMINE IF ♦
♦ FIRST BITE IB ♦
♦ BUFFER IS HEX ♦
♦ *
*****************
****
* *
* H2 «
* *
****
***•
» 4
» BI <
► 4
****
*****K5 **********
* MOVE A BYTE *
♦FROM THE BUFFERS
TO THE TEMP ♦-
* CHAIN AREA ♦
* *
*****************
->*
*****
♦oou
♦ H5^
****
* *
* G2 ♦
* *
****
Chart GG (Part 2 of 2). // IMAGE Control Card Processor ($$RDIM)
5-142
cmoooo
****A 1*********
* *
* ENTER *
* *
***************
*****B1** ********
* *
* *
♦SAVE ADDRESSES *
* *
* *
*****************
CM0007 BA/01/A1
*****C2 **********
♦NCENTB *
INTRA MODE
.!..=
>' CONT ♦
STMT. BEING
I'.PHOCESSED.*
****************
*****q2 **♦♦*♦****
* *
* BUMP TO NEXT *
->*C0NT80L BYTE OF*-
ENCODED LIST *
*****C3 **********
+ *
* SET OH *
>* CONTROLLED *-
* CANCEL *
* *
*****************
->* MOVE LENGTH
••***•*******•***
****C5*********
» *
» BETOBN *
* *
*****••***•*•**
TO: ISBDHL-
HEADEB/INTEBPBETE
MAINLINE
1 :
*****************
*002*02-K3
* F5*02-G1
*****02-H2
*****
02-C1*002*
02-C3* CU*
' D3 *
► 4
****
I' CONT.
STMT BEING
K. PROCESSED.
F1 *.
.♦COMPILE*.
. « STMT *. YES
ALREADY .♦
*. RECEIVED .♦ I
*. .♦ J
♦. .♦ «
CH0010 V BA/01/A1
**«**Q1 **********
♦ NCENTB *
* •
♦ «JSSSC - READ *
♦INDEX SECTOR OF*
♦ SWA ♦
*****************
**♦*
* *
► H1 *->
**«**H1 **********
*****************
*♦**
*****************
LAST
PABN. A
S0BLIST
.* *.
► END OF "
ENCODED
► . PABHS .1
*****K i**********
* •
♦SET OP TO FIND ♦
* PBOPEB SYNTAX *
* CHECK BODTIME *
* *
*****************
***♦♦
♦002*
♦ A1*
* •
CH0075 GA/01/A1
*****j2 **********
♦IIBDHL *
♦ ANY OVERRIDES ♦
* ♦
*****************
.*.
CH0073 .♦.
G3 *.
Gt *.
*****Q5 **********
♦ENCODED*.
.* *.
* *
.♦PARK END IN*. NO
.♦ END OF *. YES
♦ POINT TO NEIT ♦
-->♦ CONTROL BITE *
*.
SPILT .*
>*. StJBLIST .*
♦ .
SUBLIST .*
A ♦. .♦
♦ *
*. .♦
1 ♦. .♦
1 ♦. .♦
♦♦*♦ * NO
* ♦
♦. .♦
♦«♦*♦*♦♦******•♦•
♦ YES
1
♦ ♦ 1 **♦♦
♦ Git * 1 ♦ ♦
♦ ♦ >■->♦ D3 ♦
♦♦♦* ♦ ♦
V
*♦♦*
.♦.
CM0075
CH0074
H3 *.
*****g5**********
♦ ♦.
**** H 4*********
* SITE 1DDB OF *
.♦
♦ .
END OF ♦. YES
ENCODED .*
♦ ♦
>* RETURN *
♦NEXT PA1H. torn;
r ->* OFF SOBLIST *
♦
PABHS .♦ 4,
♦ ♦
I * IDENT. *
♦. .♦
***•*•••******•
* *
♦. .♦
* NO
TO: $$RDHL- 1 ****♦♦♦***•*♦♦***
READEB/IIITERPRETER**** 1
1 ♦♦**
* *
•■- >♦ G4 ♦
MAINLINE
,*
* I »»**
*
H5 ♦ 1 * *
*
♦ l->* J1 *
♦ *
♦*•* * •
****
*♦**
• ♦.
CH0350 . *.
J3 ♦.
J» *.
♦ *.
.* BOTH *.
****J5*********
.*
*. NO
.♦SOOBCE AND *. YBS
>*. om T NOT .♦
* •
►*.
OVERRIDES .*
*
.♦
♦ .SPECIFIED. ♦
• *
♦. .*
*. .*
•♦*****♦******•
*. .♦
*. .♦
TO: SSBDHl-
* YES
* NO
BEADBB/INTIBPBETI
MAINLINE
1 ***♦
* *
••->* HI *
1
I
♦
♦ *
♦ ♦♦**
****
•003*
* Al*
Chart GH (Part 1 of 3). // COMPILE Control Card Processor ($$RDCM)
Program Organization 5-143
.* FIND *.
.* SYNTAX *. YES
>*. CHECK ROUTINE.*
A *. NEEDED .*
♦ 001*
* K1*
*****
CM00S0 OBJ
*****A2 **********
* MOVE ADDR OF * ****
* ROUTINE TO *SOUa *
— >* BRANCH INSTR, * >* C1
*PT. TO ENCODED * *
* PARM. * ***<
*****************
I UNIT
*****R1 **********
**************
****
* INDICATE *
* PROCESSING UNIT*
* PARAMETER *
* *
*****************
CH0202
***** fill* *********
* INDICATE *
* PROCESSING *
* OBJECT *
* PARAHETEH *
* *
*****************
„*
.*
YES
*****
*001*
* E.3*
UNIT
*
NO
* OBJECT
*
NO
*"
I
•
PARH GIVEN
*.
*
I
*. . *
*****
V
*. . *
*001*
* YES
*****
■ TES
* E3*
♦001*
* *
* E3*
*
* *
*
*****************
*****D 3 **********
*****************
.* FIRST *.
CHAR OF *
PARK
. VALID .*
*****************
*****f2 **********
* *
♦INDICATE FIBST *
>* CHARACTER *
* INVALID *
* *
*****************
CM02H0
***** EH**** ******
* DETERMINE IF *
♦UNIT OB OBJECT *
— >♦ PARH BEING *-
* PROCESSED AND *
* HOVE IN ERROR *
*****************
CH0250
♦****F4 **********
* DETERMINE IF •
♦UNIT OB OBJECT •
— >* PARM BEING * >
* PROCESSED AMD *
* MOVE IN ERROR *
••*••************
BA/0 1/1 1
BA/01/A1
AREA
* *
*****************
*****
•001*
* D2*
*****************
*****H2 *********
*
* SET ON
* CONTROLLED
* CANCEL
*
****************
*****
*001*
* D2*
.* VALID *.
UNIT
*. SPECIFIED.*
UNIT ON *.
THIS
. HARDIARE .*
.* UNIT
*. PARH BEING
*. CHECKED .
* HOVB QCODB TO *
* I/O AREA TO *
* INDICATE OHIT *
* *
*****************
*****
• 001*
* D2*
->*
•****H4 **********
* DETER BINE IF *
♦UNIT OB OBJECT *
* P1BH BEING *-
* PBOCESSED AND *
* HOVE IN EBBOB *
*****************
*****jq**********
*****************
*•♦♦*
♦001*
♦ D2*
* ♦
CM0260
*****E5 **********
♦NCENTB ♦
— >♦ HALT/STSLOG-" ♦
♦ LOG EBBOB *
♦ ♦
**•**•*•*****•***
*****F5**«* ******
♦ «
♦ INDICATE ♦
♦ CONTBOLLED *
♦ CANCEL *
♦ *
*****************
**•♦*
♦001*
* D1*
Chart GH (Part 2 of 3). // COMPILE Control Card Processor ($$RDCM)
5-144
.* BOTH *.
.♦SOURCE AND *. YES
->*. UNIT .*
*. GIVEN .*
CH0320 BA/01/A1
**«**A2 **********
♦NCENTB *
* *
>* SSSSSC- WHITE * —
♦SOUBCE AND UNIT*
* IN SNA INDEX *
*****************
* *
♦ 001*
* 31*
*****
****A3*********
• *
► BETURN *
* *
***************
TO: ISBDHL-
READEB/INTEBPHETER
MAINLINE
*****B1***» ******
* *
* *
* SET EBBOK *
* *
* *
*****************
'' BA/01/A1
*****C1**********
♦NCENTR *
* HALT/SYSLOG- *
* LOG EBBOB *
* *
*****************
*****D1**** ******
*****************
Chart GH (Part 3 of 3). // COMPILE Control Card Processor ($$RDCM)
Program Organization 5-145
FNOOOO
****J11 *********
* *
* ENTER *
* *
***************
{->*. CONTROLLED .*-
*. CANCEL .*
*. .*
*. .*
** * BO
*****A3 **********
* *
* INDICATE *
>* CONTROLLED *
* CANCEL *
* *
*****************
* *****
* A2 * *
* * B2 *->
**•*
"
FM9000 " GA/01/A1
*****B1 **********
*****B2 **********
* *
*$$RDML *
* STORE RETURN *
* ADDRESS *
* CHECK FOR *
*
*
* OVERRIDE +
*****************
*****************
*****D1 **********
* •
* INDICATE THAT *
♦THTS LEVEL HILL*
* CONTROL FORM *
*****************
****
* *
* El *->
* *
***•
FM0550 .*
.
*****************
■ uvsnnius • •* — — i
*. FODHD .* I
*. .♦ I
*. . * V
****
* *
* El *
* *
****
.* ERROR *. TES
*. IN THIS OCL .*
*. RECORD
RECORD . * I
"*. .*'* V
* NO •***
1**** * *
* * * Ctt *
->* A* * * *
FH9005 .*.
AU *.
.* PREV. *.
.* ERROR IN *.
{->*. INTRA .*
*. MODE . *
** * NO
*****BU **********
*****************
****
* *
* C4 *->
* *
• *•*
****C4*********
* *
* RETURN »
GA/01/&1
****A5*** ******
* *
* EXIT *
* *
***************
TO: $$RDHL
READER/INTEHPHETE
MAINLINE
*****P2 **********
* *
* *
->*GO TO NEXT PARM* .
: : I
***************** f
****
* *
* El *
* *
****
***************
.:' I
RIGHT
TRACTOR
SPEC.
*****FU**********
* *
* INDICATE LEFT *
* TRACTOR PAGE *-
* SI3E *
* *
*****************
•INDICATE BIGHT *
->* TRACTOR PAGE *
* SIZE *
* *
*****************
1****
* *
->* B2 *
*****ns* *********
*****************
FM0660
*****H1 **********
*****H2 **********
CONVERT TO *
♦ ERROR- INDICATE*
*
MODIFY ERROR* *
BINARY *
* FMER7C IN *-
*
TO
FMER7C *
*
* FRRORi *
I
*
*
* +
l
*
**************
*****************
V
******
***********
****
1
* *
I ****
* A? *
* *
•■->* A2 *
* *
****
* *
V
****
.*.
FN1270
J1 *.
*****J2 **********
.* *.
+ *
HON- *. .YES
♦ERROR- INDICATE*
NIIM
FOUND .*
* ERFORt *
I
*. . *
* *
I
*****************
V
* NO
****
* *
* A2 *
*****J4**********
************ *****
****
* *
* E1*
* *
*+**
*****************
i ******
«■- >* A2 *
* *
*** +
YES *ERKOP- INDICATE*
* >* FMER1C IN *-
* FRRORt *
* +
*****************
****
*
»2 *
Chart GI. // FORMS Control Card Processor ($$RDFM)
5-146
LGOOOO
****A1 *********
* *
* ENTER *
* >t
***************
*****B 1**** ******
* *
* *
* SAVE ADDRESSES *
* A3 * >*.
*****&t|* *********
* *
* SET OH TEMP. *
->* CONTROLLED *
* CAHCEL *
* *
*****************
********
*********
****
* *
* CI *->
* *
****
'
LG0005 .*
C1
.* ST1
.♦BEAD I
*. IH1
*. HOI
*.
IT *.
)ORIHG*.
PRA .*
)E .*
GA/01/A1
*****B3 **********
*$$BDHL *
*****************
****
* c« «
X i
****
*****Q1 **********
*****************
*****************
->*INDICATE ERROR *
* *
* *
*****************
****
****
LG0380
**** *p2 **********
* *
* BRANCH TO *
*$$RDHl WITH HO *
* RETURN *
* *
*****************
LOGERR
**** E2 *********
* *
* RETURN *
* *
***************
TO: SSRD8L-
READER/IHTERPBBTER
MAINLINE
OVER- *. TES
*SET LOG OFF IN *
HIDE .* •
*SIS COHH REGION*
.* 1
* *
*. .* 1
* *
*. .* V
*****************
* NO ****
I
* *
I ****
* C1 *
( * *
* *
!-->* H2 *
****
* *
****
"
**Q3**********
*
BOHP RETORN *
ADDRESS *
*****************
****E 3 *********
» *
* RETORN *
» *
***************
TO; SSHDHL-
READER/INTERPRETER
MAINLINB
F1
.*
*.
*.
.* BEGINNING
.OF PARAMETER
*. FOUND .
*. .*
*. .*
t
* NO
.
1
n.
G1 *.
.* *.
. * ENT]
RECC
*. SCA1
[RB
)RD
INBD .
->*IHDICATE ERROR *
LG0025
*****P4 **********
* SAVE EHD ADDR *
*OF PARH. CALC. *
>* LEHGT&-1 OF *
* PARH AND BOTE *
* TO CLC INST. *
*****************
****4<H1 **********
*****************
*****************
**** I
02-H3*002*
02-EU* E2 *->}
02-A4* * (
**** I
LG0380 *
*****H2 **********
*****************
LOGERR V GA/01/A1
*****J2**«* ******
*SSRDHL *
*****G3**********
*****************
♦POIHT TO TABLE *
* OF VALID *
* DEVICES *
* *
*****************
****
* *
* m *->
* *
****
1
LG0040 .*.
H« *.
. * *.
.* *. NO
*. LENGTH-1 OF .*
*. PAR
1 = .*
*****H5 **********
* *
* •
•INDICATE ERROR *- —
* LOG ERROR *
• *
*****************
****
* *
* A3 *
* *
****
J« *.
.* REQ. *.
.* DEVICE "
► . THIS
*. DEVICB .
*. .*
*. .*
* IBS
LG0045
*****K4* *********
**** * GET ADDR OF *
> * OFF* DESIRED *DBV
► C4 *< * PROCESSING *
* * * ROUTINE AND * I
**** * piLLIN BRANCH * I
***************** f
* D2*
* *
• ***
ALL
DEVICES
CHECKED
*****K5 **********
*****************
ION
*****
♦002*
1
* A3*
V
* *
*****
*
♦002*
* Ai*
I ****
* *
L->* Htt *
Chart GJ (Part 1 of 2). // LOG Control Card Processor ($$RDLG)
Program Organization 5-147
*****
*001*
* M*
*****
♦001*
* Ktt*
.* EXECOTING
► . IN LEVEL
*. 2
*****************
► A1
it
***4
->*INDICATE ERHOR *—
*****************
*****BU **********
*****
*001*
* H2*
DPP
SYSTBN
*.
*"
NO
* -,
1
*. .*
1
*. .*
*
* YES
****
* *
* PI *
* *
****
■J
m
CI
*
*.
*
LG0070
*****C2**********
* *
EZECl
IN L
JTING
!VEL
1
*.
*"
YES *POINT TO PEOG. *
* >*' LEVEL 2 COMM. *
* REGION *
*****************
BA/01/A1
*****************
*****D1 **********
* *
♦POINT TO LEVEL *
* 1 PROG. COSH. *
* REGION *
* *
*****************
LG0080 .*.
El *.
.* THIS *.
.* LEVEL ♦.
*. SPECIFY .*
*. ON .*
*. .*
*. .*
* YES
*•**
* *
* F1 *->
* *
****
LG0086
'
*****pi*
*********
LG0230
*****S2* *********
->*INDICATE ERROR *
* *
* *
*****************
*****
•001*
* H2*
* *
* JJSSSC- READ *
* INDEX SECTOR *
* FROM SWA *
*****************
*****D3* *********
*****************
.*.
LG0300
E3 *.
*****E4* *********
* *
* *
DEVICE
*. NO
• *
SUPPORTED
*
• *
V
*. .*
* *
*****
*. .*
*****************
*001*
* YES
* H2*
* TURN LOG ON *
* *
* *
*****************
LOGBRR
*****G1 **********
♦JSRDHL *
* PRINT STHT *
* *
*****************
LG0388
****H1 *********
* *
* EXIT *
* *
***************
TO: SIRDBL-
READER/INTBRPRETER
MAINLINE
G3 *.
.♦DEVICE *.
.* AVAIL. IN *.
►. DPF
SYSTEM
*.
*.
.*
♦INDICATE ERROR •
*****************
*****
♦001*
* H2*
* *
LG0135
*****q4 **********
*SET OP PARH TO *
* FIND APPRP. *
— >* HALT/SYS LOG *
* ROUTINE *
* *
*****************
'' BA/01/A1
*****04* *********
♦NCENTR *
*****************
*****jl|**********
Chart GJ (Part 2 of 2). // LOG Control Card Processor ($$RDLG)
*****************
I****
* *
->* A1 *
* . *
• ***
5-148
•***A1*********
► *
► ENTER *
* 4
***************
****
* 4
* J1 4
* 4
*•**
****
* *
* J1 *
* *
****
.*
. .*
* NO
' BA/1/A1
PS0030 BA/1/A1
*****B2 **********
♦NCENTB *
* HALT/SYSLOG *
* *
*****************
*****************
.* CONTBOL *. HO
*. CANCEL .*-
*. RESPONSE .*
1
*. •*
1
*. .*
1
* YES
****
*
* J1
*
****
'
'
*****H i **********
♦SET ON CONTBOL *
* CANCEL *
* INDICATOR IN *
* HDIWA *
* *
*****************
****
* *
* J1 *->
* *
****
PS0060
'
****J1*
1*******
* *
* BETOBN *
* *
***************
TO: CJ
ILLEB
Chart GK. // PAUSE Control Card Processor ($$RDPS)
Program Organization 5-149
HNOOOO
t***A 1 *********
* *
* ENTER *
* *
***************
PROGRAH
LEVEL 1
NO
HN0155 BA/1/A1
***** Q^ **********
♦NCENTB *
HN0150
HN0100
. * HALT IN i
. PGH LEVEL 1
*. . 1
*. .*
*. . *
* YES
HN0160 V
*****jy\ **********
* *
* INDICATE EOJ *
* HALT IN PGH 1 *
* COHMON *
* *
*****************
****
****
* <
* B3 «
* *
•>■***
C2 *.
.♦CONTROL*.
CAUCEL
INTRA
. NODE
*. .*
*. .*
* NO
*****D2 **********
* *
♦INDICATE NO-EOJ*
* IN PGH LEVEL *
* COHHON *
* *
*****************
1
* B3 *
* i
****
* HALT/SYSLOG *
* *
*****************
****
» *
► E1 *
» *
****
* E1 *->
* +
****
HN0500
****g1*********
* 4
* RETURN *
» *
***************
TO: CALLER
Chart GL. // HALT, // NOHALT Control Card Processor ($$RDHN)
5-150
RROOOO
«***A 1*********
* 4
* ENTER *
* 4
***************
VALID
PARAMETER
. FOUND .
V BA/1/A1
*****D1 **********
♦MENTRY *
*****************
E1 ♦.
.•DEVICE *.
. * SUPPORTED
AND
*. AVAILABLE.
► ***
4
H1 *
*
► ***
.* OTHER *.
.* PGM LEVEL *.
•■USING DEVICE .
*.AS STSIN .*
RH0082
*****P2 **********
* DEALLOCATE *
* PRESENT STSIN *
-->* DEVICE IN PGM *
* LEVEL COMM *
* REGION *
*****************
*****q2**********
* ALLOCATE *
•REQUESTED STSIN*
* DEVICE IN PGM *
* LEVEL COMM *
* REGION *
*****************
RR008« V BA/1/A1
*****H2**********
•■NENTRY *
* *
* FIND AND LOAD *
*****************
• ***
»***j1*********
RETURN *
♦SECTORS TO PGM *
* LEVEL COMM *
* REGION *
* *
*****************
Chart GM, // READER Control Card Processor ($$RDRR)
Program Organization 5-151
PNOOOO
****A 1*********
* *
* ENTEB *
* 4
***************
****
• *
• A3 *--
• *
***•
* *
* hH *
* *
***♦
***** AH **********
* *
* EHBOB- *
->*PABAHSTEB IS TO*-
LABGE *
*•*•
* *
->* K2 *
* *
****
*****************
*****B1 **********
* *
* *
*SAVE REGISTERS *
* *
* *
*****************
****
* *
* CI *->
* *
*•**
PN0200 .*.
C1 *.
.* VALID *.
.* STATEMENT *.
*. IDENTIFIER .
*. . *
*****************
G.1 *.
.♦END OF *.
. *BOFFSR AND *. TES
P1BH NOT .*
*. FOUND .*
*. .*
.* LAST *. SO
BYTE IN .*
*. BUFFER .*
*****B1»**********
* *
* *
■>*ADVANCE POINTER*-
* *
* *
*****************
****
* *
* J1*
* *
****
*****C2 **********
*****************
PN1010
*****D2 **********
* EHBOB- *
* PARTITION *
- — >*SUBHITTBD IN A *
*NON DPF SISTER *
* *
*****************
PN0700
*****g2 **********
*****************
*****qii**********
*****************
****
• *
+ K2 *
* *
****
*****************
* ERROR- , *
->* PARAHETEB NOT *--
* SPECIFIED *
* *
*****************
E3 *.
.♦BOON TO*.
.* ACCEPT *. NO
*. PARTITION .* -•
*. SIZE .* I
*. .* I
*. .* V
* YES ****
* A«
*
****
PN9000 V GA/01/A1
*****P3 **********
♦SSBDML *
* SEARCl
• OVERI
1 FOR *
1IDE *
*****************
G3 *.
. * *
.*
*. OVERRIDE
* NO
YES .* BYTE *.
*. BLANK .1
****
* •
* J1 *->
in" **.
.* *.
.. * PARK *. NO
*. NOHEBIC .*
*. .*
*. .*
*. . *
* YES
*****K1 **********
*****************
****
► *
► CI ♦
► *
****
PN91O0 .*.
H3 *.
. * *.
.* ANY *•
*. ERRORS BEEN .
*. FODND .*
*****J2 **********
* *
* ERROR- . *
->• PARAMETER IS *
* ION- NOHEBIC *
* *
*****************
****K2*********
***************
TO: SSRDNL-
RBADER/INTERPBETEB
MAINLINE
► PREVIODS
OCL EH BOBS
►. AND IN .
♦.INTRA.*
♦MOVE PARTITION *
* INFO FOR *
* SCHEDULER USE ♦
* *
*****************
*****************
*****************
****J5 *********
* ♦
* EXIT *
» . *
***************
TO: $$BDML-
READEB/INTERPBETE
MAINLINE
****K 5**+ ******
* •
->* RETURN *
* *
***************
TO: $$8DHL-
BEADBB/INTEBPBETE
****
* *
* A3 *
* *
****
Chart GN. // PARTITION Control Card Processor ($$RDPN)
5-152
CLOO'OO
****A1 *********
* 4
* BNTBfi «
* *
***************
*****B1 **********
INITIALIZE
*****************
.*.
LOGEBB BA/01/A1
C1 *.
*****C2**** ******
.* *.
*NCENTB *
* SIS *. so
DATE .*
>* HALT/SYSLOG *
*. RECEIVED .*
* DISPLAY *
*. .*
* *
*. . *
*****************
* TES
1
1 ****
* *
L->* G5 *
* *
****
CLOO10 V BA/01/A1
*****D1 **********
♦NCENTR *
*****************
CLOO20
*****E1 **********
♦PASS CONTROL TO*
*$$BDS3 TO SCAM *
* PARAMETER FOB *
* EBBOBS *
* *
*****************
<
YES
**•*
* *
* G5 *
* *
****
'
cloo:»2 .*.
CL0100
G1 *.
*****G2**********
. * *.
* *
., *
*.
NO * BEAD OCL FROH *
*., PBEVIOUS
* >* SYSIH *
*. CALL
*
* *
*.
.*
* *
CL0039 BA/01/A1
•****q3 **********
♦ NCENTB *
*****G4 **********
H1 *.
.* TOO *.
► BAN! +. NO
SEQUENTIAL . *
►. CALLS .*
*.
*****************
*****H2 **********
*.
* YES
f GA/01/A1
*****J1 **********
♦SIRDBL *
* FIND $$SYS6 *
* *
*****************
*****************
CL0080
****G5*********
* *
>* RETURN *
A * *
I***************
TO: CALLER
**
*****************
* LOG BBBOB *
* *
*****************
****K1*********
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE.
Chart GO. // CALL Control Card Processor ($$RDCL)
Program Organization 5-153
S30000
****A1*********
* *
* ENTER *
* ♦
***************
t****B1 **********
* •
♦SAVE BEGS, GET
PARIS
*****************
****
*
* C3 * —
*
**•*
.» OMIT ♦.
. * PARI) LAST
->*. ONE
♦.SPECIFIED.
*****Q1 **********
*****************
• **•
• *
* El ♦->!
♦ ♦♦♦
♦♦•••***♦♦♦♦•**••
I *••*
* *
L->* H1 ♦
.♦.
***•
S30170
*****B4* *********
• ***
♦002^
• C3 ♦->
• *
• ***
S30168
*****D5**«* ******
*•*♦♦♦♦♦♦♦♦♦♦♦***
I *♦♦♦
* *
l->* H1 ♦
♦ ♦
****
*****
♦ 002^
♦ «♦
♦ SATE ADDR OP ♦
->♦ BEGINNING OP ♦
♦ PARHS ♦
♦ ♦
**•**•**•*****•*•
***••***•*****•**
***•
• •
♦ F2 ♦->
♦ ♦
V
*••*
.♦.
S30025
Fl ♦.
***+*T2**********
.♦ ♦.
♦ ♦
.♦ ENTIRE ♦. NO
♦SET COUNTER TO ♦
♦. STATEHENT . ♦-
♦ZERO, ALTER HTI*
♦ IHSTB. ♦
♦. SCANNED »♦
1
♦. .♦
1
• *
♦. .♦
T
**•*•****••*•***♦
♦ TES
****
♦
*
• •*•
*
El
*
* •
♦
•
♦ 82 ♦->
****
♦ ♦
**•*
S30210
'
S30028
'
*****G1 **********
*****G2** ********
• *
• ♦
♦SET BETOHN CODE^
♦ POINT TO NEXT ♦
♦ FOR NO PARHS •
♦ POSITION ON ♦
♦ POUND *
♦ RECORD ♦
♦ *
♦ *
*****************
**••******•*•*♦**
02-BH****
02-E1^002^
02-B2^ A5 ♦->
02-E3^ ♦
***•
'
S30212
'
.♦.
S3
*****r i**«* ******
H2 ♦.
* *
.♦ ♦.
* *
.♦ ENTIRE *. TES
♦RESET PARR INFO^
♦. STMT. .♦
♦
*
♦. SCA
SEED .♦
*•*****•*•***••**
****
» *
* H1 «
* 4
****
*•**
* *
» HI *
*****
♦ 002^
♦ »1»
*****r 3**** ******
*****************
****J 1 *********
► •
► RETURN •
••*•*•******•*•**
BEGINNING
OP NEXT
.STATEHENT.
*****************
*****K3 *********
****************
.* *. «•**
SYNTAX ♦. IBS ♦ «
SCAN ALSO .* >♦ C3 «
*****
•002*
• B1«
• •
**«*
t *
* 02 *
» •
***•
L
****
*
>* H1 <
4
• •*•
Chart GP (Part 1 of 2). Positional Parameter Syntax Scan Routine ($$RDS3)
5-154
•*«**A 1**********
*****
*001*
* C5*
•BOTE LEHGTH OF
r ->* HA HE
1 *
*
1 •••*******•****
* •
♦001*
* F3*
*****
. *•
B1 *.
.* FI8ST *.
.* CHAB OF *
*. HAHE
*. VAI
ID •*
•****C1 *********
****************
*****************
*****
•001*
* B1*
• *
• ****B 3 **********
*****************
•****02 **********
C3 *.
. * ALL *
POSSIBLE
OHITS
. CHECKED
*****
*001*
* D5*
14 *.
.* *.
OUT *
SUPPORTED
*****B4 **********
* CODE TO TABLE *
•********••***•**
* SET OP BETOBI *
->* CODE FOB OHIT *
* HOT SOPPOHTED *
* *
*****************
*****
♦001*
* HI*
.* ALL *. BO
* POIBT TO MEIT *
*. CHARS BEEH .*
>* POSITIOH *
*. CHECKED .*
* *
*. •*
-* *
*. . *
*****•****•****••
* YES
****
•001*
* K2 *->
* *
**«*
'
S30110
1
.*.
**tt**E1 **********
E2 *.
*****B3 **********
* *
.* *.
* *
* HOTE HANE TO *
.* IHTALID *. TBS
* SETUP BETOBH *
* TABLE *
* *
*. CHAB. IH .*
*. MANE .*
* *
¥
* *
*. .*
* *
*****
*****************
*. .*
A****************
*001*
1
* HO
* m*
1 ****
* *
•■->* CI *
* *
I
•
♦
*****
* *
*0C
1*
**••
Chart GP (Part 2 of 2). Positional Parameter Syntax Scan Routine ($$RDS3)
Program Organization 5-155
HKOOOO
****H *********
* 4
* ENTER «
* 4
***************
p:
»***
***************
► A2 *
► 4
**••
.*.
B1
.*
.* beqoibed
. pabaheters
♦.specified
*.
9430 .*.
CI *.
.* BOTH *.
.♦TRACKS AND *. TES
*. BECOBDS ,.* >
*. GIVEN .*
*. .*
*. .*
* HO
01
*.
*.
.* VALID *„ NO
► . PACK AND .*
*. UNIT .*
*. .*
*. . *
* TES
BKCHS BA/01/A1
•****D2**** ******
*HCEHTB *
•ft**************
El
*.
*****22* *********
.* PABHS *.
* SET ON *
.* IH
♦ .
NO
* CONTBOLLED- *
*. ONE-TO-OHE
* CANCEL *
*. BATIO .
*
* INDICATOB *
*• .*
* *
*. .*
*****************
4
► TES
J
HK0500
NK0505
F1 *.
*****P2 **********
.* *.
• *
.*
*.
NO
* DBTEBHINB NO. *
*. PBOCEDDBE
>* OF PACKS *
*. SEBGB .
•
A A * *
*. .*
1 * *
*. . *
1 *****************
" TES
****
* *
* F2 *
* *
****
HKINIT
J
"
Gl *.
*****Q2** ********
.♦ IS *.
* *
.♦CONTROLLED
♦ „
TES
* REINITIALIZE *
*. - CA ICBL
*
* FOB NEXT FILE *
*.
i
*
* STAT
SBENT *
.* WAS
► . OVEBBIDE
*. GIVEN
*. .*
*. .*
* NO
*****************
GQ/01/E<»
*****H2*** *******
♦HKRRT *
*****************
*****J1 **********
.* END
OF
>*. PBOCEDDBE
A *. STATEMENT.
1 *. .*
1 *. .*
**** * NO
*
A3 *
*
****
< ■
*****B 3 *******
*
* SET ON HBITE
* SHITCH
*****************
HKNXCB .*.
C3 *.
.* DOES *.
.* THIS CB *. NO
*. HAVE .♦
♦.OVEHBIDE .*
*. .*
+ . .*
* YES
*****************
HKHCB
*****E3****
*HKHBY
Q/01/E4
******
* HBITE CONTBOL *
* BYTE INTO *
•INITIATOB TABLE*
*****************
HKHOBE V GQ/01/E1
*****p 3 **********
*NKWBT *
* *
•HRITE PABAHETEB*
♦INTO INITIATOB *
* TABLE *
*****************
****
GA/01/A1
****G3** *******
* *
* BETOBN *
BKBTBN GQ/01/E*
***** All ****¥*****
*HKHRT *
*****************
C4 *.
♦IS THIS*
•
LAST
>*
OVERRIDE
*,
CB
*. .♦
♦. .*
* YES
*****C5* *********
*****************
HKHBT
****E4*********
* 4
* ENTER 4
* 4
***************
* IS
HBITE
*. SHITCH ON.
*. .*
*.
*"
NO
• — --.
1
*. .*
V
* YES
***•
*
* H5
*
****
'
.*.
G<t *.
.* *
* DAI
FIT
*. BUF1
FA
[NTO
»ER
*.
*"
YES
A
***************
TO: SSRDHL
READER/INTEHPBETEB
MAINLINE
HKPOT
*****(|4 **********
•NENTRY *
* *
* HBITE DATA IN *
♦INITIATOR TABLE*
* *
***•*****•••*****
*****G5**********
*****************
*.**
* *
* H5 *->
* *
****
****H5*********
* *
* 8ETUHN *
***•**•♦♦♦*♦*****
I****
* *
->* A3 *
* *
• *•*
*****************
Chart GQ. FILE Diagnostics and Merge Keyword Parameters Routine ($$RDMK)
5-156
$$INA1
****A1*********
* *
* ENTER *
* *
***************
*****B 1**********
* *
* ♦
♦INITIALIZATION *
* *
* *
*****************
****
V BA/1/A1
* GET PI *
* *
*****************
* *
*003*
* P1*
*****
02-B«
02-D1
. * SPECIAL *.
*. F1 REQUEST .*
*. .*
*., .*
*. .*
* HO
****
* tt
* P1 *->'
* *
****
AL140 V
*****P1 **********
* *
* *
* GET DTP *
* *
* *
*********
********
.*.
' BA/01/A1
E2 *.
*****E 3 *****-***'**
♦NENTRY *
P1 *.
YES
ALREADY
* ,
* *
ALLOCATED.*
I
* HALT/ SYSLOG *
I
* *
*. .*
i
*****************
* NO
I
****
* *
* C1 *
* *
****
.* ANY NEW *.
PILES
*. .*
****E«*********
► *
* EXIT *
k 4
***************
AL075
****D5*********
* *
--->* EXIT *
* *
***************
TO: SSINAT
TO: INITIATOR
ALLOCATE - PHASE TWO
($*INA2)
. * DTP *
>. NAMES EQUAL
*****P2«* ********
* *
* MOVE DTP *
* INFORMATION *
* INTO PI *
* *
*****************
I****
♦003*
->* P1 *
* *
*•**
AL170
*****G2**********
* *
* HARK THIS DTP *
>* AS PROCESSED *-
*****************
*****H1 **********
*****************
•***p 3* ********
* «
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
.* F1 *.
rES
*. ALREADY .*
♦.ALLOCATED.*
I
*. ' .*
*. .*
i
* NO
****
*
* CI
*
****
"
*****[] 3 **********
♦ALUNIT *
* GO ALLOCATE *
* UNIT POR ♦
* UTILITIES *
*****************
I
i
*****
•002*
* £
1*
* NO ****
I**** * *
* * * P1 *
->* C1 * * *
* * ****
****
Chart HA (Part 1 of 3). Initiator Allocate-Phase One ($$INA1)
Program Organization 5-157
*****
♦ 001*
* H3*
*e ********* ******
► PILE
NEED TO BE
•.ALLOCATED.
*****
♦ 001*
* C1*
* *. ****
NEW OR *. YES * *
DEFERRED .* >* B« *
* UTILITY *
* INTERLOCK OF *
* UNIT *
*****************
El *.
.* *
RETAIN-A
*****
♦ 001*
* C1*
* HOVE DTF *
* INFORMATION *
* INTO F1 *
* *
*****************
*****£!}* *********
*****************
G1 ♦.
*
S FILE
****
► *
► H3 *
* *
♦ ♦*♦
SPACE
GIVEN AND
EQUAL .
BA/01/A1
*****F2 **********
♦NENTHI *
* HALT/ SYSLOG *
* *
*****************
****F3*********
* *
->* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
OFF-LINE
NVF
*. .*
' BA/1/»1
*****Q4* *********
♦NENTRY *
*****
♦ 003*
* B1*
H1 *.
*
T FILE
****
* *
* H3 *
* *
****
*. YES
' BA/01/A1
*****J1**********
♦NENTRY *
* HALT/ SYSLOG *
* *
*****************
****K1*********
► *
► EXIT «
► *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
AL200 BA/01/A1
***** H 2 **********
♦NENTRY * ♦ *
* *0 OPTION ♦TURN ON LOAD TO^
■ — >* OLD INDICATOR ♦
♦ HALT/ SYSLOG ♦
*****************
* 1
» EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
I :
*♦**
* *
♦ H3 ♦
* *
****
*****************
*****j 3 **********
* TURN OH ♦
* ALLOCATED BIT ♦
*****************
*****K 3**********
*****************
*****
♦003^
* F1 +
* *
*****************
PACK *. NO
ON-LINE .*
.*
*****jl| **********
*****************
* HALT/ SYSLOG ♦
♦ ♦
*****************
****j5*********
* *
► EXIT ♦
I *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
*****
♦ 003+
♦ B1«
Chart HA (Pait 2 of 3). Initiator Allocate -Phase One ($$INA1)
5-158
02-F4
*****
♦ 002*
* J«*
AL500 HL/1/A1
*****$3 **********
*PAITBK *
KEYED
*.
NO
.* TBACKS *. NO
FILE
>*. GIVEN .*
>*CONVEHT BECORDS*-
*"
*. . *
* TO THACKS *
.*"
*. . *
* *
1
+ *
*. .*
*****************
V
"*"yes
I
* YES
t **+*
* *
L>* F1 *
* *
****
****
*
* F1
*
****
. *.
AL480 HL/1/A1
HH/1/A1
C1 *.
*****C2**********
*****C3 **********
•
♦PAITRK *
*PAINDX *
TBACKS
*.
MO
GIVES
>*CONVEBT HECOBDS*
>*DETERHINE SIZE *-
*
* TO TKACKS *
♦ OF INDEX *
I
.*
* *
* *
I
*. .*
*****************
*****************
V
* YES
I
****
*
* F1
*
****
AL510 V HN/1/A1
*****£ 1**********
♦PABTIN *
BA/1/A1
*****D2 **********
♦NENTBY *
* *
->* *
* HALT/ SYSLOG *
* *
*****************
*+**E2 *********
* APPOBTION *
* EXIT
* TRACKS *
* *
*************
*****************
TO: SUPPORTED
****
HALT/SYSLOG
BOUTINS
* *
* Fl ■*->»
* *
****
AL520 BA/1/A1
*****F1 **********
*NEHTBY *
*****************
*002*
* K3*
*****
01-F2
*****
♦001*
* CI*
Chart HA (Part 3 of 3). Initiator Allocate -Phase One ($$INA1)
Program Organization 5-159
$$INA2
****A 1*********
* 4
* ENTEB «
» *
***************
AL300 V BA/01/A1
*****B1 **********
♦NENTBT *
****
¥ «
► A« *
¥ 1
****
. * IS THIS
A DPF
♦ . STSTEH
BEAD IN THE *
VOLUME *
LABEL(F1) *
n **************
*****C1 **********
* *
* MOVE INTO ♦
♦COMPOSITE WOBK *
* ABEA *
* *
*****************
AL305 BA/01/A1
*****H 5 **********
♦NENTRY *
* *
— >*READ THE OTHEB *
* LEVEL'S F5 *
* SECTOB *
*****************
*****B 5**** ******
* *
♦MERGE INTO THE *
-♦COMPOSITE WOEK *
* AREA ♦
AL301
*****01**«*
♦NENTRT
BA/01/»1
*******
* READ IN THE *
* VOLUME *
* LABEL (B1) *
*****************
*****£ i **********
* •
* MOVE INTO *
♦COMPOSITE WOBK ♦
* ABEA ♦
* *
*****************
*****************
BA/01/A1
*****C 5**** ******
♦NENTRT ♦
* . *
->♦ READ ROLLOUT ♦
♦ PBOG'S F5 ♦
♦ SECTOR ♦
*****************
*****Q5 **********
* *
♦MERGE INTO THE ♦
-♦COMPOSITE WORK ♦
♦ AREA ♦
*****************
DONE V BA/01/A1
***•*£!(* *********
♦NENTRT ♦
BA/01/A1
*****^2 **********
♦NENTRT ♦
*****p 3 **********
♦ *
♦ MOVE INTO ♦
^♦COMPOSITE WOBK ♦
♦ AREA ♦
♦ *
*****************
RA/01/A1
*****G2** ********
♦NENTRT ♦
* *
► ♦ BEAD IN THE ♦--
♦ VOLOHE ♦
♦ LABEL (H 2) ♦
*********4*******
♦ FETCH $$INA3 ♦
♦ ♦
*****************
HC/01/A1
V
****pt| *********
► *
* EXIT ♦
► ♦
***************
*****q 3 **********
♦ *
♦ HOVE INTO ♦
^♦COMPOSITE WOBK ♦
♦ ABEA ♦
♦ ♦
♦♦**♦******•*****
TO:
SSINA3
INITIATOR ALLOCATE
PHASE THBEE
AL30» V BA/01/A1
*****H1 **********
♦NBHTBT ♦
* -___ *
♦ BEAD THIS *
♦ LEVELS P5 ♦
♦ SECTOB ♦
****•***•**••****
*****J1 **********
* *
♦MEBGE INTO THB ♦
♦COMPOSITE WOBK ♦
* ABEA ♦
* *
*****************
*****K i**** ******
* *
♦ SAVE THE F5 *
♦ SECTOB *
• *
* •
*****************
I
***•
♦ *
♦ AH ♦
♦ *
***•
Chait HB. Iniator Allocate-Phase Two ($$INA2)
5-160
$$INA3
•***A1 *********
* *
* BNTEB *
* *
***************
****
* •
* B1 *->
* *
****
AL320 T BA/01/A1
*****B1 **********
•NENTHY *
* GET f1 IMAGE *
* FBOH SWA *
* *
*****************
.* END OF
*. FILE
*.
' BA/01/A1
*****D1 **********
*NENTBY *
* FETCH SSINAH *
* *
*****************
I HD/01/A1
****g1*********
* *
* EXIT *
► *
***************
TO: SSINA4
INITIATOB ALLOCATE-
PHASE FOOB
****
* *
->* B1 *
* *
****
.* IS THIS *. HO
->*. A VALID F1 .* -•
****
* *
* Bl *
* *
****
AL350
*****03***
♦DCLPAP
HQ/01/A1
*******
*****************
. LOCATION
*. GIVEN
*. .*
*****F4 **********
*****************
BA/01/A1
*****E 5 **********
♦NBNTRY *
* HALT/SYSLOG *
* *
*****************
****FS *********
► *
► EXIT »
► *
*******•****•••
TO: SUPPOSETED
HALT/SYSLOG
ROUTINE
E
AL3563 .*.
.*.
G3 *.
GD *.
-* *.
.* *.
.* «S« *. YES
.* LEFT *. YES
*. FILE .*— . *. FILE NATCH .* -.
*. .*
*. BETAIN .* 1
*. .*
*. .* I
*. .*
*. .* ¥
* NO
* NO ****
**** I
*
* H3
* H3 *->
*
* *
*#**
****
ALSOO
'
AL510
'
*****D3**********
*****H(|* *********
* *
* *
* LEFT ADJUST *
* BIGHT ADJUST *
* FI]
LE *
* FI1
LE *
*****************
' HO/01/A1
*****************
♦CONVERT TRACKS *
* TO C/S *
* *
*****************
AL530 V HP/01/A1
*****K3**********
♦DFSBN *
* SET BITS ON *
* *
*****•***•*••****
BA/01/A1
•****K4**********
*NENTBJ_ *
->*S$SSGT- UPDATE *—
* THE SWA *
* *
*****************
Chart HC. Initiator Allocate-Phase Three ($$INA3)
Program Organization 5-161
$$INA4
****H1*********
* ENTER *
* *
***************
. * AST NEH *
. FILES OH F1
*. . *
V BA/01/A1
*****C1 **********
♦NENTRT *
* READ INDEX F1 *
* *
*****************
* IBS ****
■ ***** *
1 * * * G1 *
L->* E1 * * *
* * •***
****
****
t 4
► El *
¥ 4
****
* *.
ANY 'S' *. TES
FILES .*
.*
,*
NO
HD/01/A«
*****D2 **********
♦AL585 *
*****************
" BA/01/A1
*****E1 **********
*NENTRT *
* •
* JJSSVT- READ *
* INDEX R1 *
* *
*****************
*.
*.
****
* *
* (31 *->
* *
****
Gl"
.*
BA/01/A1
*****H1 **********
♦NENTRT *
* READ INDEX F2 *
* *
*****************
HD/01/11
*****f 2 **********
♦AL585 *
->*~ *
* CONFLICT *
* *
*****************
BA/01/A1
*****A3 **********
♦NENTRT *
* *
* SfSSSC- BRITE *
*F5 SECTOR INTO *
♦ SNA *
*****************
♦♦***B3 **********
*****************
*****C 3 **********
*****************
T BA/01/A1
*****D3+ *********
♦NENTRT *
♦ FETCH $11 NAT *
* *
*****************
KH/01/A1
****E3*********
► *
* EXIT *
* *
***************
TO: ALLOCATE
TERHINATE
TRANSIENT (SSINAT)
ANT 'S«
FILES
TES
HD/01/A<(
*****J2 **********
♦AL5B5 *
* CONFLICT *
* *
*****************
IS R2
HEEDED
*. TES
.*
.*
BA/01/»1
*****K2**********
♦NENTHT *
* *
->* SSSSTT- READ ♦--
* INDEX R2 ♦
♦ *
*****************
.* *. ****
.* ANT «S« ♦. TES * *
->*. FILES .♦ >♦ B5 *
AL585
• ***K<I*********
* 4
* ENTEH 4
* 4
***************
****
* *
* Bl» *
* *
****
♦ BA/01/A1
*****B4 **********
♦NENTRT ♦
*****************
V NQ/01/A1
*****CU **********
♦DCLPAF ♦
*****************
n
****
► *
► B5 *
► 4
****
HD/01/AJ
CONFLICT *
*
*****************
****
* 4
» A3 *
¥ 4
****
****
*****E4**********
*****************
► ANT *
HORE ON THE
►. LIST .*
****G4*********
* 4
► RETURN *
► *
***************
****
t 4
* B1 4
♦ 4
♦ ♦•*
AL590
*****P5**********
1 — >♦ FILES *
* *
* *
*****************
****
> *
» E« 4
► ♦
♦ ♦**
TO: CALLBR
*•**
* *
* A3 *
* *
****
**•*
* ' *
* A3 *
* *
•**•
Chart HD. Initiator Allocate-Phase Four ($$INA4)
5-162
SSIHPD
***** 1 *********
« *
* EHTEB ♦
* *
***************
PDSTRT V BA/01/A1
*****B1**** ******
♦NENTRY *
♦ READ INITIATOR
*
* TABLE
*
*
k*
****************
• ••*
* *
* CI *->
* •
****
PDLHTB .*.
PDFAGN
PD
CI *.
*****C2 **********
.* *,.
• *
.* FILE *
SO
* WRITE FOUR *
*. CABD
*. ,. *
* *
*. .*
* *
*. .*
*****************
* YES
**** 1
02-J«*00i»* |
03-C5* D1 *->
03-D1* * 1
**** V
• *•
HE/0VA3
D1 *.
*****D2 **********
.* *..
♦PDBLF1 *
. * PARAMETER *.
NO
*. COHTROL
*
>* BUILD PRE- * .
*. BYT
E .*
* FORMAT ONE * 1
?D0N BA/01/A1
*****C3 **********
♦NCENTR *
*****************
•***E1 **********
DETEBHINE *
CORRECT *
PABAHETBB *
PROCESSING *
BOOTINE *
****************
* EXECUTE *
* PBOCESSING *
* ROUTINE *
* *
*****************
I****
* *
->* D1 *
• •
• ***
*****************
PDPROC
****E3*+*******
* *
* ENTER *
* *
***************
*****P3**********
*****************
**** I
* * I
* G3 *->|
* * I
**** I
PDPMVC V
*****(* 3**** ******
• **•£(«*********
***************
TO: DISK FILE
PROCESSING
PHASE TWO
PARAMETERS:
NAME
LABEL
RETAIN
PACK
B
•••***•**•*******
* UPDATE *
* INITIATOR *
* POIHTEH *
* •
*****************
J3 *.
.* ANY *.
► SUB- *. YES
PARAMETERS .*
*
PACK
• NO
I****
* *
->* D1 *
* *
****
. *
.*
« NO
I****
* *
->* G3 *
• *
• ***
*****j 5* *********
*****************
I****
* *
->* G3 *
• *
• *••
Chart HE (Part 1 of 4). Initiator Disk File Processor-Phase One ($$INPD)
Program Organization 5-163
PDTHKS
****A1*********
* *
* EHTEH *
* *
***************
TBACK
LOCATION
BECOHD
PROCESSOR
*****C1 **********
r ->* NUMBER TO *
| *****************
****
*****D 1**** ******
* DETERMINE *
• PARAHETEB *
* LENGTH «
• *
*****************
****
* *
* G1 *
* •
**••
*****f 2**** ******
*****************
****
*****************
****
PDTCOB
*****Q1** ********
*****************
*****************
SUB-
«
TES
PABAHETEH
*"
* ,
|
* . . *
*- . *
»
* NO
I
****
*
* C1
*
*****
****
♦ 001*
* 01*
Chart HE (Part 2 of 4). Initiator Disk File Processor-Phase One ($$INPD)
5-164
PDUNIT
***8A1*********
* ENTER *
***************
****«31**********
* INITIALIZE *
TUNIT
• PROCESSING
ROUTINE
PDATE
****A3*********
* FNTEri *
* *
***************
*****33******4
*
*
* INITIALIZE
DATE
PROCESSING
ROUTINE
*****************
****
****
PDUCOM
****+C1 **********
*****************
* RE-INITIALIZE *
* TO SEARCH FOR *
* ANOTHER UNIT *
* *
*****************
*****************
****
* *
* C3 *->
* *
***•
COUNT *. NO
LESS THAN .*
. LENGTH .*
.* IS THE
->*. ENTRY
*. FILLED
* PUT CONVERTED *
->*DATE INTO CORE *
* TABLE *
*****************
* NO ****
* *
* C1 *
* •
****
»*■
♦ 00 1*
* D1*
* *
*****************
*****************
IES .* MAS *.
*. NEXT THE
*. SECOND .*
*****************
*****************
HAS
*.
NO
NEXT THE
* —
SECOND
*
*. .*
*. .*
* YES
PDORDN
***»* n i **********
* POT FIRST TWO *
* UNITS IH LAST *
* TWO TABLE *
* POSITIONS *
* *
******** ********t>
••**********••***
I****
* *
->* C3 *
• *
****
*****************
*****
♦001*
* D1*
* *
Chart HE (Part 3 of 4). Initiator Disk File Processor-Phase One ($$INPD)
Program Organization 5-165
PDHIKE
****A1*********
* *
* ENTEh *
* «
***************
PDBLF1
** + *A 3*********
* *
* ENi-EK *
*****B1* *********
****************
♦MOVE HIKEY INTO*
* 29 BYTE RIGHT *
* ALIGNED FIELD *
* *
*****************
*****
♦001*
* D1*
*****B 3 **********
***********
■ ****
* PUT FILE CAHD *
♦ENTRIES INTO F1*
* IMAGE *
* *
*****************
*****************
PDBDON
*****D4 **********
* SET SEQUENCE *
* *#, INDEX #*, *
>* AND ON/OFF *
A * STATUS *
STATUS
****************
* DU *
* *
****
PDSUPT
„, ■*•„ BA/01/A1
RU *. *****E5********>*
► *. *NENTRY *
HIKEY *. YES * *
GIVEN .* >*NRITE F7 IMAGE *
.* * SJSTF7 *
*. .* * *
*. .* *****************
* NO |
■ nun ncTHin . * 1
♦. = S .♦ I
\
.* HORS *. YES
*. PVS ON .* 1
♦.FILE CARD.* I
****
* *
* D4 ♦
* ♦
**♦*
BA/01/A1
***♦♦*♦♦•♦*♦*****
****H3*** ******
***************
TO: SUPPORTED
HALT/SYSLOG
BODTINE
Chart HE (Part 4 of 4). Initiator Disk File Processor-Phase One ($$INPD)
♦ ♦♦♦
♦ ♦
♦ C3 ♦
♦ ♦
**♦♦
*****Qi| **********
♦ ♦
♦ ♦
* CLEAR INDEX *
• *
* *
*****************
PDBRST
♦ ♦♦♦[^♦♦♦♦♦****
*
* RETURN
5-166
$$INDF
****A 1*********
* *
* ENTER *
* *
***************
DFSTRT V BA/01/A1
***** B 1 **********
♦NENTRY *
* LOAD J*SSVT *
* *
******* **********
*****
*002*
* E5*
.*.
JU *.
. * SPACE *.
LOCATION
GIVEN AND
. EQUAL .
*. .*
*****&5* *********
*****************
DFSETF HP/01/A1
*****B5 **********
*DFSBN *
CH *.
*
CHANGE
D1 *.
* IS *.
DEFERED ♦. IBS
MOUNT .*
ALLOWED .*
*. .♦
*. .*
*****D2 **********
* *
♦INDICATOR THAT *
->* DEFEHED HOONT *
* IS ALLOWED *
* *
*****************
*•**
♦003*
* C1 *•->
* UPDATE THE F1 *
*IHAGE FROM THE *
* VTOC *
* *
*****************
*****************
BA/01/A1
*****C5**********
♦NENTHY *
*****************
*****£2 **********
E
*****************
•***
r *
k P1 *
****
DFGET1
*****P1 **********
*****************
♦GET THE NEXT F1*
* *
* *
*****************
DFEOF BA/01/A1
*****02**********
*NENTBI ♦
->*0PDATE F5 IHAGE*-
* ISSSSC *
H1
*.
THIS *. IBS
LEVEL DSING .*
*. UNIT .♦
*. .♦
♦ . .♦
* NO
*****
♦00 2*
* A1*
*****************
.* SAHE
->*. PACK ID ON
*. OHIT
*****
♦002^
* HI*
.* DEFBBED *. TES
MOUNT .♦
*. POSSIBLE .* I
DFXGET BA/01/A1
*****Q4**********
♦NENTBT ♦
*******•*•*•***•*
02-C1 * NO
****
**•*
*•
♦002*
* F1
* E2 *->
* *
****
****
RBH
' BA/01/A1
*****j3 **********
♦NENTBT ♦
*****************
****K3*********
» *
♦ EXIT *
* *
***************
****K4*********
♦ 4
♦ EXIT *
♦ *
*********•**•*•
****Q5*** ******
t *
► EXIT «
» *
***************
. BA/01/A1
*****H5 **********
*NCENTB ♦
*****************
****J5*********
k *
► EXIT *
k *
***************
TO: fSIBDC
PHASE THBBE DISK
FILE PBOCESSOB
TO: SUPPORTED
HALT/STSLOG
INITIATOR PBOGBAH
Chart HF (Part 1 of 3). Initiator Disk File Processor-Phase Two ($$INDF)
Program Organization 5-167
.* DPF
*
. NO
r ->*. SYSTBH
* ,
1 *•
*
1
f *. .*
1 *. .*
t
* * YES
****
* * 1
* *
♦001* 1
* D1 *
* H1*
* *
***** |
****
V
• *.
B1 *.
.*.. IS *.
.♦OTHER LEVEL*
MO
*. USING THIS
* — -- 1
*. UNIT
*"
1
*. .*
1
♦. .*
V
* TBS
|
****
* *
* D1 *
* *
****
.♦.
C1 *.
.* *•
.* CAN I
*.
HO
*. SHARE OMIT
*.
*"
V
*. .*
*****
*. .*
*001*
* IBS
* J3*
****
* *
* *
*
* D1 *->
* *
****
DFGETV V BA/01/A1
*****D1 **********
♦NENTRY
*
*
DFOUMD
***** A3 **********
**** * *
* * *DETERHIBE SIZE *
* A 3 * >* akd LOCATIOB *
*****************
♦READ IB TOLOBE •
♦LABEL (SSSSVT) *
*****************
*****************
*****G1* *********
.* LOCATION
*. TES
.* RETAIN *. YES
>*. SIZE GIVEN
>♦. = A .* •
*. EQUAL
*
*. .*■ 1
*• .*
*- .♦
*. •*
*. .♦ V
* HO
* NO *****
****
♦003^
* *
* A5*
♦ B5 ♦->
* *
* *
*
****
DFDLHT
*****B5 **********
♦SENTRY *
♦ HALT/SYSLOG ♦ .
♦ DISPLAY «U» ♦ 1
* * I
***************** f
*****
♦003^
♦ £«♦
* *
*
' '
DFCHK3 .*.
• ♦.
C« ♦.
C5 ♦.
.* *.
.* *.
.♦ DATE
♦ . YES
. * SIZE OR *. NO
*. GIVEN
>*. LOCATION .* .
♦.
*
♦. NOT = .♦ 1
♦ . .*
♦. .♦
♦. .♦
*. .♦ V
♦ NO
♦ YES ****
E2 *.
.♦ ♦.
.♦ CAN ♦.
->♦. ANOTHER BE .
♦. HODNTED .♦
♦. .♦
V BA/01/A1
*****P2 **********
*NENTRY *
*****************
I****
* *
->* D1 *
* *
****
*****
♦001*
* J3*
****
► *
► El» *->
.♦ LOCATION ♦.
♦.GIVEN AND HOT.
*. » . *
*. .*
****
* i
* rn ♦->
♦ E4*
* *
****
YES ****
**** * *
* ** B5*
->* fif ** *
* * ***•
****
SIZE *. HO
GIVEN AND .*—
. NOT = .*
*****
♦001 +
♦ At*
****
. YES * *
.* >* A3 «
. *
.*
► NO
*****************
****
♦00 1*
♦ H2 ♦->
H1 ♦.
*
RETAIN
*****
*003*
* A5*
*****H2 **********
*****************
' BA/01/A1
*****
♦00 3*
♦ »1*
♦SEARCH FOR FILE*
* BY LABEL •
♦ ISISSVT) *
*****************
.".
K1 *.
♦ *.
****
*
LABEL
*
YES
*
*
FOUND
*
■>♦ A3
*
*.
*
*
*
♦. .♦
***<
♦. .*
♦ NO
1
1
♦ ••**
•00 3*
* A«*
* *
->*
BA/01/A1
*****H5**********
♦NENTRY ♦
HALT/SYS10G~~*
♦ DISPLAY «OJ"
♦ *
*****************
****J5*********
* 4
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
Chart HF (Part 2 of 3). Initiator Disk File Processor-Phase Two ($$INDF)
5-168
DFADOX .*. „•*•„
A1 *. A2 *.
.,* *. . * *•
.* *» TES .* ROOH IH *• HO
f->*. HIKBT „* >*. VTOC FOR IT .* •
*„ .* *. .* I
*. .* *• •* I
*. .* *• •* »
* NO * IES ****
* * *»■>* I I * *
*O02** * J I I D1 I
* H«** Bl *->( I ***.„*
****** • |< J ****
**** V
DFTYPS .*.
B1 *.
..* *.
.* IS THIS *. NO
*. AH • S« FILE ., * i
* „ . * V
*. .* *****
*. .* *0Q1*
* TBS * 81*
* *
*****
♦002*
* K1*
.*.
* *
A4 *
*
. *
I
.* RETAIH
-->*. = A
DFNOTA BA/01/A1
*****A5 **********
♦HEHTET *
C1
*.
. * +.
. * ROOM *. TES
*. FOR AHOTHEH .*
*. FILE .*
V
*. .*
*****
*. .*
♦ 001*
* HO
* E1*
****
* *
• *
*
* D1 *->
* *
****
DFNORH
BA/01/A1
*****D1 **********
♦HEHTRT *
*****************
****E1*********
K *
► EXIT *
n *
***************
TO: SUPPORTED
HALT/STSLOG
*****************
*002*02-A5
* SI*
*****
DFCONX BA/01/A1
*****B5*** *******
♦HEHTRT *
*****************
.* SIZE *
TES
*. GIVER
*. .*
1
*• .*
1
*. .*
*
< HO
****
*
* Bl
*
****
DFHOLL ' BA/01/A1
*****D4**********
♦HEHTBT
*
*****************
****
*002*
* B5 *->
****EI|*********
► *
► EXIT *
¥ *
***************
TO: SUPPORTED
HALT/STSLOG
Chart HF (Part 3 of 3). Initiator Disk File Processor-Phase Two ($$INDF)
Program Organization 5-169
$$INDC
* *
* ENTEB *
* *
***************
****
* *
* B1 *->
* *
****
DCOMPfi V HG/01/F3
*****jj"t** ********
♦DCSHA *
* GET F
♦THIS PRC
FROM *
)G LEVEL*
* »« ♦---.
'* i
****
DCVBFY V HG/01/F3
*****j<l* *********
♦DCSHA *
*****************
*****************
BS *.
.* SAME *.
.♦LABEL, DATE*. NO
->♦. PACK .* .
♦. FOUND .* I
*.
*****C 3 **********
* ♦
* SET DCVBFY TO *
* POINT TO BOLL *<-
* OOT ABEA *
* *
*****************
.♦ MAS *.
.* DUPLICATE *. YES
►. • NAME' .*
♦. FOUND .♦
DCHECK V
*****Q2 **********
* INDICATE ALL ♦
* DUPLICATE *
♦LABELS, DATBS, *-
♦PACKS AND F1'§ *
* *
*****************
DCOHOH V BA/01/A1
*****E2 **********
♦NENTBY *
*****************
DCLABL . .
F1 ♦.
.♦ SANE *.
.♦LABEL, DATE+. YES
♦IPACK IN THIS '.*-
♦. LEVEL
*.
♦ PUT LABEL, ♦
♦DATE, PACK INTO+
♦ LABEL TABLE *
♦ *
*****************
I****
* *
->♦ B1 *
* *
****
*****************
' ****P2 *********
* *
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
* PUT LABEL, ♦
♦DATE, PACK INTO*
♦DUPLICATE TABLED
* *
*****************
I****
♦ *
->♦ B1 *
* *
*♦**
****
* *
->* IH *
* *
**•*
****
» *
* A« «
» *
****
****
* *
* At*
* *
****
. LEVEL IS A .♦ .
♦.NEW FILE .* |
****
* *
+ A4*
HH/01/A1
****D4 *********
* *
* EXIT ♦
* *
***************
TO: SIINDS
INITIATOR DISK
FILE PROCESSOB
PHASE FOUR
DCSHA
****F3+********
♦ 4
♦ ENTER *
♦ 4
***************
" KA/01/A1
*****<; 3 **********
♦NENTBT ♦
♦ LOAD $$SSSC ♦
♦ •
*****************
1 BA/01/A1
*****D5* *********
♦NENTRY *
*****************
****E5 *********
► *
* EXIT *
» 4
***************
TO: SUPPOBTED
HALT/SYSLOG
BOUTINE
H3 *.
.* IS *.
.♦ BECOBD IN ♦.
MAIN
♦. STORAGE .♦
♦. .♦
*. .*
****H4** *******
* *
>♦ RETURN *
A ♦ *
I***************
♦* TO: KSI *3
* H4
> *
****
♦OF CALLER
BI/01/A1
♦ PERFORM *
♦ REQUESTED ♦
♦ OPEBATION ♦
*****************
?
.♦.
K3 ♦.
.♦ ♦.
NO .* END OF *. YBS
— ♦. FILE .*
♦. .*
**** *
* *
♦ Hl» ♦
• *
***•
****KI|* ********
► *
► RETURN *
* 4
***************
TO: CALLER
Chart HG. Initiator Disk File Processor-Phase Three ($$INDC)
5-170
**INDS
*»**X1 *********
* *
* ENTER ♦
* *
***************
DCBEAD
*****B1 **********
*****************
*****£ 1 **********
*****************
* ORDER FILES *
♦LOCATION, P, T,*
*****************
* POT ALL NVF *
* NEXT TO EACH *
* OTHER *
* *
*****************
DSORDR
*****E1 **********
♦PUT HVF OF SXHE*
♦TNDEK NUMBER IN*
* SEQUENTIAL *
* ORDER *
* *
*****************
*****************
*****fl 1**** ******
************
QJ/01/A1
v
<j1*********
*
RXTT *
*
************
TO: SSINP2
INITTATOS PROGRAM
SFTIJP-PHASE TWO
Chart HH. Initiator Disk File Processor-Phase Four ($$INDS)
Program Organization 5-171
S$INPS
*««*i1 *********
* *
* ENTER *
* *
***************
t****B1 **********
* *
* *
* INITIALIZE *
* *
* *
*****************
. ♦ THERE AN *
>«. OBJECT
*. LIBRARY .«
PS011
*****B3 **********
* BOTE OBJECT *
♦LIBRARY ADDBESS*
* INTO PBOGBAH *
* LEVEL COMMON *
* *
*****************
' BA/01/A1
*****C 3**** ******
♦NENTRY *
BA/01/A1
*****jtl»**********
*NBNTBI *
* DISPLAY JJ *
* *
*****************
****A5*********
* *
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG ROUTINE
* LOAD $$SSSC *
* *
*****************
**•*
* •
* H2 *
* *
****
* BA/01/A1
*****£ 1 **********
•NENTBY *
*****************
****F1*********
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
BA/01/A1
*****D2**********
♦NENTRY *
* LOAD SSSYLA *
* *
*****************
*****E2**********
* *
* MOVE SYSTEM *
* QUEUE INTO *
* PROGRAM QUEUE •
* *
*****************
*****F2 **********
* *
* MOTE SYSTEM *
* NAME INTO •
* PROGRAM NAME •
* *
*****************
•****Q2 **********
* *
* *
* RESET 16 *
* *
* *
*******••*•*•***•
**••
* *
* H2 *->|
* *
*••*
.*.
H2 *.
• * ' *•
.* UTILITY *. YES
*. USING LOAD .*
*. UNIT .*
*****C4 **********
* *
* HOVE PROGRAM *
->*NAHE INTO FIND *
* PARAMETER *
* *
*****************
***•
BA/01/A1
* $$SPFN- FIND *
♦NAME IN OBJECT *
* LIBRARY *
*****************
*****
•002*
* Al*
. *.
F<t *.
.•PROGRAM*.
PS0109 BA/01/A1
*****H3 **********
♦NENTBY *
*****************
* UNIT «
USED BY
OTHER
LEVEL
BA/01/A1
*****f5********V*
*NENTBY *
* DISPLAY HC *
• *
********•**••***•
****Q5 *********
* *
* EXIT *
* *
******•****•••*
TO: SUPPORTED
HALT/SYSLOG ROUTINE
PS0129 BA/01/A1
*****H5* *********
♦NENTBY *
*****J2 **********
*****************
*****K2**********
•NENTBY *
* — •
* *-
* LOAD SSSSTT *
* *
***•**••*•*•••••*
*****************
****j3*********
* *
* EXIT *
* *
******•••*•*•**
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
JV/01/A1
*****K3 **********
•SSSSVT *
*****************
BA/01/A1
*****j4**********
•NENTRY *
* DISPLAY HJ *
• *
•****♦♦♦*•••*••**
I****
• *
->* D» *
• •
• **•
**•****•*••**•••*
****J5******»*»
HALT/SYSLOG ROUTINE
• •••
• •
->♦ A3 ♦
♦ ♦
♦ ***
Chart HI (Part 1 of 3). Initiator Program Setup-Phase One ($$INPS)
5-172
BA/01/A1
.* HAS *. YES
->*. THERE BEEH .*
*. BOLLOUT .*
*001*
* EU*
*****
*****gl **********
* NOTE BELEASE *
* LEVEL IHTO *
* PROGRAM LEVEL *
* CONNON *
* *
*****************
*****C1 **********
* *
* INDICATE PACK *
* ASSIGNED TO *
* PROGRAM •
* *
*****************
" BA/01/A1
*****D1 **********
♦HENTRY *
* *
* JfSSSC- NRITE *
* F5 BACK IHTO *
* SECTOB *
*****************
*****************
****B3 *********
»****X1* *********
[->*AVAILABLE BAIN •
* STORAGE *
* *
*****************
**
*****B5* *********
I :
****
*****CI| **********
* *
* RECALCULATE *
* USING ALL 0? *
* LEVEL 2 *
* *
****•****••*•****
*****E2** ********
* *
•INDICATE SODBCE*
->* REQUIRED FOB *
* PHASE TNO *
*****************
****
* *
* G1 *
****
B*^2J^» 1
BAS // *. rES
COMPILE . *
GIVEN .*
*****************
" BA/01/A1
*****B4**********
♦NENTRT *
*****************
****plj*********
* *
* EXIT- *
« *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
****
*****g1 **********
*****************
•***
* *
* G»t *—
* *
****
ENOUGH
MAIN
STORAGE
' BA/01/A1
*****j2 **********
♦NENTRI *
***•**•****••••*•
*****gg**********
*****************
.♦IS THIS*.
•*A> INQUIRY ♦ . YES
►. INVOKING .*
*. PROG .*
****************
*****
*003*
* B1*
BA/01/A1
*****D5**********
*NCENTR *
*****************
*•*•
* *
* B5*
* •
**•*
****f 5 *********
***************
TO: $*SPBJ-
EHD OF JOB
TRANSIENT
BA/01/A1
*****q 5**** ******
♦NEHTRY ♦
**•**•******••**•
****H5*********
* *
* EXIT *
* *
***•****•*••••*
TO: SUPPORTED
HALT/SYSLOG ROUTINE
BA/01/i
*****j5 *********
♦NENTBI
****************
* DETBRHIRE *
♦AVAILABLE MAIN *
* STORAGE *
* *
*****************
*****
♦003*
♦ B1*
****K2 *********
• •
► EXIT ♦
» •
*****•*••***•**
TO: SUPPORTED
HALT/ST SLOG ROUTINE
****K5*********
• •
♦ EXIT »
* •
***************
TO: SUPPORTED
HALT/SYSLOG ROUTINE
Chart HI (Part 2 of 3). Initiator Program Setup-Phase One ($$INPS)
Program Organization 5-173
*****
02-B5*002*
* J<4*
.♦IS THE *.
.♦OTHER PROG <
►. LEVEL
*. FREE . *
V BA/0 1/A1
*****C1 **********
♦NENTBY *
* *
* BEAD OTHER *
* LEVEL'S INDEX *
* S3SSSC *
*****************
PS0235 BA/01/A1
*****C3 **********
♦NENTBY *
*****************
. * THIS *. TES
. PBOGHAH AN .*
*. INQUIRY .*
.* DOES *.
.* THIS PROG *. TES
►. NEED A DED .*
*. SYSTEM .*
.*
» NO
****
* *
->|<-* F1 *
* *
****
* OTHER *.
PROG BAH AN .
*. INQUIRY .*
****D4*********
* *
* EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
PS0 2U5 BA/01/A1
*****E2 **********
♦NENTHY *
, *.
*.
PS0255 V BA/01/A1
*****G 1**********
♦SENTRY *
*****************
****P2 *********
♦ *
♦ EXIT *
♦ *
***************
TO: SUPPORTED
HALT/SISLOG
ROUTINE
•****H1 **********
* *
* HOVE PROGRAM *
♦ATTRIBUTE INTO *
* THE INDEX *
* *
*****************
BA/01/A1
WRITE THIS
T BA/01/A1
*****K 1**********
♦1ERTBY •
» FETCH SJIHPD *
* *
••**•***•****•*•*
HE/01/A1
****J2 *********
* *
* EXIT *
* *
***•*******••*•
TO: SSINPD
INITIATOR DISK
FILE PROCESSOR - PHASE ONE
Chart HI (Part 3 of 3). Initiator Program Setup -Phase One ($$INPS)
5-174
P2000
* 4
* ENTER *
* 4
***************
*•***]) 1**********
INITIALIZE
*****************
*****A5 **********
* * $$CLOZ * *
* * CLOSE * *
* * SSOUBCE * *
FILE
* *
* *
*****************
" BA/01/A1
*****]) j**********
♦NENTRY *
* *
* ALLOCATION *
* INITIATOR *
* SSSTAI *
*****************
*****]; 1 **********
*****************
P1 *.
.* *.
► source *
froh source
► . LIBRARY .*
*. .*
*. .*
* TES
1
*****************
* C2 *
* *
****
*****C3*** *******
* RELEASE STSIN *
DEVICE AND *
SCHEDULER *
* INTERLOCK *
* *
*****************
->*
* BA/01/A1
*****D3 **********
♦NENTRY *
*****************
****B3 *********
► *
* EXIT 4
» 4
***************
*****B 5**** ******
* * * *
* * ISCLOZ * *
* *CLOSE SHORK* *
* * FILE * *
* * * *
*****************
*****C5 **********
* SET OP THE *
* QUEUE AND *
* ADDRESS FOR *
» $SOURCE FILE *
* *
*****************
*****D5 **********
* SET UP THE *
* QUEUE AND *
* ADDRESS FOR *
* SNORK FILE *
* *
*****************
BA/01/A1
*****P2 **********
♦NENTRY *
BA/01/A1
*****G1 **********
♦NENTRY *
.1.
« 4
► F2 *
► 4
****
♦ HALT/SYSLOG *
* *
*****************
BA/01/A1
*****F4**********
♦NENTRY *
>♦ HALT/SYSLOG *—
* DISPLAY «H»« *
* *
*****************
*****G4**** ******
****F5*** ******
* *
* EXIT *
► *
***************
* LOAD JtSSSC *
* *
*****************
BA/01/A1
***** H 1 **********
♦NENTRY *
*****************
**♦*
♦002*
♦ F1 *->
BA/01/A1
*****ji1**********
♦NENTBY *
♦ LOAD SSSYSG ♦
♦ ♦
*****************
4 BA/01/A1
*****K1 **********
♦NENTRY *
*****************
*****************
♦ 002^
♦ en*
•♦♦♦*
*****K3 **********
* * * *
* * $tCSOP ♦ ♦
* ♦CONSECUTIVE^ ♦
* * OUTPUT ♦ *
* * * •
*****************
NO .
*
END OF
r
*.
FILE
♦. .*
♦. .♦
****
♦ YES
♦
1
F2 ♦
*
1
*****H ||**** ******
* * * *
* * $$CSOP ♦ ♦
* ♦CONSBCUTIVE^ *
* * OUTPUT ♦ ♦
* ♦ * *
********♦♦♦♦**♦♦*
****
♦ *
-->♦ A5 *
♦ 4
♦ ♦♦♦
BA/01/A1
*****R||**********
♦NENTRY ♦
♦♦♦*********♦♦♦♦*
****K5*** ******
* 4
->* EXIT ♦
* •
***************
*****
•'002*
* B1*
Chart HJ (Fait 1 of 2). Initiator Program Setup-Phase Two ($$INP2)
Program Organization 5-175
*****
♦001*
* K1*
HAS *.
SOURCE
FOUND .*
BA/01/A1
*****C2 **********
♦NENTRY *
*****************
BA/01/A1
***+*D2 **********
♦NENTHY *
****C3*********
* *
->* EXIT *
* *
***************
***+D3 *********
* *
* EXIT *
► *
***************
*****
♦001*
* G4*
BA/01/A1
*****Q5 **********
♦SENTRY *
*****************
****C 5 *********
► *
* EXIT *
k 4
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
*****************
" BA/01/A1
*****Dt| **********
♦NENTRY ♦
*****************
" BA/01/*1
*****E1 **********
*NENTRY ♦
*****************
****G1*********
» *
N EXIT •
► *
***************
¥
*****
♦001*
* J1*
Chart HJ (Part 2 of 2). Initiator Program Setup-Phase Two ($$INP2)
5-176
PAITBK
****A1*********
* *
* ENTEB *
* *
***************
*****31 **********
*****************
*****C1 **********
* INITIALIZE *
♦FIELDS - SUB = *
*0 LEN = HECORD *
* LENGTH *
* *
*****************
D1
*
LEN
*****D2 **********
►**D3******«
->* LEN = LBN-1
*****************
*****************
*****F1 **********
LEN - LEN+1
*****••***•***•**
*****g 1 **********
*****************
****[I1*********
► 4
* HETUHN *
• *
***************
TO: CALLEB
*****E2 **********
->* LEN = LEN+1
••*******••***•*•
*****E3 **********
* *
* *
->*SUH = SUM-61«4 *
* *
* *
*****************
Chart HL. Initiator Allocate Support-Convert Records to Tracks (PAITRK)
Program Organization 5-177
PAINDX
****A1*********
+ 4
* ENTER »
♦ 4
***************
»***g 1**********
*****£ 1*********4
* INITIALIZE *
•AREAS - KETL = *
♦KEY+3 NONB » *
* SIZE =0 *
* *
*****************
*****[)1 **********
*****************
•****F1 **********
* HOVE RECORD *
* NUMBER INTO * *
♦RECS = SECTOR **
* TRACK = *
* *
*•••**••********•
•****g2 **********
* *
* J. *
->* NOrfB = NUBB*1 *
* *
* *
*****************
Gl *.
.* *.
* IS # *
RECS < NDHB
»****G2 **********
*****************
****(-, 3 **********
****************
t****n1**********
*****************
»***»J2****«
*****************
»****j 3*********4
► TRK = TRK+1 «
*****************
*****K1 **********
* *
* *
* TRK = TRK+1 *-
* *
* *
*****************
•****K2**********
************
*****K3***+******
♦MOVE TRKS (FOR *
* INDEX) INTO *
->*TE!tP INDEX TRK *-
*****************
****K4*********
* 4
» RETURN *
► 4
***************
TO: CALLER
Chart HM. Initiator Allocate Support-Determine Size of Index (PAINDX)
5-178
PARTEN
a***A 1*********
* 4
* ENTEB *
* 4
***************
*«***B1 **********
*****************
*****C1**********
****************
• «*•*[) 1 **********
* *
•PUT KEY LENGTH *
• AND BEC LENGTH *
•INTO WORK AEEAS*
* *
*****************
" HN/01/A2
*«***g1**********
♦KEYS *
*****************
HN/01/A3
•****P1 **********
♦INDEXES *
* *
* PIND THE IOF»
* INDEXES PEB *
* TBACK *
** ***** 41* ********
" HB/01/F1
•****G 1**** ******
♦ACCURACY »
* MULTIPLY I OF *
* INDEXES PEB *
* TRACK BY 10 *
*****************
HN/01/A5
*****H1**********
•RECORDS *
* *
* FIND THE * OF *
* RECORDS PER •
* TRACK *
*****************
*****j^*« *'*******
* *
* INITIALIZE *
* NECESSARY *
* FIELDS *
* *
*****************
****A2*********
* *
» ENTEB 4
» 4
***************
INDEXES
****A 3 *********
* 4
* ENTER *
* 4
***************
I
****B2**********
****************
*****C2 **********
* *
* *
* DIV = DIV+1 *
* *
* *
*****************
♦****E2 **********
***•*****•*•*•***
*****C3 *********
*
•H0RK2 = W0RK2 ♦
****************
««***D3 *********
*
-* DIV = DIV-1
*
*
****************
•***E3*********
• *
• RETURN *
• 4
***************
TO: CALLER
*****H2 **********
*****************
*****q3 **********
*****************
»****(] 3 **********
* *
♦ADD A TRACK OF ♦
♦ INDEXES TO * ♦
♦ INDEX ♦
* *
*****************
*****j2 **********
*********
***** K2 **********
* *
* SET # TRKS IN ♦
>♦ F1 AS ♦ -
♦ APPORTIONED ♦
♦ *
*****************
****K^«********
« 4
* HETUKN *
* 4
***************
TO: CALLER
****BH** *******
• *
* HETURN *
t *
***************
TO: CALLER
****C« *********
» *
• RETURN ♦
* *
***************
TO: CALLEB
ACCUBACY
»***pt|* ********
* *
* ENTEB ♦
* *
***************
»****Q4*« ********
• *
* *
♦ DIV =10 ♦
♦ *
* *
*****************
*•**
• m *->
♦ ♦
****
RECORDS
****A5******«*
♦ 4
♦ ENTEH ♦
♦ 4
***************
*****jH**********
* *
* *
* HORK2 = 61«U ♦
* *
* *
*****************
► ***KI|*********
4
RETURN 4
4
***************
TO: CALLER
*****D5 **********
* *
♦ . HOBK2 « •
* HOBK2-BECL ♦
♦ ♦
• •
*****************
♦***E5 *********
***••**•*•*•***
E3
*****H 5 *********
****************
*****J5* *********
* *
* *
* DIV = DIV-1 ♦
* *
* *
*****************
i *•**
] * *
Chart HN. Initiator Allocate Support-Track Apportioning (PARTIN)
Program Organization 5-179
PAGTBK
****&1*********
* 4
* BHTEB *
* «
***************
*****B1 **********
**********'*******
CI *.
»
IS TBK
*****qi**********
*****C2 **********
->* TBK - TBK-8 *-
*****************
»***C3**** ******
->* DISP » DISP-1 *
*****************
*****************
*****yi **********
* *
♦HOVE WOBK AREA *
* TO OSEB TBK *
* A8EA *
* *
*****************
****G1*********
* *
* BETUBS *
* *
***************
TO: CALLEB
*****E2 **********
*****************
*****B3 *********
*
*
->* TBK = TBK-1
*
*
****************
Chart HO. Initiator Allocate Support-Traek Conversion (PAGTRK)
5-180
DPSBN
****A1 *********
* 4
* ENTEB *
* 4
***************
DFSCVT
****A3*********
* 4
* ENTER *
* *
***************
»****B1 **********
*****B3 **********
*****************
*****************
*****C1**********
* MOVE STABT OF *
* INDEX ADDBESS *
* INTO *
* INSTBUCTION *
* *
*****************
*****D1 **********
* •
* DOVE END OF *
* DATA ADDBESS *
* INTO STOBAGE *
* •
*****************
HP/01/A3
**•*•]; 1 **********
♦DFSCVT *
**•*•••*•*•****••
HO/01/A1
*****p1 **********
•PAGTBK *
* __ •
* LOAD IB2 WITH *
* TBACK # OF *
* STABT *
•***•**••••**•***
HP/01/A3
*****QJ **********
♦DFSCVT *
I, ****************
*****C3* *********
**•*****•****•**•
.* IS c <
*****D(| **********
L
->* TBK « TBK+2 * —
**•**•***•**•*•**
*****D5*********
•***•••*••••••*•
*****p 3 **********
* *
* *
* TBK « TBK ♦ 1 *
* *
* *
*****************
•***G3 *********
t *
• BETOBN *
k *
**•***•*••**•*•
TO: CALLEB
¥ HO/01/A1
i***01**********
PAGTBK *
*****************
****
* 4
* J1 *->
* 4
**♦»
Mi***J1 **********
* *
* *
* TURN ON BIT *-
* *
* *
*****************
t***K2 *********
*
RETURN *
4
4**************
TO: CALLER
*****j3**********
4****************
THEHE
AN .*
OVEBFLOH .*
*.
.*
*.
*
*
YES
1
*•**
* *
L
->* J1 *
* *
• •*•
*****J5 **********
* *
•* Q = X'01" ♦
* •
* *
*****************
*****K5*******4
4***************4
•>* J1 4
4 4
****
Chart HP. Initiator Allocate Support-Set Bits On (DFSBN)
Program Organization 5-181
DCLPAF
****A1 *********
* *
* ENTEB «
* *
***************
*****B1 **********
*****************
WHS THE *. TES
LOCATION .*
. GITEN .*
*. .*
*****C3**** ******
* INDICATE *
* OVEBLENGTH *
>* BBGOEST IB *
* BETOBN CODE *
* •
*****************
*****D1 **********
* *
* SET Q AMD *
•DISPLACEMENT TO*
♦STABT OF INDEX *
* *
*••*•**•••**••***
**•*
* El *->
* •
****
B1*
A^zmsiai
* SET AMD *
♦DISPLACEMENT TO*
* LOC. VALOE *
****•***•******••
*****E2**********
****D3*********
* *
* BETOBN *
* 4
***************
TO: CALLBB
. *
.*.
El *.
• *IS THIS*.
THE
LOCATION
QITEN .
•*••*•**•*******•
.* IS THIS
. FIT BETTEB
♦.THAN LAST.
****
* 4
► E1 ♦
* 4
****
.*
• •*•
* *
* G1 ♦->
* *
****
Gl"
♦•♦♦♦F3 **********
BE DSED
* *
*****************
*****H1***« ******
* *
* INDICATE ♦
* COBBECT SIZE ♦
* FODHD ♦
* *
*****************
****J1*********
* *
► RETURN *
► 4
***************
TO: CALLER
•****H2 ******♦♦♦*
* *
* INDICATE *
* CORRECT SIZE *
* NOT POUND ♦
* *
*****************
**••
* *
* G1 *
* 4
**•*
*****H» **********
*****************
*****j^ **********
* *
* INCEEMENT *
* COUNTER FOR *
* FHEE THACKS *
* *
*****************
I ****
* *
L->* R1 *
* *
****
Chart HQ. Initiator Allocate Support-Determine Possible Allocation Fit (DCLPAF)
5-182
Section 4. Directory
Figure 5-56 contains the Directory entries for the Scheduler.
E3
Program Organization 5-183
1 11 11. 1 1 U I J I 1 i i i . . 1 1 I 1 1 u . U 1 1 1
Phase Name
$$TMIP
$$TMEO
$$TMEJ
$$TMRI
$$TMSB
$$TMSI
$$TMSK
$$TMDS
Chart ID
EA
EB
EC
ED
EE
Descriptive Name
Terminator IPL Initialization
EF
EG
EH
Terminator End of Job— Phase One
Terminator End of Job— Phase Two
Terminator Re-Initialization
Terminator Standby Routine
Terminator Sysin Initialization
Terminator Key Sort
Terminator Duplicate Key Scan
Reader/Interpreter
en i erminaior uupncaie ivey i>can
Model 6
$$RBIP
$$RBCO
$$RBBC
$$RBCC
$$RBCL
$$RBCP
$$RBCD
$$RBCK
FA
FB
FC
FD
FE
FF
FG
FH
Conversational Scheduler Initializor
Scheduler Control
Build-Chained Cycle
Call Control
Call Cycle
Positional Statement Processor
Data Type Statement Processor
Check Keyword
Figuie 5-56. Scheduler Directory (Part 1 of 4)
5-184
Function
• Initializes the scheduler area of the system communication
region
• Allocates the system input/output devices
• Performs the initial setup of the SWA
• Creates an entry in the VTOC for every new file that
was used during the past phase
• Updates the existing VTOC
• Re-initializes the: Swa, program level and system
communication regions
• Issues end of job halts
DPF — —
• Ensures that the current level has enough main storage
• Expands to a minimum of 4K if current level is level two
• Determines the status of the Sysin device
• Set up the program level communication region to reflect
the system input device
• Determines the type of format one labels
• Reads the key of all indexed load or add files
• Scans the keys for duplicates
Determines mode, conversational or disk system (D)
Passes control to $$RBCO for conversational mode,
to $$RDML for D mode
Loads Control Table
Writes encoded control statements to the SWA
Determines cycle type: LOAD, BUILD, CALL, or
BUI LDC (chained)
Prompts operator for responses to construct chained
procedure
Prompts operator for call name and unit
Gets first record or procedure
Passes control to Call ($$RBCL)
Determines if Chained procedure was called
Loads the processing modules for the OCL in the
procedure
Writes the OCL to the SWA
Identifies type of statement
Writes compressed statements to SWA
Processes positional type parameters
Processes data type statements
Processes keyword type statements
Phase Name
Chart ID
Descriptive Name
Function
$$RBMY
Fl
Modify
•
Allows the operator to change and/or add to OCL given
in LOAD, BUILD, or CALL
$$RBM1
FJ
Procedure Library
Scheduler Interface
•
Reads responses from SWA and writes them to the
procedure library
$$RBM2
FK
Utility OCL Processor
•
•
Includes and modifies utility OCL during BUILD, then
writes it to the source library
Displays and modifies utility OCL during CALL
$$RBRN!
FL
Run Processor
•
Writes initiator information to the SWA
$$RBIN
FM
Interaction Routine
•
•
Completes building of the prompt buffers
If error occurs, sets up error code to pass to Error
Logging Routine ($$SLSE)
$$RBDS
FN
Date/Switch
•
•
•
Obtains OCL for Date and Switch statements during
LOAD and BUILD
Syntax Checks the OCL
Writes correct OCL to the SWA
$$RBSW
FO
Switch Processor
•
Sets UPSI switches
$$RBDT
FP
Date Check
•
Syntax checks date parameters
$$RBLG
FQ
Log
•
•
•
•
Prompts for logging device
Finds supported halt/syslog module
Finds supported sysin module
Writes the C/S of the halt/syslog and sysin modules to
the system communication area
$$RBFM
FR
Forms
•
•
Prompts for the device and the number of lines per page
Writes the device and the number of lines per page to the
system communication area
$$RBHI
FS
Hi Key
•
Prompts and processes responses for HIKEYs during
LOAD, BUILD, or CALL
Disk System
$$RDML
GA
Reader/Interpreter Mainline
•
•
•
•
•
Reads control cards
Performs syntax check on control cards
Encodes OCL statements containing keyword parameters
Finds override statements to procedures
Calls the appropriate control card processor
$$RDLC)
GB
// LOAD Control Card Processor
•
•
Performs syntax check on // LOAD control card
Places name and unit in program level communication
region
$$RDRN
GC
// RUN Control Card Processor
•
•
•
•
Closes initiator table
Sets up for reading procedure additions
Checks the cancel condition code indicator
Changes the system mode from INTRA to INTER
$$RDFl.
GD
//FILE Control Card Processor
•
•
Insures the syntactical correctness of the // FILE control
card
Loads the control card data into the scheduler work area
$$RDDT
GE
// DATE Control Card Processor
•
•
Insures the syntactical correctness of the // DATE control
card
Loads the date found on the control card so that it can be
used as the system date for the current program
Figure 5-56. Scheduler Directory (Part 2 of 4)
Program Organization 5-185
Phase Name
$$RDSW
$$RDIM
$$RDCM
$$RDFM
$$RDLG
$$RDPS
$$RDHN
$$RDRR
$$RDPN
$$RDCL
$$RDS3
$$RDMK
Chart ID
GF
GG
GH
Gl
GJ
GK
GL
GM
GN
GO
GP
GQ
Descriptive Name
// SWITCH Control Card Processor
// IMAGE Control Card Processor
// COMPILE Control Card Processor
// FORMS Control Card Processor
// LOG Control Card Processor
// PAUSE Control Card Processor
// HALT, // NOHALT Control Card
Processor
// READER Control Card Processor
// PARTITION Control Card Processor
// CALL Control Card Processor
Positional Parameter Syntax Scan
FILE Diagnostics and Merge Keyword
Parameters
Function
• Insures the syntactical correctness of the // SWITCH
control card
• Sets the corresponding UPSI switches to reflect the
control card
• Modifies the chain image area to reflect the current
print chain configuration
• Syntactically checks the encoded parameters
• Places source name and unit in the scheduler work area
• Indicates the number of printable lines per page on the
system printer
• Ensures the syntactical correctness of the // LOG
control card
• Indicates the system's logging device
• Issues an advance program level HALT
• Indicates whether or not a normal end of job HALT
will occur
• Ensures that the specified device is correct
• Indicates the specified device as the system input device
• Determines if the requested partition change can be
supported
• Indicates the maximum amount of program level 2 storage
• Ensures the syntactical correctness of the // CALL control
card
• Locates the specified procedure
• Reads procedure additions and/or overrides into the
scheduler work area
• Scans a specified area for parameters
• Encodes the parameters
• Ensures that the encoded parameters are syntactically
correct
• Does end of statement diagnostics on // FILE statement
• Merges procedure // FILE statements and override
// FILE statements
Initiator
$$INA1
$$INA2
$$INA3
$$INA4
$$INPD
HA
HB
HC
HD
HE
Initiator Allocate— Phase One
Initiator Allocate— Phase Two
Initiator Allocate— Phase Three
Initiator Allocate— Phase Four
Initiator Disk File Processor— Phase One
Calculate the required disk storage needed for the format
one images that have DTFs, updating SWA
Builds a composite image of all tracks allocated on all units
needed for file allocating
Allocates file space in format ones
Dequeues all S files
Recalls the Allocate Termiantor ($$INAT)
Decodes the //FILE control cards
Transfers the // FILE information from the control card
to the format one pre-image located in the SWA
Figure 5-56. Scheduler Directory (Part 3 of 4)
5-186
Phase Name
$$INDF
$$INDC
$$INDS
$$INPS
$$INP2
$$INMS
Chart ID
HF
HG
HH
HI
HJ
HL-HQ
Descriptive Name
Initiator Disk File Processor— Phase Two
Initiator Disk File Processor— Phase Three
Initiator Disk File Processor— Phase Four
Initiator Program Setup— Phase One
Initiator Program Setup— Phase Two
Initiator Allocate— Support Routines
Function
• Performs pre-processing of disk files by creating format
one images in the scheduler work area (SWA)
• Determines the current program level
• Ensures that within the program level, no two files have
the same name, and that the file label and date is unique
for each pack
• Sorts the format one images into the order required by
the Allocate routine ($$INA1)
• Determines if the program can run
• Moves source information into a source file
• Allocates disk storage for the source and work files
• Fetches requested program
• PAITRK— Converts records to tracks
• PAINDX— Determines the size of the index
• PARTI N— Apportions tracks
• PAGTRK-Converts tracks
• DFSBN-Sets bits on/off
• DCLPAF— Locates possible allocation fit
Figure 5-56. Scheduler Directory (Part 4 of 4)
Directory 5-187
5-188
PART 6.
E
TRANSIENT AND SCHEDULER SUPPORT
1111
iil
III
Transient and Scheduler Support 6-1
6-2
Section 1. Introduction
The routines that are described in this part of the logic
manual are called by more than one program. The Method
of Operation and Data Area Formats associated with the
following routines are described within the discussion of
the calling program. This part of the document contains
only the Program Organization and Directory sections.
E
Introduction 6-3
6-4
Section 2. Program Organization
The following section describes, in detail, the organization
of the Transient and Scheduler Support routines. Included
in the following discussions are:
• Descriptions containing: name of the routine, input,
output, function, and exits (both normal and error)
from the routine
• Main storage map showing the routines that are found
in main storage at the same time as the routine being
described
• Flowcharts showing the functional flow of the routine
being described
• Parameter list (when applicable) needed for the use of
the routine being described
► System Input Device-MFCU/1442 ($$STIM)
CHART: JB
FIGURE: 6-1,6-2
ENTRY POINT: $$STIM
FUNCTION: Provides the logic needed to support the
MFCU/1442 as a system input (Sysin) device.
INPUT: Register 2 contains the address of a 7-byte
parameter list shown in Figure 6-2.
OUTPUT:
- The function byte (first byte in parameter list) is
changed to a return code for the caller.
- The record is returned to the user in the buffer
pointed to by CURENT. The buffer pointed to by
NEXT is being filled, if double buffering is requested.
EXIT: Calling routine after the record has been read in.
Note: $$STIM can be used within user's core as well
as within the transient area.
E
► System Input Device-Console ($$STIC)
CHART: JA
FIGURE: 6-1,6-2
ENTRY POINT: $$STIC
FUNCTION: Provides the logic needed to support the Con-
sole as a System input (Sysin) device.
INPUT: Register 2 contains the address of a 7-byte param-
eter list shown in Figure 6-2.
OUTPUT:
- The function byte (first byte in parameter list) is
changed to a return code for the caller.
- The record is returned to the user in the buffer
pointed to by CURENT.
EXIT: Calling routine after the record has been read in
Note: $$STIC can be used within the user's core as
well as within the transient area.
X'OO'
X'100'
3K or 4K
Supervisor
n
Transient Area: '$$$$&$$$$$■,
m
iii
I
m
m
User
A/
Figure 6-1. Main Storage Map showing Location of Transient
Area
Program Organization 6-5
Byte
I
1 I 2
Byte
1-2
3-4
5-6
Contents
This byte is used as a means of communication
between the user and the Sysin routine.
Function
X'OO' Indicates, swap the two buffers; wait on
current and start filling the next buffer.
X'01 ' Indicates that there is not a previous
request pending.
X'02' Indicates, swap the two buffers; wait on
the current buffer, return when done —
do not start on the next buffer.
X'04' Determine the two buffer addresses and
the work area address from a block of
271 bytes on a 128-byte boundary.
X'08' This is a single buffering request; start
filling the next buffer and wait until
done, then swap the buffer addresses.
X'FO' ENTER— allowed during conversational
OCL entry.
X'EO' ENTER- is not allowed during
conversational OCL entry.
X'10' ENTER— is allowed during non-
conversational OCL entry.
For all other codes of the form X'xO', ENTER- is
not allowed.
Return Codes
X'20' The current request is complete.
Input was terminated by ENTER—.
X'40' The buffer pointed to by CURENT is
ready. The buffer pointed to by NEXT
is being loaded if double buffering is
being used.
X'50' End of file for buffer pointed to be
CURENT.
X'60' Hardware error. Cancel job.
X'80' /* or /& was previously read. Only the
Reader/Interpreter can now read from
the device.
This area contains the address (at label NEXT) of
the next buffer. The buffer is 96 bytes on a 128-
byte boundary.
This area contains the address (at label CURENT)
of the current buffer. The buffer is 96 bytes on
a 128 byte boundary.
This area contains the address of a 47-byte work
area.
► Model 6 System Input Device-Keyboard/Printer
($$STIP, $$STIS)
CHART: JC
FIGURE: 6-1
ENTRY POINTS:
- $$STIP
- $$STIS
FUNCTION:
- Provides the logic to support the Keyboard/Printer
as a Sysin device.
- Provides Console support, input from the keyboard
to be displayed on the printer.
INPUT: XR2 points to the sysin parameter list.
OUTPUT: Input is placed in the current buffer.
EXIT: To the next sequential instruction of the caller
► Model 6 System Input Device-Data Recorder ($$STID)
CHART: JD
FIGURE: 6-1
ENTRY POINT: $$STID
FUNCTION: Provides the logic to support the data recorder
as a Sysin device by:
1 . Building a DTF in the sysin work area as follows:
Byte
1
Data Recorder
DTF
30
31
IOB 1
35
36
IOB2
40
41
Register Save Area
44
45
Reserved
47
Byte
2. Calling the data management module that reads
the cards ($$SLZO) (see IBM System/3 Disk
Systems Data Management and Input /Output
Supervisor Program Logic Manual, SY21-0512).
INPUT: XR2 points to the sysin parameter list.
OUTPUT: Input from the Data Recorder is placed in the
current buffer.
EXIT: To the next sequential instruction of the caller
Figure 6-2. Parameter List for the System Input Device Routines
6-6
Model 6 System Input Device-CRT ($$STIT, $$STIX) ► Halt/Syslog-Console Printer ($$STOC)
CHART: JE
FIGURE: 6-1
ENTRY POINTS:
- $$STIT
- $$STIX
FUNCTION: This routine supports CRT displays. It per-
forms two transient loads:
1. $$STIT
2. $$STIX
INPUT: XR2 points to the sysin parameter list.
OUTPUT: Updated sysin data buffer and CRT displays on
screen
EXIT: The next sequential instruction of the caller
► System Output Printer Error Recovetry ($$STEP)
CHART: JF
FIGURE: 6-1
ENTRY POINT: $$STEP
FUNCTION:
- Calls the IOS Error Logging Routine ($$DLOG) to
log any error found on the 22LC Printer.
- Issues a halt to indicate the error condition to the
operator.
INPUT: The Q, R, and SNS values are passed from the
Halt/Syslog-Printer routine ($$STOP).
OUTPUT: An error log parameter list is passed to the IOS
Error Logging Routine ($$DLOG). See the IBM
System/3 Disk Systems Data Management and Input/
Output Supervisor Logic Manual, SY21-0512.
EXIT:
- Normal: Halt/Syslog-Printer routine ($$STOP)
- Error: EOJ transient ($$SPEJ)
CHART: JG
FIGURE: 6-1
ENTRY POINT: $$STOC
FUNCTION: Supports the console printer as a system
logging (Syslog) device by performing any of the
following four functions:
1. Output only.
2. Halt with system message.
3. System message only.
4. Halt only.
INPUT: Register 2 contains the address of the Halt/Syslog
parameter list. See Appendix B. Diagnostic Aids for
Halt/Syslog parameter list format.
OUTPUT: Halt and/or message printed on the console
printer.
EXIT:
— Normal:
1 . Calling routine after completion of the system
message
2. $$STOH if a halt was requested
- Error: End-of- Job transient ($ $SPE J) if an immedi-
ate cancel was requested.
Note: $$STOC can be used within user's core as well
as within the transient area.
► Halt/Syslog-Printer ($$STOP)
CHART: JH
FIGURE: 6-1
ENTRY POINT: $$STOP
FUNCTION: Supports the printer as a system logging
(Syslog) device by performing any of the following
four functions:
1 . Program output only.
2. Halt with system message.
3. System message only.
4. Halt only.
INPUT: Register 2 contains the address of a parameter
list. See Appendix B. Diagnostic Aids for the format
of the Halt/Syslog format.
OUTPUT: Halt and/or message printed on the 22LC printer
EXIT:
- Calling routine after normal completion
- System Output-Error Recovery ($$STEP) if a printer
error occurs
- System Halt transient ($$STOH) if a halt is requested
Note: $$STOP can be used within user's core as well
as within the transient area.
Program Organization 6-7
► System Halt Transient ($$STOH)
CHART: JI
FIGURE: 6-1
ENTRY POINT: $$STOH
FUNCTION:
- Converts the halt codes from printable characters to
valid stick light combinations.
- Checks for DPF system.
- Calls the End-of-Job transient ($$SPEJ) if an immedi-
ate cancel is requested.
- Passes control to the resident halt routine (NPHALT)
if the system is operating with the Dual Programming
Feature (DPF).
INPUT: Register 2 contains the address of the Halt/Syslog
parameter list. See Appendix B. Diagnostic Aids tot
Halt/Syslog parameter format.
OUTPUT: The reply is returned to the caller in the fifth
byte of the parameter list.
EXIT:
- Resident Halt/Syslog routine (NPHALT) if the sys-
tem is operating in the DPF mode. Control is passed
to the EOJ transient ($$SPEJ) if an immediate cancel
is requested.
- All other conditions cause control to be returned to
the caller, after the halt is reset.
► Model 6 Printer Syslog Error Recovery Procedures Routine
($$STP6)
CHART: JJ
FIGURE: 6-1
ENTRY POINT: $$STP6
FUNCTION: Senses printer errors and attempts recovery.
INPUT: None (called by $$STIP or $$STON)
Output: Halt display
EXIT:
- Normal: To the next sequential instruction of the
caller
- Error: To End of Job transient ($$SPEJ)
Halt/Syslog-Halt Code Conversion Routine ($$STOK)
CHART: JK
FIGURE: 6-1
ENTRY POINT: $$STOK
FUNCTION: Converts Disk System halt characters to
Model 6 halt characters and Model 6 halt codes.
The Halt Code Conversion Routine ($$STOK) con-
verts two Disk System halt characters to a unique 9-
bit binary equivalent, then converts the binary equiv-
alent to a Model 6 halt instruction and to the Model
6 halt characters. The Model 6 halt characters are
placed in the system buffer to be printed if requested.
The Model 6 halt instruction is put in the program
level communication region to be passed to Model 6
Halt/Syslog-Halt Routine ($$STOS).
The halt character conversion requires five steps:
1 . Determine the displacement in the table (see
Figure 6-3) of the first character.
Multiply the displacement by 22.
Look up the displacement of the second charac-
ter and add it to the result of step 2.
Convert this decimal number to its hexadecimal
value.
Write the 9-bit binary equivalent of the hex
value. The bits on indicate the display rights on.
2.
3.
4.
5.
For example, to convert an 'E2' halt:
E displacement = 3
2 displacement = 4
3 x 22 = 66
66 + 4 = 70 (dec)
70 (dec) = 46 (hex)
46 (hex) = 0000 0100 0110
ABCD1 2345
Model 6 halt =
34
Note: The following are exceptions to the conver-
sion rule:
Disk System halt converts to Model 6 halt
EJ ABCD12345
HE BCD12345
5Y A CD12 5
80 34
blankO 12 45
0C AB D12 45
7E CD1 3
0A AB D 2345
'Y CD123
Any Disk System code that ends with - except for ~
cannot be converted. If Model 6 receives a Disk Sys-
tem halt it cannot convert, Model 6 issues halt '34'.
INPUT: Disk System halt characters in the Halt/Syslog
parameter list (addressed by XR2)
OUTPUT:
- Model 6 halt characters in the system buffer
— Model 6 halt codes in the transient storage area
EXIT: Return to next sequential instruction in calling
halt/syslog routine
6-8
Character
8
6
E
2
C
U
L
J
9
5
3
Y
A
P
F
H
4
•
7
1
-
Displacement
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
1
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
2
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
3
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
4
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
5
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
6
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
7
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
8
0128
0129
0130
0131
0.132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
9
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
A
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
B
0176
0177
0178
0179
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
C
0192
0193
0194
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207
D
0208
0209
0210
0211
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
E
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
F
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
10
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
0270
0271
11
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285
0286
0287
12
0288
0289
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
13
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
14
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334
0335
15
0336
0337
0338
0339
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
16
0352
0353
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367
17
0368
0369
0370
0371
0372
0373
0374
0375
0376
0377
0378
0379
0380
0381
0382
0383
18
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
19
0400
0401
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414
0415 !
1A
0416
0417
0418
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430
0431
1B
0432
0433
0434
0435
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
1C
0448
0449
0450
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
1D
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478
0479
IE
0480
0481
0482
0483
0484
0485
0486
0487
0488
0489
0490
0491
0492
0493
0494
0495
1F
0496
0497
0498
0499
0500
0501
0502
0503
0504
0505
0506
0507
0508
0509
0510
0511
Figure 6-3. Halt Conversion Tables
Program Organization 6-9
► Model 6 Halt/Syslog Halt Routine-Keyboard ($$STOS) ► Model 6 Halt/Syslog Halt Routine-CRT ($$STOT)
CHART: JL
FIGURE: 6-1
ENTRY POINTS:
- $$STOS
- OMTEST
FUNCTION: Issues HPL instruction and accepts options
from the keyboard.
INPUT:
— Model 6 halt code in program level communication
region at displacement X'52'
— Options allowed in parameter list (XR2 points to the
parameter list)
OUTPUT: Reply option in parameter list
EXIT:
— Normal: Return to caller
- Error: End of Job routine ($$SPEJ)
► Model 6 Halt/Syslog Routine-Matrix Printer ($$STOM)
CHART: JM
FIGURE: 6-1
ENTRY POINT: $$STOM
FUNCTION: Performs halt/syslog functions for the matrix
printer.
INPUT: XR2 points to the halt/syslog parameter list
OUTPUT: System message printed
EXIT:
- $$STOK
- $$STOS
CHART: JO
FIGURE: 6-1
ENTRY POINT: $$STOT
FUNCTION: Performs halt/syslog functions using the CRT
for display.
INPUT: XR2 points to the halt/syslog parameter list
OUTPUT: CRT display
EXIT:
- $$STOK to translate halt code
- $$STOS to handle halt response
- Next sequential instruction of caller
► Model 6 Halt/Syslog Routine-CRT On and Off Transient
($$STOX)
CHART: JP
FIGURE: 6-1
ENTRY POINT: $$STOX
FUNCTION:
— Start CRT display when X'OO' is encountered in the
parameter list.
— Stop CRT display when X'80' is encountered in the
parameter list.
— Set a return code of X'41' when any other command
byte is encountered in the parameter list.
— Set return code of X'40' when the start or stop func-
tion is performed correctly.
INPUT: XR2 points to the halt/syslog parameter list
OUTPUT: Return code of X'40' or X'41 '
EXIT: To the next sequential instruction of the caller
► Model 6 Halt/Syslog Scheduler Error Messages Routine
($$SLSE,$$SLS1)
► Model 6 Halt/Syslog Routine-Output Only, Matrix Printer
($$STON)
CHART: JN
FIGURE: 6-1
ENTRY POINT: $$STON
FUNCTION: Performs output functions for the matrix
printer.
INPUT: XR2 points to the halt/syslog parameter list
OUTPUT: Requested printed output
EXIT: To the next sequential instruction of the calling
program
CHART: JQ,JR
FIGURE: 6-1
ENTRY POINTS:
- $$SLSE
- $$SLS1
FUNCTION: Sets up halt/syslog to display all conversa-
tional scheduler error messages.
INPUT: XR2 points to a syslog buffer to be used
OUTPUT:
— Updated halt/syslog parameter list
— Message to be printed is in buffer
EXIT: To halt/syslog routine
6-10
► Scheduler Work Area-Get ($$SSGT)
CHART: JS
FIGURE: 6-1,6-4
ENTRY POINT: $$SSGT
FUNCTION: Retrieves the next consecutive logical record
from the SWA.
INPUT: Register 2 contains the address of the request
parameter list. See Figure 6-4 for the SWA-GET
parameter format.
OUTPUT: The next consecutive record is moved into the
user's input/output area.
EXIT:
- Normal: Calling routine
- Error: A halt is issued and displayed on the halt lights.
Note: $$SSGT can be used within user's core as well
as within the transient area.
Register 2
Function
Byte 1
Function Byte 1
Function Byte 2
Completion Code
I/O Pointer
Function
Byte 2
Completion
Code
I/O Area Pointer
(2 Bytes)
Bit (X'80') -Must be
1 (X'40') — Format one operation
1 — Utility control card operation
2 (X'20') - Not used \
setting must be
1 — Not used j
3 (X'10') Level definition (this bit setting determines the meaning of bit 5
1
bit 5 (X'04') - - level 1
1 = level 2
bit 5 (X'04') - = my level
1 = other level
4 (X'08') On for first operation of its type
5 (X'04') See bit 3
6 (X'02') Update (format ones only)
7 (X'01') On if Rolled-out SWA is wanted
Note: Bit 5 must be off.
Length byte indicating the number of bytes in this logical record (1-255)
X'40' = Successful completion
X'80' = End of file
Contains the address of the leftmost byte of the user I/O area
B
Figure 6-4. Parameter List for Scheduler Work Area— Get Routine
Program Organization 6-1 1
► Scheduler Work Area-Put ($$SSPT)
CHART: JT
FIGURE: 6-1,6-5
ENTRY POINT: $$SSPT
FUNCTION: This routine loads consecutive records into
the SWA.
INPUT: Register 2 contains the address of the request
parameter list. See Figure 6-5 for the format of the
parameter list.
OUTPUT: The record is placed in the next consecutive area
within the SWA.
EXIT:
— Normal: Calling routine
- Error: A halt is issued and displayed on the halt lights
Note: $$SSPT can be used within user's core as well
as within the transient area.
Register 2 •
Function
Byte 1
Function Byte 1
Function Byte 2
Completion Code
I/O Pointer
Function
Byte 2
Completion
Code
I/O Area Pointer
(2 Bytes)
Bit (X'80') 0-
1 — Initiator Table
1 (X'40') — Format one operation
1 — Utility control card operation
2 (X'20') - Not used |
setting must be
1 — Not used |
3 (X'10') Level definition (this bit setting determines the meaning of bit 5)
1
bit 5 (X'04') - = level 1
1 = level 2
bit 5 (X'04') - = my level
1 = other level
4 (X'08') On for first operation of its type
5 (X'04') See bit 3
6 (X'02') Update (format ones and utility cards only)
7 (X'01') Not used
Length byte indicating the number of bytes in hex in this logical record (1-255)
X'40' = Successful completion
X'80' = Endof file
Contains the address of the leftmost byte of the user I/O area
Figure 6-5. Parameter List for Scheduler Work Area-Put Routine
6-12
► Scheduler Work Area-Read/Write ($$SSSC)
CHART: JU
FIGURE,: 6-1,6-6
ENTRY POINT: $$SSSC
FUNCTION:
— Reads consecutive sectors from the SWA.
— Writes consecutive records into the SWA.
INPUT: Register 2 contains the address of the reauest
parameter list. See Figure 6-6 for the format of this
parameter list.
OUTPUT: The consecutive records are read from, or written
into the SWA.
EXIT:
— Normal: Calling routine
— Error: A halt is issued and displayed on the halt lights
Note: $$SSSC can be used within user's core as well
as within the transient area.
1 Function
Register 2 — **| Byte 1
Function
Byte 2
Completion
Code
I/O Area Pointer
(2 Bytes)
Function Byte 1
Bit (X'80') On for write sector \
> One or the other is on.
1 (X'40') On for read sector /
2 (X'20') Not used
3 (X'10') Level definition (this bit setting determines the meaning of bit 5)
bit 5 (X'04') - = level 1
1 = level 2
1 bit 5 (X'04'J - - my level
1 = other level
4 (X'08') On for first operation of its type
5 (X'04') See bit 3
6 (X'02') (Read, write— last record read) Operation depends on setting of
bits and 1 .
7 (X'OV) On if rolled-out
SWA is wanted.
Bit 5 must be off.
Function Byte 2
Bit (X'80') Not used
1 (X'40') Work area
2 (X'20') Initiator table
3 (X'10/) Utility statements
4 (X'08') Format 1's
5 (X'04') Format 5's
6 (X'02') Partition index
7 (X'OV) Common sector
Completion Code
40 = Successful completion
80= End of file
I/O Pointer
Points to leftmost byte of user I/O area
E
Figure 6-6. Parameter List for Scheduler Work Area Read/Write Routine
Program Organization 6-13
► Volume Table of Contents-Read/Write ($$SSVT)
CHART: JV
FIGURES: 6-1,6-7
ENTRY POINT: $$SSVT
FUNCTION: Performs the read/write functions for the
following data areas. These areas are located in the
volume table of contents (VTOC):
1 . Volume label
2. Volume table of contents (VTOC) index
3. Configuration record
4. Format- 1 records
INPUT: Register 2 contains the address of the request
parameter list. See Figure 6-7 for the format of this
parameter list.
OUTPUT: Register 2 contains the address of the parameter
list found in Figure 6-7.
EXIT:
— Normal: Calling routine
- Error: A halt is issued and displayed on the halt lights
Note: $$SSVT can be used within user's core as well
as within the transient area.
Byte
16
Return Address of Address of Sector-
Code I/O Area Work Area Displacement
Label
01 234567
ByteO
-5
-6
Bits — - Get
1 -Put
- 1 - Not used
1 - Index or if performing a GET for a F1 file search the whole VTOC
- 2 - Not used
1 - Volume label or if performing a Get for a F1 file start search in 'S' list
- 3 - Not used
1 -F1
- 4 — Not used
1 - Configuration record or if performing a GET for a F1 file use date as F1 label qualifier
\ Used by $$SSVT,
} must be
0-
1 — Search for F1, read sector containing it into work area
- 7 — Sector — displacement given
1 — Label given
Byte 1 Unit — Q code for disk operation (correct DA & M fields for disk operation only)
Byte 2 Return code 40 — Complete
44 — F1 not found
Bytes 3-4 Address of I/O area — pointer to leftmost byte of I/O area
Bytes 5-6 Address of locate mode request— pointer to leftmost byte of 256 bytes, or leftmost address
of the date byte to be searched if bit 4 of byte is on
Byte 7 Sector - sector address of this record, given or found when label is given (only needs to be
given for F1 operations, and then only when label is not given)
Byte 8 Displacement - only for F1 operations (see restrictions on sector)
Bytes 9-16 Label - Label of F1 to be searched for. Sector - displacement will be returned in bytes 7-8
when found along with record in the I/O area
If in byte a bit does not apply or is not required by the function being requested then it should be 0, particularly
for bit 5. Bit 7 should always be except when the proper F1 function is being requested.
Figure 6-7. Parameter List for Volume Table of Contents Read/Write Routine
6-14
► Rollin-Phase One ($$STRI)
Rollout-Phase Two ($$STRU)
CHART: JW
FIGURE:: 6-1
ENTRY POINT: $$STRI
FUNCTION: Restores the SWA from Roll-out disk area
storage back to system disk area storage.
INPUT: None
OUTPUT: The SWA is restored.
EXIT:
- Normal: Rollin-Phase Two ($$STRN)
— Error: A terminal halt is issued upon encountering a
permanent disk error
CHART: JZ
FIGURE: 6-1
ENTRY POINT: $$STRU
FUNCTION:
— Saves the SWA for the program level.
— Moves the user's RPG program from main storage
onto disk.
INPUT: None
OUTPUT:
— The SWA for the program level is saved.
— The user's RPG program is stored on disk.
EXIT: Rollout-Phase Three ($$STRT)
► Rollin-Phase Two «$$STRN)
CHART: JX
FIGURE: 6-1
ENTRY POINT: $$STRN
FUNCTION:
— Restores an interrupted RPG program.
— Restores all data areas associated with the interrupted
RPG program.
— Determines if the Multi-Function Card Unit (MFCU)
was in use at the time the RPG program was rolled
out and repositions cards.
— Determines if the correct disk pack was remounted.
— Passes control to the restored RPG program.
INPUT: None
OUTPUT: The user's pre-empted program and associated
data areas are loaded back into main storage.
EXIT:
— Normal: User's pre-empted RPG program
— Error: Supported Halt/Syslog routine
► Rollout-Phase One ($$STRO)
CHART: JY
FIGURE: 6-1
ENTRY POINT: $$STRO
FUNCTION: Waits for the completion of the I/O opera-
tions for the devices allocated to the program level.
INPUT: None
OUTPUT: The user's RPG program and necessary data
areas are saved on disk.
EXIT:
- Normal: Rollout-Phase Two ($$STRU)
— Error: RPG calling program
► Rollout-Phase Three ($$STRT)
CHART: KA
FIGURE: 6-1
ENTRY POINT: $$STRT
FUNCTION: Stores and builds a disk location table con-
taining entries for each of the following data areas.
1 . Print chain image
2. Transient scheduler table
3. Printer page size
4. Scheduler/data management switches
5. Volume labels
6. Program level communication region
7. Pack IDs for volumes used by program
INPUT: None
OUTPUT: Disk location table entries with the following
format:
1 . Address of the data
2. Length of data
3. Main storage location from which the data was
taken
EXIT:
— Normal: Terminator's Re-initialization routine
($$TMRI)
— Error: Supported Halt/Syslog routine
Program Organization 6-15
Disk System System List-Print ($$SYP1)
CHART: KB
FIGURE: 6-8
ENTRY POINT: $$SYP1
FUNCTION: Allows the user to be printer independent by
supporting the following functions:
1. Open
2. Close
3. Print, skip and/or space
4. Skip and/or space without print
5. Allocate printer
INPUT: Register 2 points to a 7-byte parameter list:
Byte 1— Opcode
Byte 2— Skip N lines before printing
Byte 3— Space N lines before printing
Byte 4— Skip N lines after printing
Byte 5— Space N lines after printing
Bytes 6 and 7— Logical record address
OUTPUT: Printed Output
EXIT:
— Normal: Next sequential instruction+8 of caller
— Error: Next sequential instruction+4 of caller
— Overflow: Next sequential instruction of the caller
► Model 6 System List-Print ($$SYP2)
CHART: KC
FIGURE: 6-9
ENTRY POINT: $$SYP2
FUNCTIONS:
- Derives the required halt/syslog parameter list from
the print parameter list of the calling program.
- Calls halt/syslog.
INPUT: XR2 contains the address of the print parameter
list of the calling program.
OUTPUT: Required parameter list is passed to halt/syslog.
EXIT: To next sequential instruction of calling program
X'OO'
X'100'
Supervisor
3K or 4K
Transient Area:
l_
J
User
^ Disk System System
Note: $$SYP1 must be loaded on a 256-byte
boundary by the user program.
Aa
Figure 6-8. Main Storage Map for Disk System System List
Routine for the Printer ($$SYP1)
X'OO'
X'100'
3K or 4K
Supervisor
Transient Area:
J
User
if Model 6 System List-Printer [$$SYP2)j
Isii
Note: $$SYP2 must be loaded on a 256-byte
boundary by the user program.
V
Figure 6-9. Main Storage Map for Model 6 System List Routine
for the Printer ($$SYP2)
6-16
► Disk System System List-Print/Punch ($$SPC1 )
CHART: KD
FIGURE: 6-10
ENTRY POINT: $$SPC1
FUNCTION: Determines if request was for the MFCU:
1 . Punch only
2. Punch/Print 96 columns
3. Punch 96 columns and Print 1 28 columns
INPUT: The following 8-byte parameter list is passed via
Register 2:
Byte 1— Operation code
X'00' = CLOSE
X'10' = OPEN
X'40' = PUNCH CARD
X'60' = PRINT/PUNCH CARD
Byte 2-Print Length
X'60' = 96 columns
X'80' = 128 columns
Bytes 3 and 4— Address of 10-byte permanent
save area
Bytes 5 and 6- Address of 96-byte punch buffer
Bytes 7 and 8- Address of 96 or 128-byte print
buffer
OUTPUT: One card is produced, by the MFCU, per request.
EXIT:
— Normal: Calling routine
- Error: End-of-Job transient ($$SPEJ) routine for an
immediate cancel
X'00'
X'100'
3K
Supervisor
I
I Transient Area:
l
J
Library Maintenance Communication Region
"1
Library Maintenance Print/Punch Mainline I
I ($MAPPM) |
I Library Maintenance Object Library Print/Punch |
| ($MAOPT) |
I Library Maintenance Source Library Print/Punch i
($MASPT)
mm
£ Disk System System List-Print/Punch ($$SPC1) W&
Figure 6-10. Main Storage Map for Disk System System List-
Print/Punch Routine ($$SPC1)
Program Organization 6-17
► Model 6 System List-Punch Routine ($$SPC2)
CHART: KE
FIGURE: 6-11
ENTRY POINT: $$SPC2
FUNCTIONS:
— Punches information into the 96 column card.
— Prints information on the 96 column card.
INPUT: The following 8-byte parameter list is passed via
XR2:
Byte 1 —Operation code
X'OO' = CLOSE
X'10' = OPEN
X'40' = PUNCH ON CARD
Byte 2-Print length
X'60' for 96 character print
X'80' for 128 character print (4 lines)
Bytes 3 and 4— address of 1 5-byte permanent save
area used for error recovery
Bytes 5 and 6-address of 96-byte buffer which will
contain information to be punched
Bytes 7 and 8-address of 96-byte print buffer
OUTPUT: One punched and printed card for each request
EXIT:
— Normal: Next sequential instruction of calling pro-
gram
— Error: Halt/syslog and immediate cancel
X'OO'
X'100'
3K
Supervisor
r
~i
Transient Area:
J
Library Maintenance Communication Region
' Library Maintenance Print/Punch Mainline I
1 ($MAPPM) |
I Library Maintenance Object Library Print/Punch
| ($MAOPT) '
■ Library Maintenance Source Library Print/Punch I
1 ($MASPT)
|| Model 6 System List-Punch Routine ($$SPC2) jggjig
V
Figure 6-1 1. Main Storage Map for System List-Punch Routine
($$SPC2)
6-18
► Source Library Get ($$SYSG)
► Find Transient ($$SPFN)
CHART: KF
FIGURE: 6-1
ENTRY POINT: $$SYSG
FUNCTION: Finds a specified member in the Source
Library and/or passes a 96-byte record, from the mem-
ber, back to the caller.
INPUT: The get parameter list is passed from the caller to
this routine. The parameter list has the following two
formats:
First call
All other calls
F/Q/T/NNNNNN/AA
F/Q/XX/YY/ZZZ/AA
F -*- F Is the function byte
Bit Request
Find
1
Get first rec
2
Get next rec
3
Not used
Bit
Reply
4
Not used
5
Unused
6
No find or no library
7
End of file
Q
-*- Q Is Q byte of pack
Rl =
= A1
Fl =
= A9
R2 =
= B1
F2 =
= B9
T
-*• T Is type of member
S is source
Pis
procedure
N
-*■ NNNNNN Is 6 character name
X
— XX
Is cyl/sect of beginning of member
Y
■*■ YY
Is cyl/sect of end of member
Z
— zzz
Is cyl/sect/disp of next record to be
processed
A
— AAAA
Is 2 byte addr of first byte of 96 byte
record
CHART: KG
FIGURES: 6-1
ENTRY POINT: $$SPFN
FUNCTION:
— Locates a specific overlay or program in the object
library.
Note: If invoked by the Loader, the requested pro-
gram is specified by either fetch or load request
operand.
— Passes loading information, contained in the directory
entry, to the caller.
— Issues a halt if the entry is not found.
INPUT: Operand specifying the requested program or over-
lay
OUTPUT: Information contained in the program's directory
entry needed for loading is passed to the calling rou-
tine.
EXIT:
— Normal: Calling routine
— Error:
1 . A halt of '#4' on the Disk System, ' 1 4' on
Model 6, is issued and displayed on the halt
lights.
2. If log is specified on, the module name is
printed on the Syslog device.
OUTPUT:
— Updated get parameter list
— 96-byte record
EXIT: Transient Area Scheduler (NENTRY)
Program Organization 6-19
► Allocate Initiator ($$STAI)
CHART: KH
FIGURES: 6-12,6-13
ENTRY POINT: $$STAI
FUNCTION:
— Allocates devices to the calling program.
— Allocates disk files for use by the calling program.
— Copies the last 4096 bytes (4K) of the user's program
area from main storage into the SWA on the system
disk.
— Compresses specified DTFs into the last 1024 bytes
(IK) of the user's main storage area for $$INA1.
See Figure 6-13 for the format of the compressed
DTFs.
INPUT: Register 2 contains the starting address of the
chained DTFs. The DTFs contain the chain pointer
B.
OUTPUT:
— The last 4K of the user's main storage is copied into
the SWA.
— The user's disk DTFs are compressed and loaded into
the last IK of the user's main storage.
X'OO'
X'100'
3K or 4K
Supervisor
^Transient Area: ^^^^^^^^^^^^^^^
(;|:| Allocate Initiator ($$STAI) |||:|;i;ii:||:;|i||
p;|;|'SchedulerWork
User
EXIT:
— Normal:
1 . When all non-disk DTFs are given, control is
returned to the caller.
2. When disk DTFs are given, control is passed to
the Initiator Allocate— Phase One Routine
($$INA1).
— Error: Supported Halt/Syslog routine
Hex Displacement
00
01
02
04
06
OE
Device Q Code
UPSI Requirement
Built by $$STAI
Usedby$$INA1
Attributes
Record Length
File Name
Key Length
Device Q Code
UPSI Requirement
Attributes
Record Length
File Name
Key Length
End of Compression
X'OO'
Figure 6-12. Main Storage Map for Allocate Initiator Transient
(SSSTAI)
Figure 6-13. Compressed DTF Format— Built by the Allocate
Initiator Transient
6-20
► LOAD * Mainline ($$SYLA)
► End of Job Transient ($$SPEJ)
CHART: KI
FIGURES: 6-14
ENTRY POINT: $$SYLA
FUNCTION: Builds a temporary object library entry con-
taining the following:
1 . Directory entry
2. Object program
3. Volume label
INPUT:
— Header card
— Object program (R. module) built by the Linkage
Editor
OUTPUT: The object program and the directory entry are
written onto the system disk pack.
EXIT:
— Normal: Initiator Program Setup— Phase One
($$INPS) routine
— Error: Supported Halt/ Syslog routine
CHART: None
FIGURES: 6-1
ENTRY POINT: START
FUNCTION:
— Reset the partition to 4K.
— Sets the relocation factor and the overlay factor to
zero.
— Closes all chained DTFs (for control cancel only).
— Reset console I/O.
— Gears the transient queue.
— Turns off library maintenance control indicators.
— Calls the Terminator EOJ— Phase One routine
($$TMEO).
INPUT: Register 1 points to the program level communica-
tion area.
OUTPUT: Terminates the calling routine
EXIT:
— Normal: Terminator End of Job -Phase One ($$TMEO)
— Error: Display halts 'HE' followed by 'OA' on the
Disk System, halts 'BCD12345' followed by
'ABD2345' on Model 6, if the IPL contained an error
before EOJ was called.
X'OO'
X'100'
3K
Supervisor
i ;
j Transient Area:
I
L I
Initiator Program Setup-Phase Two ($$INP2)
; LOAD * Mai nl i rie ($$S Y*L A ) W$$M$$$
Figure 6.14. Main Storage Map for LOAD*Mainline (SSSYLA)
Program Organization 6-21
► End of Job-Disk Status ($$TMST)
► Copy Main Storage to Source Library ($$SYSP)
CHART: KJ
FIGURES: 6-1,6-15
ENTRY POINT: $$TMST
FUNCTION:
- Determines the mask to be used for the input Q-byte.
- Serves as a mediator between the Disk IOS Error
Logging routines, used to log the SIO table, and the
Terminator End of Job phases one and two ($$TMEO,
$$TMEJ).
INPUT: A Q-byte is passed from the Terminator End of
Job phases (one or two).
OUTPUT: A 2-byte parameter list is generated describing
the Q-byte. This parameter list is passed to the cor-
rect IOS Error Logging routine. See Figure 6-15 for
the format of this parameter list.
EXIT: IOS Error Logging routine ($$DLOG)
CHART: KK
FIGURES: 6-16
ENTRY POINT: $$SYSP
FUNCTION:
— Reads 96-byte records from main storage.
— Compresses the 96-byte records and loads them into
the source library.
— Updates the volume label and library directory.
INPUT: Source statements or procedures from main
storage and a source library on a specified disk pack
OUTPUT: The input source statements or procedures are
compressed and loaded into the source library.
EXIT:
— Normal: Calling routine
— Error: A halt is issued if a permanent disk error is
encountered
Register 2
Byte 1
Byte 2
Bytel: X'80' -0
— 1 Composite log
X'40' -0
— 1 Inline Qcode given
Byte 2: The device Q code if an inline request is given
Note: This parameter list will be passed back to the user
with byte 1 = 0.
Figure 6-15. Parameter List for End of Job— Disk Status Routine
Supervisor
X'100'
1 Transient Area:
! !
!
3K or 4K
User
[||| Copy Mai n Storage to Source Library '($$SYSP jj
A .
Figure 6-16. Main Storage Map for Copy Main Storage to Source
Library Routine (SSSYSP)
6-22
► Resource Allocation-Phase One ($$STR1)
► Transient Resolver ($$OXRF)
CHART: KL
FIGURE: 6-1
ENTRY POINT: $$STR1
FUNCTION:
— Reads temporary configuration records from the
SWA.
— Calls Resource Allocation-Phase Two ($$STR2) to
allocate the requested devices.
— Restores the updated configuration records to the
SWA.
INPUT: Register 2 contains the address of the first DTF in
the DTF chain. Each DTF contains, in the leftmost
byte, the address of the device.
OUTPUT: Updated temporary configuration record
EXIT:
— Normal: Calling routine
— Error: A halt condition results
Note: The user must not have any DTFs in the last
IK of the program level.
► Resource Allocation-Phase Two ($$STR2)
CHART: KM, Disk System
KN, Model 6
FIGURE: 6-1
ENTRY POINT: $$STR2
FUNCTION: Allocates non-disk devices for a program
level.
INPUT: Register 2 contains the address of the IK work
area built in $$STR1.
OUTPUT: Updated temporary configuration records in the
SWA.
EXIT:
— Normal: Resource Allocation— Phase One ($$STR1)
— Error: Supported Halt/Syslog routine
Note: The user must not have any DTFs in the last
IK of the program level.
CHART: KO
FIGURE: 6-17
ENTRY POINT: $$OXRF
FUNCTION: Resolves absolute disk addresses among cer-
tain system transients to facilitate the passing of con-
trol from one transient to another.
INPUT: None
OUTPUT: Resolved caller transient addresses
EXIT:
— Normal: Calling routine
- Error: End-of- Job transient ($$SPEJ)
X'OO'
X'100'
3K
Supervisor
Transient Area:
Library Maintenance
j-Transieht Resolver ($'$6XR F j 'WM\
M
B
Figure 6-17. Main Storage Map for Transient Resolver (SSOXRF)
Program Organization 6-23
► Allocate Terminator ($$l NAT)
► System Queue Routine ($$STNQ)
CHART: KP
FIGURE: 6-18
ENTRY POINT: $$INAT
FUNCTION: Sets up the user's main storage to reflect the
settings before the allocation routines were called.
INPUT:
— The completion code found at label NPSCH8 located
within the program communication region (special
requests only)
— The user's main storage (that was saved) is located at
initiator table plus three sectors.
OUTPUT:
— The completion code is returned in the caller's first
DTF (special requests only).
— The user's saved main storage settings are reloaded
into main storage.
EXIT: Calling routine
CHART: None
FIGURE: 6-1
ENTRY POINT: $$STNQ
FUNCTION: This routine is called if a transient must be
removed from the transient area X'100', but the
transient to be removed is interlocked with the
Scheduler within a DPF system. This routine pro-
vides all of the necessary linkages to remove the tran-
sient via the Resident Halt Routine (HPLNUC).
INPUT: None
OUTPUT:
— A request for an APL is sent to the Resident Halt
Routine (HPLNUC).
— The first seven bytes of the transient storage area
(NCSTOR), located within the system communica-
tion region, are saved
EXIT: Resident Halt Routine (HPLNUC)
X'OO'
X'100'
3K or 4K
Supervisor
I Transient Area: '^^$^^^00f^0^^^^i^^
tf|| Allocate Terminator ($$l NAT) §^^^^^^^
Pigjji Scheduler Work Area- Read/Write ($$SSSCJ ' !:!||
User
Figure 6-18. Main Storage Map for Allocate Terminator Transient
(SSINAT)
6-24
► Halt/Syslog Parameter Build Routine ($$STHB)
► Keyword Syntax Scan Routine ($$RDS1)
CHART: KQ
FIGURE: 6-19
ENTRY POINT: $$STHB
FUNCTION:
— Builds the appropriate parameter list to call the sup-
ported Halt/Syslog routine.
— Loads the parameter list into the Reader/Interpreter
work area (RDIWA).
INPUT: The Reader/Interpreter work area contains the
error number and a 2-byte module identifier indi-
cating the module that caused the error.
OUTPUT: A 5 or 7-byte parameter list is built in the
Reader/Interpreter work area (RDIWA).
EXIT: Calling routine
X'OO'
X'100'
3K or 4K
Supervisor
«: transient Area:
<;. Halt/Syslog Parameter Build Routine ($$STHB) $
(jijip Halt/Syslog Parameter Table One ($$STH1) IjjjJI&s,
|jijjj§ Halt/Syslog Parameter Table Two ($$STH2) |;|j|||
Reader/Interpreter Work Area (RDIWA)
Reader/ Interpreter Mainline ($$RDML)
Reader/Interpreter Control Card Processor
CHART: KR
FIGURE: 6-20
ENTRY POINT: $$RDS1
FUNCTION:
— Scans a specified area containing keyword parameters.
— Checks the validity of the parameters.
— Builds a table of corresponding arguments.
— Returns a, completion status code to the caller.
INPUT: An 8-byte parameter list (passed from the caller)
containing the following:
1 . Address of the keyword table
2. Address of the argument table that is to be
built
3. Addresses (start and end) of the area to be
scanned for the keywords
OUTPUT: A ^turn code is passed back to the caller indi-
cating one of the following conditions:
1 . Syntax error
2. Invalid keyword
3. Continuation card found
4. Invalid parameters for the area to be scanned
5. Successful completion
Calling routine
EXIT:
X'00'
X'100'
3K
Supervisor
Transient Area:
User
| keyword Syntax Scan Routine ($$RDS1 ) :j:j|$i||s£|l$
Figure 6-19. Main Storage Map for Halt/Syslog Parameter Build
Routine (SSSTHB)
Figure 6-20. Main Storage Map for Keyword Syntax Scan Routine
(SSRDS1)
Program Organization 6-25
► Transient Resolver No-Op Routine ($$ODNP)
CHART: None
FIGURE: 6-1
ENTRY POINT: DMODNP
FUNCTION:
- The Transient Resolver No-op Routine ($$ODNP)
issues a halt of "42" with one option (immediate
cancel).
- This transient ($$ODNP) is loaded into the transient
area, by the calling system transient, after the follow-
ing sequence of events:
1 . A system transient requests that another sys-
tem transient be loaded into main storage.
2. The Transient Resolver ($$OXRF) cannot
locate the requested system transient.
3. The Transient Resolver ($$OXRF) returns the
address of the Transient Resolver No-op
Routine ($$ODNP) to the calling system
Transient.
INPUT: None
OUTPUT: None
EXIT: Supported Halt/Syslog transient
► HI KEY Transient ($$STF7)
CHART: KS
FIGURE: 6-1,6-21
ENTRY POINT: $$STF7
FUNCTION: Performs the reads and writes of format
sevens in the SWA and VTOC.
INPUT: Register 2 points to a 6-byte parameter list. The
format of the parameter list is shown in Figure 6-21 .
OUTPUT: The format seven is read or written in the SWA
or VTOC.
EXIT:
— Normal: Next sequential instruction of caller
— Error: Issue HE halt for permanent disk error and
then call EOJ transient ($$SPEJ)
Byte
<
1 1 2 1 3 1 4 1 5 1
FLAG
I I I I I
1 23456
UNIT BUF@ ID
s
>7
Byte Bits - 0-VTOC
1-SWA
1-2 OO-GET
01 -PUT
10-Update (VTOC only)
11 -New (VTOC only)
3 0— Do not indicate number of
format sevens used
1— Indicate number of format
sevens used in first byte of
BUF@
4-7 Not used
Byte 1 Unit— Q code for desired VTOC operation.
Must be present for SWA and VTOC
operations.
Bytes 2-3 BUF@— Two byte address of the leftmost
byte of a 64-byte buffer.
Bytes 4-5 ID-The F7 identification field. For VTOC:
SD— Sector/displacement of VTOC F1 as-
sociated with this format seven. For SWA:
IS— Index sequence number of the associated
format one image.
Figure 6-21. Parameter List for HIKEY Transient ($$STF7)
6-26
► HI KEY Parameter Scan Routine ($$RDHK)
CHART: KT
FIGURE: 6-1
FUNCTION: Scan a specified area containing the HIKEY
parameters.
INPUT: Register 2 contains the address of the starting
position of the scan.
OUTPUT:
— Parameters are encoded and placed in the ENCODE
field located in $$RDML.
— Sets up for halt if syntax errors are found.
EXIT:
— Normal: Reader/Interpreter Mainline ($$RDML)
— Error: Supported Halt/ Sy slog routine
► Model 6 Logical Put Routine ($$RBLP)
CHART: KU
FIGURE: 6-1
ENTRY POINT: $$RBLP
FUNCTION:
— Compresses records.
— Writes compressed records to disk.
INPUT: XR2 points to an 1 1 -byte parameter list. The
parameter list has the following format:
F/Q/XX/YY/ZZZ/AA
F Fis the function byte:
Value Request
X'CO' Put first record in buffer, but do not write
unless sector overflows.
X'AO' Put next record in buffer, but do not write
unless sector overflows.
X'80' Put buffer to disk.
X'40' Put first record to disk.
X'20' Put next record to disk.
Value Reply
X'08' Permanent disk error
X'Or End of disk space specified
Q Q byte of pack
Value Pack
X'Al' Rl
X'A9' Fl
X'Bl' R2
X'B9' F2
B
X XX contains the C/S of beginning PUT.
Y YY contains the C/S of ending PUT.
Z ZZZ contains the C/S/Displacement of the next
record to be processed.
A AA contains the address of the first byte of the 96-
byte record.
OUTPUT:
— Compressed record written to disk
— Updated parameter list
EXIT: To the transient area scheduler
Program Organization 6-27
► Model 6 Syntax Checker ($$RBSX)
Value Reply
CHART: KV
FIGURE: 6-22
ENTRY POINT: $$RBSX
FUNCTION: Syntax checks data in a 96-byte buffer for
Load, Build, and Call operations.
INPUT: XR2 contains the address of the required parameter
list.
The 7-byte parameter list has the following format:
O/F/SS/EE/L
X'OA'
END MVF
X'09'
START MVF
X'08'
OTHER
X'04'
NO RESPONSE
X'02'
INVALID RESPONSE
x'or
NULL RESPONSE
Operation byte X'80' = BUILD
X'40' = LOAD
X'20' = CALL
F Function Byte
Value
Request
XW
NAME-6 character
• LOAD
• BUILD
X'90'
NAME-6 character
• PACK
X'AO'
NAME-8 character
• FILE
• LABEL
X'BO'
CREATION DATE
X'EO'
SWITCH
X'60'
LOCATION
X'40'
UNIT
X'30'
RECORDS
X'20'
TRACKS
X'lO'
RETAIN
S SS is a 2-byte address which identifies the first byte
of a 96-byte buffer.
E EE is a 2-byte address which identifies the last byte
of the response returned to the caller.
L L is a byte which contains the length of the response
minus 1 , and is returned to the caller.
OUTPUT: Updated parameter list
EXIT: To next sequential instruction of caller
OK
"Syntax Checker ($$RBSX) is usually loaded at the
ending address of the calling program. Examine the
calling program to determine the exact loading
address.
Figure 6-22. Main Storage Map for Model 6 Syntax
Checker ($$RBSX)
6-28
► Model 6 Syntax Checker Interface ($$RBSI)
► Model 6 Library Interaction Routine ($$RBLI)
CHART: KW
FIGURE: 6-1
ENTRY POINT: $$RBSI
FUNCTION: This routine functions as an interface between
Model 6 Syntax Checker ($$RBSX) and the calling
program when a series of subparameters is to be
checked.
INPUT: XR2 points to the parameter list used by $$RBSX.
OUTPUT: These codes are returned to the caller:
X'OA' — end of multivolume received
X'09' — multivolume started, more responses needed
X'02' — error condition exists
EXIT: To the next sequential instruction of caller
CHART: KX
FIGURE: 6-1
ENTRY POINT: $$RBLI
FUNCTION: This routine scans each 96-byte record taken
from a procedure in the source library for LOAD, or
any verb, or a continuation statement.
INPUT: XR2 points to a 3-byte parameter list containing
a flag byte and the address of the 96-byte record.
The flag byte codes are:
X'02' - scan for the verb LOAD
X'01' — scan for any verb
X'OO' — scan for a continuation statement
OUTPUT:
— A code returned to the flag byte:
X'80' - P code of verb found
X'40' - Non-Model 6 verb found
X'10' — Record was extraneous or in error
X'08' - RUN found
X'04' — Continuation record found
— Register 1 points one byte beyond the verb, comment
indicator (*), or continuation indicator (//).
EXIT: To the next sequential instruction of the caller
Program Organization 6-29
$$STIC
**** A 1*********
* *
* ENTEH *
* 4
***************
*****B2 **********
*****************
*****************
*****02 **********
* INDICATE *
•CONSOLE CAN NOT*
->* BE OSED AS *-
* SYSIN DEVICE *
* •
*****************
****
* *
* K1 *
* *
****
, * CAN I
. ALLOCATE
*. DEVICE
ICEBOB BA/01/A1
*****g2 **********
♦NENTRY *
*****************
****g3*********
» *
► EXIT «
► i
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
* ALLOCATE THE *
* CONSOLE AS *
* SYSIN DEVICE *
* *
*****************
***********
ICIOGO
*****H1**********
* *$$STCI SIO * *
* * DATA * *
* *NANAGEMENT * *
* * INPUT * *
* * * *
*****************
***j y **********
***********
****
ICST0.1
*****K1*******«
rci.FA^
****K2*********
-->* FF T H;*N *
* *
***************
T'J: CALLKri
Chart JA. System Input Device-Console ($$STIC)
6-30
****
* A4 *
* *
****
$SSTIN
****& 1*********
* ENTER
***************
*****g1**********
Hit**************
*****************
„* SINGLE *. YES
*. .*
*. . *
*• .*
* NO
****
* *
* cu *->
* *
****
NREAD
*****C It* *********
* *
* PERFORM HEAD *
* OPERATION *
*****************
IHTIO
*****DH**** ******
♦IHCOND *
****************
IMBEST
****C5*********
*
RETURN *
*
***************
CALLER
*
C5 *
1->*
**
****
*****************
ALLOCATED
*****************
BA/01/A1
*****E2 **********
♦NENTRY »
F1 *.
*
CHECK
k ****** **********
->*SET RETURN CODE*-
* *
* *
*****************
****£ 3*** ******
* *
* EX IT »
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
****
* *
* C5 *
* *
• ***
IHOVR V JB/02/A1
***** a -\* *********
♦I1TEST *
* SET Q CODES *
* *
*****************
»***
*
H1 *-■>
****
IMCHEK * JB/02/AU
*****H 1 **********
♦ I1CONI) *
It**** ***********
*****************
****
fc *
« kU *
Chart JB (Part 1 of 2). System Input Device- 1 44 2/MFCU ($$STIM)
■ ****
* *
!■->* C5 *
t****g 5 **********
*****************
1****
* •
->* HI *
* *
*•**
□
Program Organization 6-3 1
IMTEST
****A1*********
* *
* ENTEB *
* *
***************
IMCOND
****A !(** *******
* *
* ENTEB *
* *
***************
k**B1**********
*****************
*****D1 **********
* *
♦SET DP ALL I/O *
* INSTRUCTIONS *
* F08 NFCU *
* *
*****************
* SET UP I/O *
* INSTRUCTIONS *
* FOR HOPPER 1 *
* *
*****************
****
* *
* (5 1 *->
* *
****
IMSAV
****G1 *********
* 4
* RETURN *
* 4
***************
TO: CALLER
♦SET UP ALL I/O *
->* INSTRUCTIONS *
* FOR 1«t2 *
* *
*****************
I****
♦ *
->* G1 *
* *
****
FIRST
TIME ON
DEVICE
****Bf>*****.****
* *
>* RETURN *
A * *
I***************
*♦ TO: CALLER
BA/01/A1
*****C5+ *********
♦nentry *
mt **************
****
* 4
L->* B5 «
****
*****************
****
* *
U>* B5 *
* 4
****
*****E2 **********
* *
♦ SET UP I/O ♦
->♦ INSTRUCTIONS ♦
♦ FOR HOPPER 2 ♦
* *
*****************
Chart JB (Part 2 of 2). System Input Device- 1442/MFCU ($$STIM)
6-32
fSSTIP
*»**A1*********
* *
* EHTER *
* *
***************
*«•*********••*•
APPORTION
*****D2**********
•••*****•**•***•*
E1 *.
BIT Oil
*****E2 **********
* *
♦SET COMPLETION *
>* CODB. SET *
* INSTRUCTION *
* *
*•*•**•*******•*•
I
*****
*002*
* F2*
*****************
*•»•*)! 1 **********
*****************
****** 3 **********
* *
♦SET COHNAND TO *
->*HETOBN ELEHEHT *
* THO SPACBS *
* *
**•*••******•****
* A3 «
* 4
• ***
r
****
* *
* A4 «
t *
**•*
" BA/01/A1
*****C3**** ******
*****************
*•**
**••
IPBLNK
*****q 3 **********
* *
* *
* BLANK BUFFER *
* *
* *
*****************
BA/01/A1
*•*•*••**********
***•
*****P3* *********
* MO»E COMB TO *
* SISTEH *
* COHHDNICATION *
* REGION *
* *
**••**•••*••***•*
*****g 3 **********
**•••*******••**•
*****n 3 **********
* *
* *
•START OPERATION*
• *
• •
*****************
*****J 3 **********
* CALL $tSTP6 *
* *
*•*•**••*•*******
IPOHLC
*****Clf **********
**************
* BAIT FOB *
♦COMPLETION CODB*
*IR KEYBOARD IOB*
* *
*****************
..COBP^jIOB
*. IOBHAL .
*. .*
..: [
****
02-B1
*****
*002*
* CI*
IPCALL t BA/01/A1
*****g5 **********
•BCBITBR ♦
* CALL fISTIS *
•***••*****•***•*
IPJRP .*.
F5 *.
.* *.
.* *. BO
*. CABCBL .* i
*. .* I
*. .* I
*. .* f
* TES ••**
* •
♦ C»*
• *
• *••
IPABBT
*****C5 **********
• *
*SBT COHPLETION *
• CODB. SBT * >
* INSTRUCTION * 1
* * 1
*•*•••****••*•*•• +
*****
*002*
* F2*
*•*•••*••••*•*•**
• *••
» •
* F3*
» *
• ***
*****j5 **********
*. CONVEBSAT-
*. IOMAL
*. .*
*
*-
"l
*. .*
*
* TES
*♦♦*
*
♦ A3
♦
****
IPAAA
** t**K1*
■
*********
*
*
♦SET LEN
* CO
;th and
1M
*
*
♦ CALL $$SLP« ♦
♦ ♦
♦♦♦♦♦♦♦♦♦♦♦♦*♦♦♦♦
*****************
I ****
* *
I— >♦ At ♦
* *
****
**••****•****♦♦♦♦
*****
♦002 +
* A1*
****
* •
► HI*
t *
****
*****************
Chart JC (Part 1 of 2). Model 6 System Input Device-Keyboard/Printer ($$STIP, $$STIS)
Program Organization 6-33
*****
*002*
* 43*
*****
*002*
* A«*
*****
♦002*
* A5*
A1 *
*
PROG
B1 *
ENTER
JtSTIS
****A2**+******
rES * *
* ENTER *
1 ***************
****
* *
* El *
* *
****
*SAYE FEGISTEBS *
* *
* *
*****•••********•
*****
♦001*
* E5*
• *
ESTER *.
ALLOWED
.*
no
* -,
1
. .*
1
*. .*
♦
» TES
*****
*001*
* E5*
* *
•****D1 ***•**«•••
* •
* SET COUP. SET *
* INSTRUCTION *
♦SENSE KEYBOARD *
->* SET HALT LIST *
•FOB NOT ALLOWED*
• •
*****************
* CHECK *
♦COMPLETION CODE*
« AND CONTINUE *
* ♦
*•****•••***•*•**
.1 002 D3
.2 002 At
.3.. ...002 AS
.« 002 A3
A3 *
*
► ***
I ****
* *
L>* B4 ♦
*****************
****
* *
♦ B» ♦->
* *
• •••
IPHALT ? BA/01/A1
*****gl)*« ********
♦NCEJITB *
* HALT/SYSLOG- ♦
* ISSDE HALT *
* ♦
*****************
IPKERB * BA/01/A1
•****AS **********
♦NCEKTH *
*****************
*****B5 **********
* *
* SIT HALT LIST ♦
♦ FOR KEYBOARD *-
• ERROR ♦
• •
•***••♦•*••****•*
*****C5**« *******
*****************
**••
* *
* D» *
* *
**•*
IP DHL
***
**DQ**********
*••••**••*•*••••*
*••*
****•*•***•*•*•**
*****G 1 ***•**••**
* INSTRUCTION ♦
* *
**•******•••*••**
****•({ 1 **********
* *
* SET BIT IN ♦
* COnHUNICATION ♦-
* REGION ♦
* *
*****************
***** g2«* *♦****♦♦
♦ INSTRUCTION *
* *
•*••********•*•**
*•**
• •
» A3 *
• *
****
REGISTERS
♦ REGISTERS * I
* *
**•*••**••***•*•* I
001*
* SUBTRACT ONE *
* FROH CONTROL *
•BLANK CHARACTERS
* •
•••**•**••***•***
IPHTIB
*****? 3**********
•*******•****••*•
*002*
01-E2+
01-PU
♦***G2 *********
► *
* RETOBN *
» *
••*****•***•*••
*•**••**•••*•**•*
* TIHE DELAT LOOP*
* *
* *
*****************
*****BI) **********
*•**••**•***•**•*
****B5**» ******
***************
TYPEHATIC
■>♦ LOCK KEYBOARD *
*****K3 **********
*****************
**•*
* *
I— >* A3 *
* *
****
**********
I
*** +
| ******
l- >* DU *
* *
****
BACKSPACE
BUFFER POLL
ERROR
NOT ALLOWED
Chart JC (Part 2 of 2). Model 6 System Input Device-Keyboard/Printer ($$STIP, $$STIS)
6-34
SfSTID
****ai *********
* *
* ENTER *
* *
***************
•SITE REGISTERS *
*****************
CI ».
.* *.
APPORTION
*****C2 **********
* *
* APPORTION *
>* BUFFERS AND *
* WORK AREA *
* *
*****************
*****D2**********
* *
» SET HETORN TO *
->* INDICATE /S *-
* READ *
* *
*****************
*****22 **********
* *
* BOTE STANDARD *
•PORTION OF DTF •-
* TO WORK AREA *
* *
*****************
*****•*****•••***
•****P2 **********
* *
►. IBS *HOVE ADDRESS OF*
.* >*»EXT BOFFER TO *
► * IOB *
* *
*****************
*****F3 **********
*****************
****
. NO » *
.* >* G3 *
• *
****
*#•*•{] 1 **********
* * ****
•SET OP CODE IN • * *
* DTF TO WAIT • >* G3 *
*****************
IDREAD.
****
* * *-
* G3 * >*
* * *
****
' JD/02/A1
• ***G n* ********
> *
* ENTER *
> *
****•****•*••**
*****************
V JD/02/A1
*****K 3 **********
♦IOMCAL *
* *
* CALL DATA * —
* MANAGEMENT TO *
* WATT *
*****************
**** [15 *********
• •
» ENTER *
* •
***************
****************
• *•*
* •
-* jn *
* *
****
****************
****K4*********
t *
► RETURN *
* *
***************
Chart JD (Part 1 of 2). Model 6 System Input Device- Data Recorder ($$STID)
Program Organization 6-35
TOMCAL
****J\ 1*********
* 4
* ENTER *
* 4
***************
*****ft-|**********
* *
* SAVE ARR AND *
* PARW LIST *
* POINTER *
* *
*****************
*****£-]**********
* *
* *
* POINT TO DTF *
* *
* *
*****************
IDCS V BA/0VA1
*****D1**«* ******
*NCENTR *
* LOAD StSLZO *
*****************
****************
40 .* CHECK
r --*. DTF COUP
*. CODE
*****m **********
ii***«************
****ji*********
« ?.xn *
* 4
***************
TO: IDEXTT
*****g2 **********
* *
* •
->*SA?E REGISTERS *
* *
* *
*****************
**+t*q2**********
*****************
****i]2 *********
k *
► EXIT »
k *
***************
ro: IDSWAP
***•
• *
• m *---.
* * I
• **• I
IDNRTN V
*****HU *********
RESTORE ARR
•*********•*••**
****,m* ********
* 4
* RETURN *
* 4
**••****••***•*
Chart JD (Part 2 of 2). Model 6 System Input Device- Data Recorder ($$STID)
6-36
****
► *
* 4« *--- .
$*STIT
****A1*********
* *
* ENTER *
* *
***************
*****B 1**********
* *
* SET C/S OF *
* t$STTX AT *
* TIT0 10 *
* *
*****************
*****C1 **********
* *
* SET $$STIT *
* INITIALIZE *
* COHKAND *
* *
*****************
TIT010 V BA/01/A1
*****p1 **********
*NENTRY *
*****************
*****E1* *********
*****************
" JE/02/AB
* RE- INITIALIZE *
* *
*****************
*****************
*****H1**********
*****************
»*J 1**********
» *********
*****A2 **********
* *
* WAIT FOR *
->*KEY30ARD TO BE *
* USED *
i *********
**
. * *.
(-->*. /*
-•■....-••
**** * NO
* A2 *
* *
****
TIT060
YES .**
* AH *
* *
****
****
► *
* C4 *
» *
• ***
* A3 *
► *
****
TTT100
NO .*"
SISIN
BUFFER
OVERLAY
****
* *
* C5 *
* *
****
*****C3**********
* *
* SET /S *
* INDICATOR AT *
* NPSCH2 *
* *
*****************
SET KEYBOARD
ERROR SYSLOf,
CONHAND
>*************«
****
* *
* Ctt * .
* * |
**** I
TIT1S0 V
*****QH **********
* *
* SET SYSIN *
♦BUFFER OVERFLOW*
♦SYSLOG COMBAND *
* *
*****************
*****
♦002*
* A3*
! I
****
C5 i
4
*****************
TIT165 V BA/01/A1
*****J)ty* *********
♦NCENTR *
*************
*****************
BACKSPACE .♦--
*.OR ERASE .*
V
*****
*. . *
*002*
* NO
* A3*
*****************
****************
V JE/0 2/A5
****P5**********
TTT330 *
G
RE-INITIALIZE *
*
<****•**********
******
* *
♦SET RETURN COOE*
*********
***
*fl2*********
EN^EK -
***
************
| Y*!S
[■"*• ALLOW'r
V '*. .*'
I
****
**** I
♦ 002*
* C5 *
* 4 7 *-> |
* *
* * I
****
TT"0'tO V
*****(f 1 *******
***
*
*
i
* ^NA.IT.E T'F.
*
* K« , Y"0\HD
*<-
*
*
I *
*****************
*+***J •)*********
*
* lock K r, Y3n,\ , »n
*****r,u**********
* *
* SET XR1 AS *
* LEVEL TWO *
* POINTER ♦
* *
*****************
TTi-130
****!{ 4*********
* *
* RETURN *
* *
***************
*+***]! 5 **********
* *
* RESET XR1 AS *
* KEYBOARD IOB *
* POINTER ♦
* *
*****************
****
i *
1— >* K1 ♦
* *
****
Chart JE (Part 1 of 4). Model 6 System Input Device-CRT ($$STIT, $$STIX)
Program Organization 6-37
********
*
♦SET CURRENT CBT*
f->*BYTE ADDRESS AT*
* TIT180 *
♦ *
*****************
* A3 *— .
*****
* * I
**** V
*001*
* F2*
.*.
* *
A.I *
*
I
. *
.* BYTE
*
— >*. contJT =
*001*
* E2*
*****
*****Q-|**********
*****************
*****************
. * C8T
LINE
♦.OVERFLOW
*****E1 **********
*****************
*****P1**** ******
* *
* SET $$STIX LINE*
* OVERFLOK *
* COHMAND *
* *
*****************
TTT186 V BA/01/A1
*****r;1 **********
♦NCENTR *
♦CALL S*STIX TO *
♦ SET CRT LINE ♦
* ADDRESS ♦
*****************
*****H1**********
****************
*****************
* SET XR1 AS *
* KEYBOARD IOB *
* POINTER *
* *
*****************
*****
*001*
* K1*
*****************
TIT205
*****B3**********
* CHANGE BRANCH *
* ADDRESS FROM *
* TIT160 TO *
* TTT225 *
* ♦
*****************
.* >♦ At *
♦ UPDATE BYTE *
* COONT AND CRT *
♦ ADDRESS *
* *
*****************
*****D3**********
*****************
*****C4 **********
***•**•**•*••****
->♦ LOCK KEYBOARD * .
** i
***************** V
••**
• *
• A3*
• *
• ••*
*****************
*****£ {|**********
* •
* *
♦ENABLE KEYBOARD*-'---
1 : I
***************** v
I
• ***
I
* H3
•
I
♦ ♦♦♦
V
. *.
TIT330
3 *.
♦
****pi| *********
BACK
♦. YES
* *
SPACE
* ENTER ♦
♦ 1
* ♦
. *
1
♦♦♦♦♦♦♦♦♦♦♦♦**♦
♦. . *
V
* NO
!
♦ ♦ + ♦
♦ *
♦ AH ♦
♦ *
****
. ♦.
'
i *.
*****gi|**********
♦
* *
BYTE
*.
* SET RETURN *
UNI" =
.*
* ADDf
ESS *
*****************
****
* *
* H3 «
****
TIT 2 SO
*****lf 3**
♦ SET BHANCH AT ♦
* TIT?00 TO ♦
♦TTT110 ON KOUAL*
*****h"; **********
*****************
I
I
*****
*oni*
♦ K1*
♦ R?-ISITIALTZE *
* *
*****************
*****,J14**********
* *
♦SF.T ?SSTtX C/S *
* AT TTTieS AND *
* TTT186 *
* *
*****************
*****
♦ 001*
* r,n*
f**KU**********
************
Chart JE (Part 2 of 4). Model 6 System Input Device-CRT ($$STIT, $$STIX)
6-38
•***«& 1 **********
* *
* SAVE CRT START *
>* AND END *
* ADDRESSES *
* *
*•** ft** **********
• 002*
* Kl»*
*****
****ng1 **********
* *
* SET COUNT AT *
* TXT035 AND *
♦TIT185 FOB OCL *
* •
*•**!>*** *********
JJSTIX
****j2*********
* *
* ENTER *
* *
***************
♦SAVE ADDRESSES *
• *
* *
*****************
BA/01/A1
*****A3 **********
♦NCENTR *
* *
>* ♦
* CALL $$STOT *
* *
*****************
*****B 3 **********
* *
* SAVE REGS. *
* RESET XR2 *
* *
* *
*****************
[->*'. OVERFLOW
*. CODE .*
** *
♦SET STSLOG HALT^
* ♦
♦ ♦
*****************
*****X5* *********
* *
* *
->^SET STSLOG HALT^
* *
* ♦
*****************
INITIALIZE
***** D 1 **********
♦ SET COUNT AT ♦
♦ TITO 35 AND *
♦ TIT185 FOR 96 ♦
♦ BYTE STSIN ♦
♦ -i*
*****************
TIT3U0
****E1 *********
♦ ♦
♦ BETOBN *
♦ *
********•***••*
TO: CALLER
•' I
*****G1 **********
* *
* ROLL ONE CRT *
♦LINE AND UPDATE*
* CONTROL COUNT *
* ♦
*****************
****
♦ 00U+
♦ F3 ♦->
*****
♦OOM^
♦ A1*
****•{) 3 **********
CRT
*.
NO
♦ SET SYSIN ♦
LINE
♦RETURN CODE TO ♦
ADDRESS
*
7
♦ X«60' ♦
• ■♦
* ♦
♦. .♦
V
*****************
♦ YES
**•*
* *
♦ G3 ♦
•***
* ♦
* •
♦ E3 ♦->
***•
* *
'
****
. ♦•
TIX020 V
E2 ♦.
*****g3 **********
*
* ♦
*
♦ SET XR1 AS ♦
EIBC
)ARD
* 1
♦LEVEL 1
POINTERS
***4<*J1**** ******
• BLANK LAST *
*LI»E, SATB LAST*
♦ LINE START *
* ADDRESS «
*****************
*****P2 **********
♦ SET SERVICE ♦
♦ ERROR LOG ♦
♦ PARAMETER ♦
♦ POINTER ♦
♦ ♦
•************•♦♦♦
BA/01/A1
*****G2 **********
♦BCENTR ♦
*****•********♦♦♦
***** H 2 **********
♦ ♦
♦ ♦
♦ SAVE ADDRESS ♦
♦ ♦
♦ ♦
*****************
♦SET STSLOG HALT^
•*****•*♦*♦♦♦♦♦♦♦
*****K2**********
*****************
*****************
TIX030
****p 3 *********
* ♦
* BETORN ♦
* ♦
***************
♦ SET SYSLOG ♦
♦ PARAMETER ♦
♦ POINTER ♦
♦ ♦
*****************
" BA/01/A1
*****D4 **********
♦NCENTR ♦
♦ CALL t$STOT ♦
* ♦
*****************
*****£!)* *********
* ♦
* •
♦SAVE ADDRESSES ♦
• ♦
♦ ♦
*****************
*****pil**** ******
RESEST XR2
•*••***•****•*♦♦♦
r ->*'. COUNTED
► ♦** * NO
*****D5* *********
* ♦
♦SET LINE COUNT ♦
*****************
****
****
• *
« E3^
* *
*••*
■* i
***♦
TIX060
*****Q3 *•**••••**
*****************
*****H3 **********
*****************
****«P5 **********
**•••••***♦♦♦♦♦♦♦
*****Q5 **********
*****************
****
->♦ ES ♦
• *
• ***
.<
.
TIIOBO
.*.
J3 ♦.
J» *.
*****J5 **********
* *
♦ ♦.
* *
.*
OCL
♦ .
TES
.♦"
CRT ♦. TBS
* SET CRT LINE ♦
*.
*,
STSIN
♦. .♦
♦. .♦
♦ HO
♦ "
>♦.
♦.
FULL .♦
.♦
♦ - .♦
*. .♦
* NO
- — >*COONT TO X«0F' ♦
♦ ♦
• ♦
*••*••••*♦♦♦♦♦♦♦♦
1
1 ♦♦♦♦
* *
l->* C5 *
1 ••••
* *
!■->♦ C5 ♦
* *
* •
1
*♦•♦
• •*•
K3' '♦.
♦ ♦
.♦
CRT
♦
♦ .
POLL
♦ -•
♦
*. .*
*• .♦
,*
I
♦
♦ **♦
1
*
♦
1
♦ B5
•
♦
♦
♦
*♦•♦
• *♦♦
* *
* G1 ♦
* •
*
►*♦
Chart JE (Part 3 of 4). Model 6 System Input Device-CRT ($$STiT, $$STIX)
Program Organization 6-39
*****************
*****A 3 **********
**** * *
* * *St1BTRACT 1'HO' ♦
* A3 * >*FHOH CRT START *
* ADDRESS *
****
***************
►003*
► C2*
► ****
*****31**********
* •
♦INITIALIZE THE *
* CRT START AND *
♦LINE COUNT ADDR*
* *
*****************
*****C1 **********
* •
* ADD NPEND TO *
* CRT BUFFER *
* START ADDRESS *
* *
*****************
*****D1 **********
* *
* ADD NPEND TO *
* LINE COONT *
* ADDRESS *
* •
*****************
*****E1**********
*****B3**** ******
* *
♦SET BYTE 72 OP *
♦SYSIN RUFPER TO*
* BLANKS *
* *
*****************
* ***«D 3 **********
* *
* ADD X'UO' TO *
•CRT LINE START *
* ADDRESS *
* *
*****************
*****E3 **********
*****************
***** pi **********
* •
*SA7E LINE COUNT*
* ADDRESS AT *
* NCSTOH-11 *
* *
*****************
*****G1 **********
* *
♦SAVE CRT START *
•*•****•****•*••*
•*•****•**•**••**
*****
♦003*
* D2 +
* *
*****************
•****[) 1 **********
••***••*•********
*****j-| *********
•
* SATE IOB
* ADDRESS |T
* NCSTOR-1
*
****************
• *••
* 4
* A3 «
* *
****
Chart JE (Part 4 of 4). Model 6 System Input Device-CRT ($$STIT, $$STIX)
6-40
*$STEP
•***A1*********
• *
• EHTEB *
• *
*****B1 **********
*****************
****
♦002*
* D2 *->
JP/02/A4
*****C2**********
*EPEBLG *
JP/02/A1
*****C3***« ******
♦BPEBHT *
*****************
* DISPLAY 'P5' *
• •
***•*•**•***•**•*
JF/02/A«
*****D2** ********
♦EPBRLG *
•**•*******••***•
JF/02/A1
*****D3 **********
♦HPBBBT *
* DISPLAY 'P6' *
* *
*****************
*****23 **********
****
* *
* K 1 *
* 4
****
*****************
' JF/02/AW
*****************
JF/02/AH
*****G2 **********
•EPEBLG *
*****************
JF/02/AI»
*****H2**********
♦EPBRLG *
JF/02/A1
*****f 3 **********
♦EPERHT
*
>*
* —
_.,
• DISPLAY
•P8« *
1
*
*
[
*•*****•******••*
Y
(***
*
*
*
K1
*
*
•
**•*
JP/02/A1
*****G3 **********
♦EPERHT
•
>*
*
* DISPLAY
•P7« *
*****************
JF/02/A1
*****{) 3 **********
♦EPEBHT *
*****************
* DISPLAY 'P1' *
• •
*****************
*****************
**»*
* •
* in *->
**«*
EPEBTH
***«*K i**********
**•<>•* ***********
EPTBY JF/02/A4
*****j2 **********
♦EPEBLG *
••*♦♦♦♦♦♦♦*****♦♦
****K2*********
► 4
► RETOBB *
t *
***************
TO: CALLEB
*****J3 **********
*****************
JF/02/A1
)**********
* DISPLAY 'P3> *
• *
*****************
• PEBFOBH LAST *
>* CARRIAGE *
* OPERATIOH *
• *
*****************
****
* 4
* K5 *
• *
**•*
**•*
* 4
->* CI *
* 4
****
Chart JF (Part 1 of 2). Printer Error Recovery Routine ($$STEP)
Program Organization 6-41
EPERHT
****A1 *********
* *
* ENTER *
* *
***************
5PERLG
****nn*********
* *
* ENTEP *
* *
***************
***** B 1 **********
*****3«j**********
*****Q 1**********
*****************
* INDICATE *
* IMMEDIATE *
* CANCEL *
* *
*****************
* TURN OFF *
* SCHEDDLER *
* INTERLOCK *
* *
*****************
****Q1*********
* *
* EXIT ♦
* 4
***************
TO: END OF JOB
TRANSIENT
(ISSPEJ)
*****
*001*
* C1*
****E2 *********
* 4
* RETURN *
* 4
***************
TO: CALLER
*****Qm *********
* * * *
* *JJDLOG LOI * *
* * EHHOR TO * *
* * DISK * *
* * * *
*****************
*****nu **********
*****************
' BA/01/A1
*****KH* *********
♦NENTRY *
*****************
****rn*********
* 4
► RETURN *
• 4
***************
TC: CALLER
Chart JF (Part 2 of 2). Printer Error Recovery Routine ($$STEP)
6-42
JSSTOC
****H1*********
* «
* ENTER *
* *
***************
*****B1***» ******
***********
LOG OFF
OR HALT
ONLY
OCOUTO
. *.
D1 *
*
. *
OUTPUT
+ .
ONLY
BA/01/A1
*****C2**********
♦NENTRY *
***■
*****************
****C3*********
t *
► EXIT *
t> *
***************
TO: $$STOH
SYSTEM HALT
TRANSIENT
*****************
* WAIT FOR *
* CONSOLE NOT *
* BUSY *
* *
*****************
SYSTEM
PRINT-NO
. HALT
****
* *
* Gl *->
*****************
L->« G1 *
*****F2**********
* *
* SET UP FOB *
>* SYSTEM PRINT *-
* AND HALT *
* *
*****************
B
*****************
*****£ 1 **********
*****************
*****************
OCALL ♦ BA/OI/A*
*****j 1 **********
♦NENTHY *
* LOAD $$STCI *
* *
**•*•***•****••**
HALT *. YES
REQUESTED .*
****
* *
* C2 *
* *
****
OCTTT
**** K 2*********
* «
* HETORH *
» »
***************
TO: CALLER
Chart JG. Halt/Syslog for the Console Printer ($$STOC)
Program Organization 6-43
*JSTOP
****A 1*********
* 4
* EHTEB »
* *
***************
*****B1 **********
OPBLDP
**•*
* * .*
* A3 * >*.
* * *.
**•*
JH/02/A2
*****************
*****************
*****
•002*
* fT*
*****
♦002*
* H1*
• ***
• 4
->* A3 *
* *
*•**
*****
♦002*
* F1*
OPXTBA
D3
•
*.
*.
•
. *
*.
PBINT
AND BAIT
*
TES
•****D4**********
*****************
*****************
LOG ON
AND NOT
.ALLOCATED.
*****F1 **********
* *
* *
♦ALLOCATE DEVICE*
* *
* *
**•*****••****•**
OPAGIH * JH/02/A5
*****Q1 **********
*OP»AIT *
02*
Hi*
*****************
OPOK ♦ JH/02/A3
***** F 3**********
♦OPS 10 *
* PBINT LINE *
♦ ♦
*****************
•********•*••****
•002*
* H5 *->
*****H 1**********
¥
*****
♦002*
* G2*
JH/2/I5
*****************
t
*****************
*****
♦002*
* PI*
*****
•002*
♦ A1*
.* CABBIAGE *. TBS
►. LOCATION .*
*. BANTED .*
****
* •
* A3 *
* •
♦***
*****K2**********
*****************
Chart JH (Part 1 of 2). Halt/Syslog for the Line Printer ($$STOP)
6-44
*****^^ **********
*****************
* *
• 001*
* J1*
*****
OPSETU
*«**H2*********
* ENTER *
* *
***************
*****B2 **********
OPSIO
♦♦♦♦HI*********
* *
* ENTEh *
* *
***************
*****B3** ********
OPMaTT
* *
* ENTEii *
* *
***************
»****BS**»* ******
*****************
****************
*****************
*****************
*****£$** ********
* *
* *
* LIO *
* *
* *
*****************
*****************
3INT V JH/02/A3
*****E1**********
♦OPSIO *
*****************
****
01-B3+001*
01-C3* H3 *->
*****.p 1**********
* *
* *
♦RELEASE PRINTER*
* *
* *
*****************
„ * HALT *. 1
*., HEEDED .*-
*. .*
*. .*
*. .*
* IBS
***♦
01-81*001*
* C1 *->
* *
♦ ***
OPHA1T
'
*****H1 **********
* *
♦SET OP TO CALL ♦
* *$S
roH ♦
*****************
OPCS ♦ JI/01/A1
*****j i ****♦**♦*♦
♦$*ST0H ♦
*****************
*****G2 **********
1 :
♦ 001*
* G3^
*♦•**
***********♦♦*♦♦*
*****D3**********
*****************
****$■$********
*
* RETURN
**************
OPSAVE
****q 3 *********
* *
>* RETURN *
* «
***************
TO: CALLER
ANY *.
NO
FttifOKS
. *
I
.*
I
*. . *
»
* YES
*•**
* J5*
* *
***•
v"
****♦
♦001*
♦ H1*
* *
*****E5**********
*****************
BHP8 V JF/01/A1
**«**F5**********
*$$STEP ♦
* *
* PERFORM ERROR ♦
* PBOCEDURE FOR ♦
* LINE PRINTER ♦
*****************
*****G5 **********
*****************
****
* *
* J5 *->
****j 5 *********
t *
» RETURN *
* *
***************
TO: CALLER
Chart JH (Part 2 of 2). Halt/Syslog for the Line Printer ($$STOP)
Program Organization 6-45
****
* *
* AH *
* *
****
S*STOH
****A1*********
* 1
* EIJTEK «
* 4
***************
*****B1**********
*****************
****
* *
* C1 *->
* *
**** v I
OHCNVT .*. * ""
CI *. C2" "*.
.* THIS *. .* *
.* DESIRED *. NO .* END OF <
*. CHARACTER .* >*. TABLE ?
*. ? . * *. <
*• •* *• .*'
*• •* *. .*
* YES * yes
J
OHFND
*****D1**********
*BOVE LIGHT CODE*
* INTO HALT *
* *
* *
*****************
*****E2 **********
* *
* SET UP TO *
->*CONVEhT SECOND *
* CHARACTER *
* *
*****************
I
j ****
* *
L->* ci *
* *
****
*****P1**«* ******
* *
* SET OP TO *
* CONVERT FIRST *
* CHARACTER *
* *
*****************
* NO
* *
* HI *->
* *
****
*****H1 *********
* ISSUE HALT
****************
**J 1**********
*****************
♦MOVE HALT CODE
->* INTO PROGRAM
* SAVE AREA
*
****************
****H2*********
► EXIT *
***************
TO: HfLNUC
RESIDENT HALT
ROUTINE
OHOVEB
*****45 **********
•ISSUE HALT FOB *
•IHVALID REPLY- *
>*RE-ISSUE USER'S*
* HALT *
* »
*****************
L****
* *
>* HI *
* *
****
OHSAVE
****B5*********
* •
- — >* RETURN *
* *
***************
TO: CALLER
OHEOJ
"
****c<t* ********
* *
* EXIT «
* 4
***************
TO: StSPEJ
EHD OP JOB
TRANSIENT
Chart JI. System Halt Transient ($$STOH)
6-46
*****
♦001*
* 14*
SSSTF6
****I1*********
* *
* EHTER *
* *
**:*•****•**•***
•SITE REGS, SET *
* OK EBP SWITCH *
* •
* •
•••*••****•*•****
• ***
*****************
J J/02/14
*****B5 **********
•PBH1LT *
♦ISSUE STIC HALT*
* •
•**•••*•*********
C1 *.
* *
ROM-LOG
C2 *.
IHV1LID
COHMIRD
*.
*.
J J/0 2/11
**********
.*
*002*02-C1
* pT*
*****
* TES
*****************
*••*****•••*•****
Hs* 1
*****************
' Bl/01/11
* GET **DLOG •
• *
•*•**•*•••****••*
.♦.SEE ROTE 1
. * DETERHIRE
ERROR
*. TTPB
*. .*
*. .*
.1 001 G3
.2 001 G3
.3 001 14
.4 002 11
.5 001 14
.6 002 H1
D2" '*.
.*BBT0RH *.
^TOfloE ;
*****22**********
* *
* *
* SET OP HILT *
* *
* *
•*•*•••**•******•
*****
•002*
* H1»
*****g3**********
* •
* •
* SPICE B1CK •
* *
* *
•**•***••*••*****
.Uuiui*
*. TOO BIG .*
*****24**********
* •
* SET it n •
* REPOSITION •
* BLEB BUT *
* *
*****************
*****
•002*
• «?•
•****pj**********
i LE1JI g||.BRT J
• •
*****************
BO 2*
HI*
• ISSOB HILT *
• •
*****************
****
* 4
* C1 •
t *
• **•
*****
•001*
* G3*
•>* *
* SET OP HILT *
• •
•••••*•********•*
I****
• *
->• CI •
• *
••••
•****B3**********
* •
* *
•SETOP TO RBTRT *
*****************
*****
*002*
* El*
• •
Chart JJ (Part 1 of 2). Model 6 Printer Syslog Error Recovery Procedures Routine ($$STP6)
ROTE 1
1 = HOHZ CTCLE CHECK
2 - TBBT CTCLE CHECK
3 = STHC CHECK
4 = D1T1 OR ROS CHECK
5 - IURGIH CHECK
6 = HO ERROR
Program Organization 6-47
*****
*002*
* 41*
* *
*****A2 **********
->* TAB LEFT OHB
*****************
PEHALT
****AH*********
• *
• ESTEB *
• *
***************
*****B1 **********
*****B2 **********
*****B4 **********
***•••**•********
t JJ/02/M
*****C1 **********
♦PEH1LT *
*****************
I****
* *
->* F1 *
* *
***•
*****************
*****C4 **********
* ISSDE HILT *
* *
**•******•*•*•***
*********••**•*•*
" BA/01/A1
*****D4* *********
♦BCBBTB *
01-EK
*****
*001*
*****************
PESIO V
*****g1 *•**••••**
* LOAD CONHAHD *
♦BEGISTBR. STABT*
* PBIBTEB »BD *
* »AIT *
* *
******•*••****•**
****
F1 *.
EBBOBS
*****B4**********
* *
♦HBPLACE CDBBEBT*
* HALT *
* IBFOBHATIOR *
* *
*****************
*****F5**********
)1*
:i*
***•****••*•**••*
PEDCHC JJ/02/AU
*****G2 **********
♦PEHALT *
* ISSUE SALT *
* •
*****•***•*••*•**
****
01-D5*001*
01-E3* F1 *->
****G4*********
* *
* BETOBB *
***************
TO: CALLBB
****
PEXIT
*****(] 1 **********
* *
* BESET AHD »
* BELOAD *
* REGISTEBS *
* *
*•••••**•***•*•**
****j1*********
» *
• RETOBH «
* *
•****•••******•
rO: CALLER
Chart JJ (Part 2 of 2). Model 6 Printer Syslog Error Recovery Procedures Routine ($$STP6)
6-48
ISSTOK
****&1*********
* *
* EHTRT *
* *
***************
♦SAVE REGISTERS *
*****************
* c2 *-~ .
'* I
OMAAA
*****C2 **********
*****************
IBS .* 2110 OMB *.
* SWITCH *
* EXCEPTIONS TO *
* BOLE »
* *
•A***************
OHCCC
NO .*"
*****Q1 **********
*****************
I ****
* *
•■->* G3 *
* *
****
SCAB TABLE
*****************
**••
* i
* E<» *-
*••*
OBITAL
*****E<»
♦HCEBTR
* I
♦ BA/01/A1
**********
*. POSITIOH 1
*****Q2**********
* *
* MULTIPLY *
* DISPLACEMENT *
* CHAB 1 X22 *
* *
*****************
*****H2 **********
*****************
* ADO DISP OF ♦
->*CHAR 2 TO (DISP*
* CHAR 1X22) *
+ *
*****************
***•
*****q 3 **********
* *
* MOVE NEB HALT *
♦CHABS TO SYSTEM*
* BUFFER *
* *
*****************
•****H 3 **********
*****************
*****j 3**** ******
* *
* RELOAD *
* REGISTERS, SET *
* $$STOK CALLED *
* *
*****************
****K3*********
» *
* EX IT *
***************
rO: NCENTR
Chart JK. Halt/Syslog-Halt Code Conversion Routine ($$STOK)
*•*••*•***•*****•
Program Organization 6-49
* «
* A3 *
* *
****
SfSTOS
****11 *********
• 4
• EITBY *
• 4
***************
A3 *.
*
CAHCEL
***«*AI( **********
•**•******•*•*•**
OBTEST
♦«**A5*»*******
* •
* EHTHY «
* 4
***************
*****B1 **********
* *
* *
•SATE BEGISTEBS •
* *
* *
*****************
♦TQBB OFF FIELD *
* ABD COBNAND *
» LIGHTS *
* *
•**••*******•****
•***B4**« ******
• *
• BETUBN *
• *
•*•*••*•*•••*•*
*****B5***« ******
•SATE BEGISTEBS *
*****************
♦♦♦•♦C5 •*•**••*•»
*•*••••••••*•**••
*****Q1 **********
••**»**********♦♦
• ISSDE HPL
****************
•* **P1* ********
****••**••••***
•»«*»D3«*********
• *
• •
• TOBI CBT OB *
• ♦
*•**••*••******••
*****Q2**********
HALT
•*••••***•••***
•*••••••••****•*•
*****H2 **********
* •
* SUABLE •
->*KEYBOABD. ISSUE*
* HALT •
* •
*****************
• SET OPTIONS •
• *
• •
*****************
*****K1**********
♦LOAD IHTEBHOPT *
* LEVEL 1 MITH *
* ADDBESS OF *
* INTBRPT HNDLB *
* *
*****************
PBOG OB
SYSTEM
STABT
*****Q3**« *******
*****************
*****************
f
*****
* HO
<
*****************
»****K3**********
->*
*****************
****K4* ********
*
EXIT *
* 4
***************
TO: SJSPEJ
****************
*****H5**********
• BESTOBE *
* BEGISTEBS. *
♦BESET IHTEBBUPT*
* LEVEL ♦
♦ •
*****************
****J5 *********
* *
* RETURN *
* *
***************
Chart JL. Model 6 Halt/Syslog Routine-Keyboard ($$STOS)
6-50
SSSTOH
•***A1 *********
* *
* ENTER *
* *
***************
•SITE REGISTERS *
*****************
*****************
OHDADD T BA/01/A1
*****pi *****'***'**
♦NCENTR *
. JS/02/A2
*****C2 **********
♦OHSPAC *
* •
* SPACE A LINE *
* AND RETURN *
* ELEHENT *
*****************
OHBBB
***** D 2 **********
*****************
JN/02/A2
*****B2 **********
♦OHEXEC *
* *
* PRINT MESSAGE *
* *
*****************
" JH/02/A2
*****P2 **********
♦OHSPAC *
****
» 4
► B3 ^
• 4
****
OMHALT V BA/01/A1
*****B3 **********
*NCENTR *
* ISSUE HALT *
* *
*****************
****C3*********
* 4
* EXIT «
* «
***************
TO: SUPPORTED
HALT/SYSLOG
E
****•**••**•*••**
• ***G 1 *********
* *
* EXIT »
* *
***************
♦SPACE ONE LINE *
* *
*****************
V JN/02/A2
*****G2 **********
♦OHBXEC *
*****************
ONSHT
.*'
* *. ****
*. NO * *
EITHER/OR .* >* B3 *
*****************
****K2*********
► *
► RETURN *
***************
ro: CALLER
Chart JM (Part 1 of 2). Model 6 Halt/Syslog Routine- Matrix Printer ($$STOM)
Program Organization 6-5 1
OMSPAC
****A2*********
* *
* EHTEB •
* *
***************
OMSKIP
****B1 *********
* «
* EHTEB *
* *
***************
*****Ci **********
•*••••••••*•*••**
*****B2«* ********
*****•*•*•••****•
WITHIN
SYSTEM
HUGH
ONSET*
****C 3 *********
• *
• EMTEB «
• *
•**•*••*****•**
***•*•••*•*•••*•*
* SET SPICE *
* AND/OB HETUBH •
* COHHAND *
* •
*••••••**•**•*•••
OHSKLP t JH/02/A2
*****B2**** ******
♦OHEXEC *
♦SPACE ORE LINE *
• *
*****************
* SET SKIP *
->♦ COHHAND AND *
* COURT ♦
* *
*****************
OHAEIT * JN/02/A2
*****H 3* *********
•OHEXEC *
♦EXECUTE COHHAND^
* *
**••**********••*
****J3*********
* «
* BETUBN *
* 4
•*•**•*******♦*
Chart JM (Part 2 of 2). Model 6 Halt/Syslog Routine-Matrix Printer ($$STQM)
6-52
**STON
****JI1*********
v *
* EHTEB *
* 4
******** *******
**** .* *
* * .* LINE
* »3 *_-,-->*. LENGTH =
ONSTBT T
*****B1 **********
♦SAVE REGISTERS *
* *
* *
*****************
OHCON BA/01/A1
*****E2 **********
♦ NCENTB *
*****************
****F2** *******
* 4
* EXIT *
* 4
**•*•***••*****
onourc
I
. *•
G1 *
•
*
. *
LINE
*. LEHGTH TOO
•
BIG
****
* 4
* G5 4
* 4
*•**
*•**
* 4
* G5 *
* *
***•
* DETEBHINE *
* PRINTER TTPE *
* AND SET COHNAMD*
* *
*****************
• * *.
► «
SKIP-TO-ONE
*****************
TABCAL V
*****C 3 **********
* DETERMINE *
* DIRECTION AND *
* COUNT FROH *
* PRESENT *
* POSITION *
•********•**••*•*
JN/02/A2
SETCND . , ...
*****q3* *********
♦ONEXEC *
* *
* TAB TO RT OR *
* LEPT END OF *
* LINE *
*****************
*****************
JN/02/A2
* PRINT LINE *
* *
*****************
JH/02/A2
" JH/02/C3
*****K2 **********
♦OHSBTA *
♦SKIP TO LIM 1 *
* *
*****************
: a 8°Ksii!8n :
*****************
♦SPACE ONE LINE *
* *
*****************
K3 *.
.* *•
.• AT LINE *. TBS
E
*****G4 **********
* *
* SAVE LINE *
* COUNTS FOB *-
* CALLER *
* *
*****************
)2*
J5*
*
I
***
5TO
lilSTtSKS *< •
: I
****••*••** I
*••*
****H5*********
• *
• RETURN 4
» *
**•••*•*••**•**
J9/02/A2
♦SPACE ONE LINE *
♦ *
♦♦♦***•********••
****
* *
* A3 *
* 4
• ***
****
• *
• A3 *
• •
**♦*
****
* 4
* A3 *
* 4
*♦*•
Chart JN (Part 1 of 2). Model 6 Halt/Syslog Routine-Output Only, Matrix Printer ($$STON)
Program Organization 6-53
*****C1 **********
ONEXEC
****A2*********
* EHTEB ♦
* *
***************
****
* *
* G3 *
* •
****
*<-
* *
* *
•*•*****•*••***•*
I****
* *
->* G3 *
• •
****
OHPBTE BA/01/A1
*****D2 **********
*«CEMTB *
* HANDLE EBBOBS *
• *
*****************
**••**••••*******
****F2*** ******
* *
* EXIT *
* *
*••*•*******•**
TO: SSSPEJ
*•*••*•**********
*****F3 **********
••••*•*•*•*•*****
*****G3**** ******
*****************
*****f)3 **********
* *
* SIO. WAIT FOB *
PRIRTEB
*•**•••*•*•****••
****K3 *********
* •
* BETDBI *
* •
***************
OHPTEB BA/01/11
*****jt|* *********
* BCEIITB *
* HAUDLE EBBOBS •
* *
*****************
K4 *.
*
OPTIOI
*.
*. .*
*****
*001*
* G5*
• *
****K5*********
t *
► EXIT *
* *
***************
ro: SSspej
Chart JN (Part 2 of 2). Model 6 Halt/Syslog Routine-Output Only Matrix Printer ($$STON)
6-54
$$STOT
****A1*********
* *
* ENTER *
* *
***************
*****B 1**********
*****************
.* HALT
*,
YES
*. ONLY
* ■
*. .
*
1
*. .*
I
*. .*
♦
* NO
****
• *
* C<t *
* *
****
' '
.*.
B2 *.
.* ' *.
.*
•
YES
*. ADDITIONAL
*
*. OUTPUT .
*"
♦ .
.*
*****B3 **********
* *
*HOVE ADDITIONAL*
>* OUTPUT TO *
* SYSLOG BUFFER *
* *
*****************
„♦ *$STOK
♦ . CALLED
*.
*«***D1 **********
* *
* •
* SATE 181, ZR2 *
* *
* *
*****************
*«***£ 1 ****••••**
* CLEAR THE •
♦SYSLOG BUFFER, *
* SATE C/S OF *
* MSTOK *
* *
*••**•*•*•*******
F1 ♦
*
HALT
OILY
•***Gt *********
* *
* EXIT *
* *
***************
TO: NCENTR
STO010 V
• ****[{ 1 **********
C2 *.
.* *.
EITHER/OR
*****************
• **•
► *
» J1 *
t *
****
I****
* *
->* G2 *
•****D2 **********
*****************
*****A<| **********
* *
* HOVE SYSLOG *
* DATA TO CHT *
* BUFFER *
* *
*****************
* CONDITIONAL *
* BRANCH AROUND *
* $*STOS *
* *
*****************
*•*•
* *
* C« *->
* *
****
STO1«0
*****C4 **********
*****************
****D4*********
► *
► EXIT *
► *
***************
TO: NCENTR
STO040
STO050
STO060
E
F2
0,1,2
*****F3**********
• •
SET OPTION IN
*. or 3 Option .* >* syslog buffer *
*****************
***•
► G2
*->
* SAVE THE HALT *
* CODE *
* *
* *
*****************
****
* *
* J1 *->
* *
• ***
STO020 .*.
J1 *.
• ♦ ♦.
.. * *.
*„ LOG
OFF .*
****
STO090
•****G2**********
* SET *
* DISPLACEMENT *
♦FOB MAJOR HALT *
* CODE *
* *
*****************
STO100
*****H2 **********
♦ HOVE HAJOR AND ♦
♦ MINOR HALT *
♦CODES TO SYSLOG*
♦ BUFFER *
♦ *
*****************
V JO/0 2/AU
*****j3 **********
*STO2t0 *
YES
*
OUTPOT
r
*,
ONLY
*.
*. . *
*****
* N
*002*
I
* A1*
1
*****************
►****K2 **********
*****************
****
* *
* At *
* *
****
Chart JO (Part 1 of 2). Model 6 Halt/Syslog Halt Routine-CRT ($$STOT)
Program Organization 6-55
r
• 001*
* K1*
*****
JO/02/At
*****A2 **********
• *
* TBUNCATE *
->*DISPL1T LENGTH *
* TO 128 *
• •
*****************
STO210
****A3*********
* *
* ENTER *
* *
***************
*****B 3 **********
STO2H0
****A4*********
* 4
* ENTEB *
* *
***************
*****Bit**«* ******
*****************
*****************
*•**•*•*****•****
* CLEAB STSLOG *
->*BUFPEB SET LINE*
* CODE =0 *
* •
•*•**•****••**••*
* ****C 3 **********
* *
* INITIALIZE *
♦BOPPEB POINTEB *
* AND COOBT *
* *
*****************
*****C1 **********
* *
* SET THE CBT *
* STABT AMD END *
* ADDBESSES *
* *
•***•***•*******•
D1
*.
•****D3**********
.* *.
• *
.* LENGTH *. TES
*. * .* .
• HOVE CBT DATA *
* OP 1 LINE *
*. .* 1
* •
*. .» 1
* *
*. .* ♦
**•****•******••*
• mo *••*
1 * *
1 * J1 *
1 * *
1 *•**
.*.
.*.
'
El *.
E2 *.
*****E3 **********
.* *•
* *.
• *
.* LENGTH *. TBS
•
2 LINES *
TBS
* OPDATE BOPFEB *
*. > 64 .*
>*
LEFT
*-
* POINTEB AND *
*. . *
•
.«
1
* COUNT *
*. .*
*. .*
1
* •
*. .*
*. .*
V
•••**•***********
* NO
* NO
**•*
*•*•
•
*
* *
* P1
•
* PI *->
•
•
• *
• *•*
****
'
STO190
'
JO/02/A3
. *.
•***•]> 1 **********
• ****F2*****'***'**
P3 *.
* •
•STO210
*
.* *.
» SET HOVE *
.* END OF *- NO
•INSTRUCTION FOB*
*
*
*. BOLL .* —
* CBT DISPLAY *
•
BOLL CBT
•
*. .*
• *
•
•
*. .*
*****************
•***••*••*•******
*. •*
I
* YES
1 ••*•
( *
•
>.->* F1
*
*
*
• •••
JO/02/A3
*****D5 **********
•STO210 *
*****************
*****G1 **********
***•*••*•*•******
••*•****••**••***
• ••*
*••*
BESXB1
*****jt *********
******•*•••*••**
•***K^*******«*
» *
• BETUBN *
¥ 4
***************
*****Q3**********
•••••**•**•****•*
•****H3* *********
* *
* SAVE THE *
*ADDBESS OF THE *
* LAST CBT LINE *
STO230
****J3*********
* *
* HETUBN «
* *
***************
•SET ADDBESS OF *
• CDBBBNT CBT •
• LINE •
• •
*•*•••*•*•*•***•*
STO260
•****P4**********
**••*•***••******
STO270
****GV *********
* *
* BETUBN *
* *
*•***•**•****•*
Chart JO (Part 2 of 2). Model 6 Halt/Syslog Halt Routine-CRT ($$STOT)
6-56
$SSTOI
•***AJ *********
* •
* EITEB *
* *
**•****•••*•*•*
*****B1 **********
•SITE BEGISTEBS •
*****************
*****C1 **********
•a***************
.* off *. «o
*. COaHIMD .* —
*. . *
*****bi **********
D2
OH
*.
COBB ADD
*. •*"
*. .*
* IES
*****0 3**** ******
•*•••********••**
^****
* *
->* Jl» *
* *
****
*****************
I
*•**
* *
* H4 *
* *
***•
*****************
*****P2**********
* •
* CLEIB CfiT *
* BUFFER TO *
* BLANKS *
* *
*****************
***•****•*••****
E
♦SET BETUBN CODE*
*****j3**********
*****************
****
TOX050
*****jH** ********
**********
*****************
****K!|*********
* KETUKN *
* *
***************
TO: CALLErt
Chart JP. Model 6 Halt/Syslog Routine-CRT On and Off Transient ($$STOX)
Program Organization 6-57
SSSLSE
***** 1*********
* •
* ENTEB *
* *
••*****•***•*••
STABT '■
•****B1 **********
* BLANK LIST 91 •
* BYTES OF AREA *
* POINTED TO Bl *
* XB2 *
* *
*****************
VALID *. MO
MESSAGE .*
OPTION .*
BA/01/A1
BBE011
*****C2** ********
♦NCENTB
>*HALT/SYSLOG LOG*
" OUT A BLANK *
LINE *
*****•••***••****
* *
► C2 ♦
► *
• ***
•*«**D1 **********
••*•••*•**••****•
****D2** *******
* *
► EXIT *
► *
***************
BBE020 V
*****£ t **********
* CONVERT *
* BEQOESTED *
* OPTION TO •
* PBINTALBE NO. *
* •
a****************
F1 *.
.* NEED *
EXTENDED
SET OP
.MESSAGES
*. .*
*. .*
BA/01/A1
BBEOKt
•****P2** ********
♦NCENTB
*****************
RBE001
•****G1 •••****•**
* SCAN MESSAGE *
♦OPTION TABLE TO*
* FIND COBBECT *
* BEND *
* •
***^*«* *••*•**•••
*•*•
****G2** *******
• 4
► EXIT *
► 4
•*•**•••**••••*
ro: ffsLsi
, * DONE *. TES
HITH MENU .* .
*.FOB NESSG.* I
RBE003 "
*****J1 **********
•SCAN DICTIONABT*
* FOR 1IORD *
* POINTED TO IN *
* MENU *
* *
*****************
* MOVE WORD TO *
* BUFFER TO * .
♦COMPOSE MESSAGE* I
»*******«
****
* *
* H1 *
* *
****
Chart JQ. Model 6 Halt/Syslog Scheduler Error Messages Routine ($$SLSE)
6-58
I$SLS1
****A1*********
* «
* ENTER *
* *
***************
BBE011 »
*****B1 **********
* *
» SCAN OPTION *
* TABLE FOB *
* MESSAGE *
* *
*****************
****
CI *.
DQHE
BBE011 BA/01/A1
*****C2 **********
♦NCEHTB *
*****************
BBE003 '
•**** D j**********
* SCAB DICTIOHABT*
* FOB HOBO +
* POIHTBD TO Bt *
* HEHBBB *
* *
*****************
****D2*********
* EXIT •
» *
***************
TO: SOPPOBTED
HALT/SYSLOG
*****************
E
Chart JR. Model 6 Halt/Syslog Scheduler Error Messages Routine ($$SLS1)
Program Organization 6-59
tSSSGT
****jy1*********
* *
* ENTER *
* 4
***************
****
* *
* A.l * .
* * I
****
GTIOBS V JS/01/AI»
*****A3**********
♦GTDISK *
*****************
GTDISK
♦***A1*********
+ *
♦ ENTER *
* *
***************
***** n y **********
*****************
GTGTCS 7 JS/01/A«
*****B3 **********
♦GTDISK *
* *
* BEAD IN THE *
* USER'S BECOED *
* SECTOB *
*****************
*****BU **********
*****************
*****C1 **********
*****************
♦HOVE THE USEE'S*
* DATA INTO OE *
* OUT OP BUFFEB *
* *
*****************
k**C4 **********
*****************
GTOP V JS/OI/At
•****D 1 **********
♦GTDISK *
V JS/01/Alt
*****DJ* *********
♦GTDISK *
*****q n* *********
*****************
*****************
*****************
* FIND THE ♦
♦ CURRENT INDEX ♦
♦ BNTHI ♦
* *
*****************
F1 *.
*
UPDATE
*****H1* *********
*****************
*****************
► ***
* *
* INCREMENT THE ♦
>♦ C/S/D TO THE *
* NEXT RECORD ♦
* *
*****************
*****************
****
* *
* F3 *->
* *
*•**
****P3*********
* *
* RETURN *
* •
***************
TO: CALLER
****Fi» *********
• *
♦ RETURN «
* *
•********••***•
TO: CALLER
*****************
*****F5** ********
* *
* *
* HALT '01' ♦
* *
* *
*****************
****G5 *********
* *
* EXIT ♦
* *
***************
TO: SJSPEJ
THERE AN
OTHER
. RECOHD
*****j2**********
* *
♦INDICATE END OF*
>♦ FILE RETURN *
* CODE *
* 4
*****************
Chart JS. Scheduler Work Area-Get ($$SSGT)
6-60
*$SSPT
****A1*********
* ENTER *
* *
***************
«****B1 **********
****************
«****C1 **********
*****************
PTOP V JT/01/Ftt
*****D1 **********
♦PTDISK *
* *
* REJID INDEX *
* *
*****************
* FIND THE *
* CORRECT INDEX *
* FUNCTION *
* *
*****************
* UPDATE THE *
♦INDEX FOR THIS *
* RECORD *
* *
*****************
PTTOliS V JT/0 1/F1
*****K 1**********
* PTDISK *
************
****
* »
* A3 *
* *
****
PTGTCS V JT/01/F4
***** A3 **********
*PTDI SK *
*****************
*****************
PTDSKH V JT/01/F4
*****C 3 **********
♦PTDISK *
*****************
*****D 3 **********
*****************
*****F2 **********
* *
♦SET UP THE IOB *
->*TO REPLACE THE *-
* RECORD *
* *
*****************
*****q2**********
* *
♦RESET THE INDEX*
->* POINTERS FOR *
♦THIS OPERATION ♦
* *
*****************
->* A3 ♦
* 4
****
*****j2 **********
***********
****
* *
•>* A3 *
* *
****
****D4* ********
* *
* HETORN *
* *
***************
TO: CALLER
PTDISK
•***B4*** ******
*
* ENTER
*
***************
*****ptl**** ******
* * * *
* *NCEIOS IOS * *
* *READ/»RITE * *
* ♦ * *
* * * *
*****************
*****Qt|**********
* * * *
* *NCEIOW IOS * *
* ♦ WAIT ♦ ♦
* * * *
* * * *
*****************
E
PTCHK1
V
****J4*********
* *
* RETURN +
* *
***************
TO: CALLER
>* HALT •HE 1
*
*
****************
**JS **********
*
*
HALT »0t» *
*
*
**************
****K5 ******* 4
* EXIT
**************
TO: JiSPRJ
Chart JT. Scheduler Work Area-Put ($$SSPT)
Program Organization 6-61
SS5SSC
**:H*A1 *********
* *
* EHTEB *
* «
***************
*****B1 **********
* *
* *
♦SET OP THE IOB *
* *
* *
*****************
XKDBX
REEDED
• - *
*. .*
•
*"
HO
* 1
I
* YES
*•••
•
* GO
•
• *••
'
* ♦HCEIOS BEAD* *
* * III THE * *
* * IMDEX * *
* * * *
**•**•*•••••**•**
*•*•*•*•••**•*•**
*****G2***« ******
* •
* IltCBEHEHT *
->*ADDRESS BI OEE ♦-
* SECTOR *
* *
*•*•••*•**•***••*
E3 *.
.* *.
.* *. I
>♦. UPDATE .*-
*. .*
*. .*
*. .*
* TES
'
*****F3 **********
* •
* SET C/i TO *
* COBSEHT BEAD *-
* *
* *
*****************
IBITIAL
• •**
* •
* H1*
* *
****
*****************
I****
* *
->* G3 *
• •
*••*
*****f 5**********
* *
* INCREMENT *
•ADDRESS BI ONE *
• SECTOR *
• •
*•****•*•*•**•***
I****
• *
->* G3 *
* *
• •••
I **•
***»
IICEIOS * *
OPDATE * ♦-
IHDET * *
* •
**•*•*•**••*•*
i :
«***
♦SET OP THE IOB ♦
♦ POB OSEB'S ♦
BEQOBST ♦
•*•*•••*••***•••
****
» *
► H1 ♦-
*****************
• ***
* *
* J1 *
* *
****
****j1*********
* *
* BETOBN «
* *
***************
TO: CALLER
****
SCDIOS
*****H4 **********
♦ ♦ IICEIOS ♦ *
♦ ♦ PEBPOBH ♦ ♦
♦ ♦ BBQOESTED ♦ ♦
♦ ' FOMCTION ~ '
* *
* •
•***•**•*•***•*••
NO
*•**
* *
->♦ J1 *
* *
****
*****J5* *********
* *
♦ INDICATE 'HE' ♦
>♦ FOLLOWED BT ♦
♦ HALT '01' ♦
• *
*****************
****K 5*********
* *
* EXIT *
» *
***************
TO: JfSPEJ
Chart JU. Scheduler Work Area- Read /Write ($$SSSC)
6-62
iSSSSVT
****A 1*********
* *
* ENTER *
* *
***************
*****31* *********
*****************
*****C1**********
******* *******<
,****P1**********
*****************
->*. LIST ONLY
*****************
*****E2 **********
t ****** **********
► HI *
► *
****
LABEL *. NO
SEABCH .*
. *
V
.*
*****
*. . *
*002*
* YES
* CI*
i ****
* *
I— >* H1 *
* *
* *
****
*****G 3 **********
*********
****
* *
* H1 *->
It**************
VTOPFH V JV/0 3/A1
**+**j1 **********
♦VTRDWT *
* *************
*****H2 **********
♦SET IOB C/S FOB*
* THE *
* CONFIGURATION *
* RECORD *
* *
*****************
02-BU
02-F1
02-N3
»PKSTOK2 RKTilRN *
*****************
VTPACK
****-<3*********
* *
>* HP.TIIWN *
* *
***************
TO: CALLED
****
* *
* JU «
LIST ONLY .*
. *
*- • *
*» . *
* NO
I
V
*****
*002*
* A3*
* *
*
V
*****
*002*
* A1*
Chart JV (Part 1 of 3). Volume Table of Contents- Read/ Write ($$SSVT)
Program Organization 6-63
VTSARH .*.
A1 *.
.* *.
.* ENTRY *.
r ->*. IN INDEX .*
| *. .*
1 *. .*
*• -*
* * lfES
* *
•001*
• JH*
*****
VTBOVE
*****g-J**********
)LE *. YES
****
* *
* PICK-UP 'S'
->* J.IST POINTER
*****************
*****************
****
*001*
1
* Dt
t-1
1
* *
****
I
VTGOTD
»
*****
"1*
*********
*
*SET
IP
IOB
FOB
*
* c/s
S
BUFFER
*
AREA
*
n***** **********
VTGET V JV/0 3/A1
*****D1 **********
♦VTRDWT
****************
* B3 *
* 4
****
V JV/03/A1
*t**tc 3 **********
♦VTRDWT *
*****************
*•**
****
VTXAGN
*****Q 3********4
*****************
->*SET RETURN CODE*-
* *
* *
*****************
*****
*001*
* K2*
***•
* *
* G1 *->
* *
***•
VTGOT
*****Q1**********
* *
* SET IOB FOR *
* HR
[TE *
****
* *
* G1 *
* TES •***
**** * *
** B3*
D3 ** *
r • *•**
****
Lt
*****************
►**H2**********
VTOUTP JV/03/A1
*****H3**********
♦VTKDHT *
*****************
*****
*001*
* K2*
* *
*****************
Chart JV (Part 2 of 3). Volume Table of Contents- Read/Write ($$SSVT)
6-64
VTRDVT
****A1*********
* ♦
* ENTEK *
* *
***************
*****B1 **********
*****************
k***C1**** ******
* * *
♦NCEIOS DISK» *
* IOS * *
*****Q1**********
* * * *
* *NCEIOH DISK* *
* * WAIT * *
* * * *
* * * *
*****************
*****************
*****G 1*********
*
*
* HALT '02'
*
*
****************
****H 1 *********
► *
► EXIT »
* «
***************
TO: SSSPEJ
****E2*********
* *
* BETUHN «
* 4
***************
TO: CALLEB
Chart JV (Part 3 of 3). Volume Table of Contents- Read/Write ($$SSVT)
Program Organization 6-65
$$STRI
****A1*********
* ENTER
*
***************
**********
********
**************
•SET UP TO WHTTE*
» NEXT SWA *
» SECTION *
* *
*****************
V JW/02/AU
*****C2 **********
♦COHPDA *
* *
->* USE NEXT DISK *
* SECTION FOR *
* KOLLOUT *
*****************
*****D1 **********
V .1W/0 2/A1
*****cu* *********
♦DISKIO *
WRITE JSWA
************
V JW/02/AH
*****Q(|**********
♦COHPDA *
********
*****E1********
********
.*******»
****
* *
* F1 ♦->
* •
****
BTIOS
JW/0 2/A1
*****F1 **********
♦DISKIO *
*****************
KADR * JW/02/AU
***** G 1 **********
♦COHPDA *
* *
* COHPOTE THE « *
* OF THE NEXT *
* POHTION *
*****************
DISK a
IN HKA
RENEBED
K****************
.* HAS *.
.♦ENTIRE SWA *. NO
BEEN .*
*. WHITTEN .♦
JX/01/A1
****PH*********
► *
» EXIT ♦
► *
***************
*****J1 **********
* *
♦REREB REIT DISK*
♦ADDRESS IS WORK*
* ARE! *
* *
*****************
LAST
CHARGE
REEDED
«***
* *
* C2 *
* *
• •*•
K2 *.
.* LAST ♦.
► SCHED
CORTROt
*. AREA
*. .*
*. .*
* TES
***•
* »
* At ♦
* *
• *•*
*****K3*«* *******
* *
♦LOAD 9 OF NEXT *
>* SCHEDULER ♦
» CORTHOL AREA *
* ♦
*****************
I****
♦ ♦
->♦ J1 ♦
* ♦
♦ ♦**
Chart JW (Part 1 of 2). Rollin-Phase One ($$STRI)
6-66
DISK 10
***** 1*********
* «
* ENTER *
* «
***************
COHPDA
****S4*********
* *
* ENTEK *
* *
***************
*****g1 **********
»**** B t|**********
*****************
*****C 1**********
* * * *
* *DIODSP IOS * *
* *READ/(fRITE * *
* * * *
* « * *
*****************
**«**D1 **********
******
****
*****CU **********
* *
* DETERMINE IF *
♦NEXT DISK a IS *
* VALID *
* *
*****************
»****p5* *********
*****************
*****************
OPERATION .*-
***** pi**** ******
* *
* HALT DISPLAY *
*****************
*****G1 **********
****E2 *********
* *
* RETURN *
* *
***************
TO: CALLER
CKDONE .*.
E4 *.
.* *.
.* CALCS *.
*. DONE
NO
7
*. . *
J
*. .*
V
* YES
****
* *
* C4 *
****PD* ********
► *
* RETURN *
***************
TO: CALLER
E
***************
Chart JW (Part 2 of 2). Rollin-Phase One ($$STRI)
Program Organization 6-67
ftSTRN
****A1*********
* 4
* ENTER «
* t
***************
*****A<i* *********
* DETERMINE IP *
* BFCU HAS III *
* OPERATION AT *
♦TIDE OF PBOGBAH*
* ROLLOUT *
**••**••*•*******
•**•*•••*•*******
JX/02/A1
*****d **********
♦DISKIO *
*****************
*•••
PBIBABI
HOPPEB II
DSE
****
*****ca* *********
* •
* ISSUE FEED TO *
* PRIME NAIT *
* STATION *
* •
*••*••***•*•***•*
D1
*.
D2
**.
.* ANT *.
.* ANT *.
*•*•
. * PACK ID'S *. NO
.* DATA FBOB *. NO
*
*. ROLLED .*
>*. BAIN .*
->* A«
*. OOT .*
*. STORAGE .*
*
*. .*
*. .»
• **•
*. »♦
*. .*
* TES
* TES
• •**
* •
* E1 ♦->
• *
• ••*
CKVLAB
"
****«£ 1 **********
*****E2** ********
* *
* *
♦SET UP TO READ *
• DETERMINE END •
* VOLDBE
LABEL *
• OF DAT1
AREA *
••******•*••*•••*
JX/02/A1
••*••*•*••*•**••*
•A***************
~ Bill 311/nilfB » — -- *
* * I
* * 1
•*•*•••****•**••* f
.
».
JZ/02/A3
Dt *.
***** D 5**********
. * *
•HALT *
.* ANT
*. ERRORS
TBS
>* ERROR II •
*.
•
* PRIHAHT RAIT *
*. .*
* STATION *
*****************
*. .*
* NO
I
• ••*
I •***
• *
• *
* E« •->
«->* c« *
• •
• *
• ••*
****
TFSECT .*.
E« *.
• ♦ *.
. * SECOIDART
•
NO
♦. HOPPER II
*
*. USB
•
1
*. . ♦
I
*. .♦
f
* TES
****
***•
* •
* *
♦ H4 ♦
* n *->
* *
• •
****
••••
*****f n**********
•
*
* ISSUE FEED TO
*
* PRIME RAIT
•
• STATION
•
***•
• •
* J1 *
*•*••***•**••*•**
JX/02/A3
.naia 3
CORRECT
PACK
HODNTED
>* INDICATE ♦
• INVALID DISK *
* PACK *
*••*******•*•***•
I****
* *
->* El *
* •
• ***
>* BRROR II *
♦SECOIDART RAIT ♦
♦ STATION ♦
*****************
********••*••••••
• ***
*•**
ENDPNS
*****J1 **********
••*••********•***
1****
* *
->♦ D1 ♦
• *
****
• •*•
RPIPRH
*****HH**** ******
♦ *
♦ SAVE ROLLII/ ♦
♦ ROLLOUT ♦
♦ PABAHETEBS ♦
♦ •
•••••***•********
*****jl| ****••*•**
♦ SET UP TO ♦
♦ BESTORE RPG ♦
♦ PBOG BAIN ♦
♦ STORAGE AREA ♦
♦ *
*****************
V JX/02/A1
•****KQ **********
♦DISKIO ♦
*****************
♦♦♦♦K ">*********
* a
* BETOBN «
* «
***************
TO: CALLER
Chart JX (Part 1 of 2). Rollin-Phase Two ($$STRN)
6-68
DISKIO
****A1 *********
* *
* BMTEH *
* *
***************
****d 3 *********
* *
* ENTER «
* *
***************
*****B1 **********
/****B3 **********
•*•••**********••
*****•******•••**
*****C3**** ******
*****************
*****D1 **********
* * * *
* *DIOD»T IOS * *
* * WAIT * *
* * ROOTIHB • *
* * * *
•******•••****•**
♦. OPEBATIOM
•****P1 **********
* *
* HALT DISPLAY *
*****************
*****g1 ******••••
****E2*********
» 4
» RETORK *
* *
***************
TO: CALLER
•***•******•***••
BA/01/A1
*****Q3 **********
♦HEHTRY »
* *
* HALT/SYSLOG *
* DISPLAY BBROB *
* CODE *
*****************
tBRMCH
****£3 *********
• *
• RETORH *
• *
***•*****•••**•
TO: CALLER
E
*****************
Chart JX (Part 2 of 2). Rollin-Phase Two ($$STRN)
Program Organization 6-69
$$STRO
****A1*********
* *
* ENTER *
* *
***************
*****B1 **********
*****************
*****Q-\ **********
* *
*SET OP TO BEAD *
♦PARTITION INDEX*
* FHOH JSWA *
* *
*****************
*
****
LAST
*
YES
*
*
OB ON
*
>*
H<t
*
QUEUE
*
*
*
TESTPL .*.
NTODRS
B4 *.
*****B5 **********
.* NEXT *
* •
.* IOB IN
NO
* LOAD NEXT *
*. CUHRENT
~ — ^* AUUnfisb UH *
*. PL
*
* QUEUE *
*• . *
* •
*. .*
*****************
♦ YES
|
**** 1
|
* *
I
« CI ♦->
**** 7
.*.
CU *.
.* *
• ***
. * AT END
*.
YES
*
*
*. OF IOB
•
>»
H4 *
*. QUEOE
*
•
•
*****^-\ **********
* * * *
* *DIODWT IOS * *
* * HAIT * *
****
* *
* F2 *
* *
****
****F2*********
* *
* RETURN «
* *
***************
TO: CALLER
* FIRST
ADDRESS ON
*. QUEUE .
♦ ADD ADDHESS *
♦BEHIND LAST ONE*
♦ Oil QUEOE ♦
♦ •
*****************
****************
♦DE-QOEOE ENTRY ♦
* FBOH DISK IOB *
* QUEOE *
* *
*****************
I ***•
* *
«•->* Cl» *
♦ *
*♦♦•
****
* *
* HI *
• STORE ADDRESS *
>* AS PIBST ON *
♦ QUEUE *
* »
*****************
» *. ****
ANY *. YES * «
ERRORS .* >* F2 *
* ANY
*
IOB • S
IN
THIS 1
. 1.
*
Q
*. .
*
*
NO
* DETERNINE *
♦ADDRESS OF DISK*
* IOB QUEUE *
♦CHAIN OUR QUEUED
->♦ TO OTHER PL ♦
♦ QUEUE ♦
* *
*****************
**********
****
*002»
* A3 *->
****
*****y-\**********
***************
Chart JY (Part 1 of 2). Rollout-Phase One ($$STRO)
*****
♦ 002^
6-70
*****^3+*********
♦001* 01-K5
* JU*
*****
****************
* SAVE 9 AND *
* REGISTERS OF *
♦THIS TRANSIENT *
* *
*****************
GET2ND V BA/01/A1
*****C1 **********
*H ENTRY *
*****************
JZ/01/JU
****D1*********
► *
* EXIT *
* *
***************
Chart JY (Part 2 of 2). Rollout-Phase One ($$STRO)
Program Organization 6-7 1
$ISTRU
4***A 1*********
* ENTER
*
***************
*****g 1**********
* *
* *
♦SET UP POINTERS*
* *
* *
*****************
PPNTRY V JZ/02/G1
44 4 4 4c 1**********
♦TBNTRY *
* ADD AN ENTRY *
* INTO ROLLOUT *
♦LOCATION TABLE *
*****************
*****D1 **********
*****************
FOR SUA V JZ/0 2/A1
•****g 1**********
♦COHPDA ♦
♦DETERMINE S OF *
♦ NEIT AVAILABLE ♦
♦ SPACE *
*****************
CHPFSH V JZ/02/A1
•****f 1 **********
♦COHPDA ♦
♦ DETERHINE ♦
♦ ADDRESS OF ♦
♦ ROLLOUT AREA ♦
*****************
JZ/02/A1
*****G2 **********
♦COHPDA *
* *
->♦ USE NEXT DISK ♦
♦ SECTION FOR *
♦ ROLLOUT ♦
*****************
JZ/02/A1
44444JU* *********
♦COHPDA *
* _ *
♦DETEHHINE a OF ♦
♦ NEXT SECTIONS ♦
♦ OF .7SWA ♦
*****************
WBITSW
f.
B<4 ♦.
. * *.
.♦ a in
*
YES
♦. WORK AREA
*
♦. RENEWED .
*
1
♦. . ♦
1
♦. .♦
V
' NO
**•*
****
* *
* *
* Ft ♦
* Ct *->
* *
♦ **♦
****
GETNEX
*****c<i*
»****<
k*
*****************
.♦ LAST ♦.
. ♦ SCHEDULER
*. CONTROL
♦. AREA
*****************
• **•
HRTSHA
*****pl| **********
* •
♦SET UP TO BEAD *
♦NEXT SECTION OF^
* IOB *
* •
*****************
(IRPOBT t JZ/02/G1
♦♦♦♦♦G4 **********
♦DISKIO ♦
♦ WRITE IOB ♦
♦ SECTION INTO ♦
♦ JSHA ♦
*****************
CHPNRO V JZ/02/A1
*****f|t| **********
♦COHPDA ♦
♦INCREMENT DISK
*****************
****
****
RDSWA
*****J 1***4***4*
*
♦SET UP TO READ
♦JSWA INTO WORK
♦ AREA
*
*****4*4*4444*44
* IOS READ
4*44*44*44* 44
*****************
HAS ALL
SKA BEEN
. HRITEN
KA/01/A1
v
EXIT *
44******4*44444
4444
4 4
* A« *
Chart JZ (Part 1 of 2). Rollout-Phase Two ($$STRU)
6-72
COMPDA
****A 1 *********
* 4
* ENTER *
* 4
***************
DISKIO
****AU*********
* *
* ENTEB *
* *
***************
•****B1 **********
•****B4**********
*****************
****
*****************
*••*
BLTPLY
*****C1 **********
*****CU **********
*****************
*****************
*****D2 **********
*****D4 **********
*****************
*****************
OPERATION
****
* •
* C1 *
* *
****
****F1*********
» 4
► RETURN *
* 4
***************
TO: CALLER
TBNTRY
****G1*********
* *
* ENTER *
* *
***************
*****!( 1**********
*****************
K****J 1*********4
*****************
****E5********»
* *
* RETURN *
* 4
***************
TO: CALLER
*****pt|* *********
* *
* HALT DISPLAY *
*****************
*****G4**********
* *
* HALT DISPLAY *
* •07> *-
* *
* *
*****************
E
*****jr-j**********
* *
* LOAD RNTriY *
* INFORMATION' *-
*l;JTO LOC TABLE *
* *
*****************
***K2*********
4
RETURN 4
*
**************
1: CAI.I.E.?
Chart JZ (Part 2 of 2). Rollout-Phase Two ($$STRU)
Program Organization 6-73
****
* *
* A3 *
* *
****
$JSTRT
****A1 *********
* *
* ENTER *
* *
***************
I
SDMNTR V KA/0.I/A5
*****jy3**********
♦TBNTRY *
* *
* BDILD TABLE *
* ENTRY FOB *
♦SCH/DM SWITCHES*
*****************
RRIPRN V
*****g-)**********
* STORE RO/RI *
* PARAMETERS IN *
♦PARTITION WORK *
* AREA *
* *
*****************
4****53**********
* STORE PROG *
* LEVEL COMMON *
* AREA IN *
* PARTITIONED *
* WORK AREA *
*****************
PRHENT V KA/02/AS
*****C 1**********
♦TBNTRY *
*****************
NTRCK V KA/02/A5
*****£ 3**********
♦TBNTRY *
* — -_ . *
• BUILD TABLE *
♦ENTRY FOR PBOG ♦
* LEVEL ♦
*****************
*****[) 1** ********
♦ MOVE PRINTEH ♦
♦CHAIN IMAGE TO *
♦PARTITION WORK ♦
♦ AREA ♦
♦ ♦
*****************
TIPCI V KA/02/A5
*****g1 **********
♦TBNTRY ♦
♦ MAKE A TABLE ♦
♦ENTRY FOR CHAIN*
♦ IMAGE ♦
*****************
*****pi ********
* LOAD XNST
* SCHEDULER
* TABLES IN
* PARTITIONED
* WORK AREA
***************
TIFXST V KA/02/A5
*****G1**********
♦TBNTRY *
* MAKE A TABLE *
►ENTRY FOR TRANS*
* TABLES *
*****************
*****H1**********
* STORE PRINTER *
* PAGE SIZE IN ♦
* PARTITIONED ♦
* WORK AREA *
* *
*****************
TIFPPS V K A/0 2/ AS
*****j i**********
♦THNTKY ♦
♦ MAKE A TABLE
* ENTRY FOR
♦PRNTER PG SIZE
«****K1*********4
* STORK *
* SCHEDUL^R/Ol *
* SWITCHES IN *
* PARTITIONED *
* WORK AREA *
*****************
USING
REMOVABLE
. PACK 1 .
KA/02/A1
*****Qt) **********
♦DISKIO *
* *
>* BEAD VOLUME ♦—
♦ LABEL PBOM *
♦ REMOVABLE 1 *
*****************
KA/02/A5
*****q5 **********
•TBNTBT *
*****************
.♦ USING
. REMOVABLE
*. PACK 2 .
KA/02/A1
*****£ (|* **♦**»♦*»
♦DISKIO *
KA/02/A5
' KA/02/A1
♦WBITE DATA INTO^
♦ DISK BOLLOUT ♦
* AREA ♦
•***********♦♦♦♦♦
WRYTIT V KA/02/A1
*****(; 3 **********
• DISKIO *
* WRITE TABLE
* SECTOR ONTO
* DISK
****************
HALT V BA/01/A1
*****H 3 **********
♦NENTRY ♦
HALT/SYSLOG ♦
*
****************
V BA/01/A1
***j3**********
?NTKY *
*****************
J
*****K3**********
* MOVE CONSOLE *
* SYS IN INFO TO ♦
* SYSTEM *
* COMMUNICATION *
* REGION *
*****************
t
I
I
>♦ BEAD VOLUME ♦-
• LABEL FBOM *
♦ BEMOVABLE 2 *
*****************
*****************
ALLOWS THE
OPERATOB TO
READY
DEVICES
*****************
V BA/01/A1
*****j 5 **********
♦NENTRY ♦
* FETCH SSTMHI *
♦ *
*****************
ED/01/A1
v
****K5*********
* *
► EXIT ♦
* *
***************
TO: $$TMKI
TEHMINATOR
RE-INITIALIZATION
KOUTINE
Chart KA (Part 1 of 2). Rollout-Phase Three ($$STRT)
6-74
DISK 10
****A 1*********
* *
* ENTER *
* *
***************
COMPDA
****A3* ********
* ESTER +
* *
***************
TBNTriY
♦♦♦♦AS********
*
* ENTER
*
**************
*****B 1**********
f***B3******+
t****p5**********
*****************
*****C1 **********
* * * *
* *DIODSP IOS * *
* *READ/HRITE * *
* * * *
* * * *
*****************
*H+**D1 **********
* * * *
* *DIODWT IOS * *
* * WAIT * *
* * ROUTINE * *
* * * *
*<k ***************
\
* NO ****
* *
* H1 *
* *
• ***
*****************
SIIP3RN V BA/01/A1
*****G1 **********
♦NENTRY *
* *
* HALT/SYSLOG *
* ISSUE A *
* TERMINAL HALT *
*****************
****
*
m *->
*
****
****H1*
•
******
RETURN
*************
TO: CAL
LER
*****************
**.**
* * I
* C3 *->|
****
*****C3 **********
*****************
***** E 3**********
************
.* CALCS *
10
*. FINISHED
*
*. .*
1
+ • . *
1
*. . *
V
* YES
****
**** 1
*
* * I
* C3
* G3 *->)
*
* *
****
****
RTRN
V
****G3*********
* RETUKN *
* *
***************
TO: CALLER
*****************
*****C5**********
**************
*****q5*********
****************
*****E5*********
****************
DONENT
****F5 *********
* *
* RETURN *
* *
***************
TO: CALLER
B
Chart KA (Part 2 of 2). Rollout-Phase Three ($$STRT)
Program Organization 6-75
StSYPI
****A 1*********
* *
* ENTER ♦
* *
***************
SLPRNT
****AU*********
* *
* ENTEB *
* *
***************
*****B1 **********
*****************
*****BI|**********
* * * *
* * $$LPRT * *
* * PRINTER * *
* * BAINLINE * *
* * * *
*****************
' BA/01/A1
KB/01/AU
*****C2** ********
•SLPRNT *
• .-*
->* BUILDS AND *
•PRINTS DTP FRON*
* PARN *
*****************
KB/01/At
*****D2**********
♦SLPRNT *
*****************
BA/01/A1
>****E2 **********
♦NENTRY *
*****************
SLOPEH * BA/01/A1
*****F2 **********
♦NENTRY *
OPERATION .♦-
***»C5 *********
► *
• RETURN *
* *
***************
PO: NSI+U OF CALLER
->•
****DS******»*»
*
RETURN *
* *
***************
TO:HSI+8 OF CALLER
****Elt*********
* *
* RETURN *
* •
*•***•••**•****
TO:NSI OF CALLER
*****************
SLRETN
****G1*********
* *
* RETURN *
* *
***************
TO:NSI»8 OF CALLEH
t ****** **********
Chart KB. Disk System System List-Printer ($$SYP1)
6-76
SSSTP2
****A1 *********
» *
* EHTEB *
* *
***************
Bl *.
.* *.
OPSH
BEQUESTED
• GET PAGE SIZE *
• AHD CALCULATE *
♦OTEHFLOB POIHT *
• *
*********** ******
BA/01/A1
***** D 1 **•*•'*•***
♦BBHTBT *
* iflALT/SXSLOGJi *
*********** •**!»**
*****
•002*
* B«*
.* CLOSE *. IES
*. BEQUESTED .*
C2 *.
.* SKIP *.
.* BEFOBE *.
PBIHT
♦.BEQUESTED.*
*****
*00 2*
* B«*
*.
****
t *
► C3 *
► *
****
. * SPACE *.
BEFOBE *.
PBIHT
.BEQUEST ED.*
****
• *
• C« *
• *
****
*****
•002*
* B1*
• •
•••••***•**•****•
KC/01/G1
*****22**********
♦PBIHT *
♦BBAHCH TO PBIHT*
* AHO BETOBH *
* *
****•*••*•*******
* SET TO SPACE *
*****************
KC/01/G1
*****g3 **********
♦PHIHT *
*****************
* SET TO PBIHT
*
*
•**••*****•*•••*
" KC/01/G1
*****£l| **********
♦PRINT *
*****••****•**••*
****
► «
* C« »
k *
****
*****
♦002*
* Bl*
PBIHT
«***G1*********
* «
* ENTEB *
* «
***************
BA/01/A1
*****H 1 **********
♦HEHTRY *
*****************
*****J2** ********
*****************
****K1******»**
* *
► RETDBH ♦
H 4
***************
Chart KC (Part 1 of 2). Model 6 System List-Printer ($$SYP2)
Program Organization 6-77
*****
♦001*
* c«*
• •••
* •
* B2 *
* *
****
****
» *
• B3 *
► •
****
*****
♦001*
* D1*
.* SKIP *.
*. AFTBB PBIBT .
•-BEQ01STBD.*
.* SPICE *. I
->*. 1FTBB PBIBT .*-
•.BEQOESTED.*
••*••************
*****C3 **********
* SKI TO SPACE *
*****************
RC/01/G1
•****D1* *********
*PBIHT *
**•*****•***•***•
.1.
••***•*•*••******
t KC/01/G1
*****D2 **********
♦PBIIT *
*iilBCR TO PBIHT*
• S BETDBH •
* •
*****************
*****•••******•*•
****D3*********
* 4
* BETDBH *
* *
***************
Chart KC (Part 2 of 2). Model 6 System List-Printer ($$SYP2)
6-78
$$SPC1
****A1 *********
* *
* ENTEB *
* *
***************
****:*£ 1 **********
*****************
* DETERMINE *
♦NUMBER OF LINES*
* TO BE PRINTED *
* *
*****************
*****C2 **********
* * * *
* * IOS CLOSE * *
>* * TRANSIENT * *-
* * $$CLOZ * *
* * * *
*****************
*****D2 **********
* *
* DETERMINE *
->*NUMBER OP LINES*
* TO BE PRINTED *
* *
*****************
*****E2 **********
* * * *
* * IOS OPEN * *
* * TRANSIENT * *-
* * $$OPEN * *
* * * *
*****************
*****P2 **********
* *
* SET UP *
>* PRINT/PUNCH *
* BUFFERS *
* *
*****************
♦SET UP TO PRINT*
*****************
****E3 *********
* *
* RETURN *
* *
***************
TO: CALLER
*SET UP TO PUNCH*
*****************
*****J1 **********
* * * *
* *$$MFFF IOS * *
* *PRINT/PUNCH* *-
* * MAINLINE * *
* * * *
*****************
****K1 *********
* *
* EXIT *
* *
***************
TO: $$MFFF
IOS PRINT/PUNCH
MAINLINE
jjABbiiii uu&usiu idiu nam
THE SISTEH PUNCH ($$SPC1)
ROUTINE. BUT IS
DOCUMENTED IN THE
IOS AND DATA MANAGEMENT PLM
Chart KD. Disk System System List-Print/Punch ($$SPC1)
Program Organization 6-79
SSSPC2
****A 1*********
* *
* ENTER *
* 4
***************
*****£ 1**********
* *
* *
♦SAVE RFOTSTERS *
* *
* *
*****************
I
BA/01/A1
«****C2 **********
*NENTRY *
* CLOSF PUNCH *
* *
*****************
>* K1 *
* *
****'
HOOPEN BA/01/A1
*****I)2 **********
♦NEHTRI *
•ALLOCATE PUNCH *
* *
*****************
" BA/0VA1
«****£2 **********
♦NENTBY *
*****************
*****f 1 **********
* *
♦SET ADDRESS OP *
•DATA NARAGEHENT*
* ROUTINE *
* *
*****************
" BA/01/A1
t****a\ **********
*NENTRY *
* OPES PUNCH *
* *
*****************
!
••**
* *
* K1 *
* •
**•*
* PUNCH RECORD *
* *
**•*•******••****
HI *.
PUNCH
*****j i**********
* *
♦ADVANCE BRANCH *
♦IN5TRTCTI0N TO ♦
* PPROR RTN ♦
* *
*****************
■;onnR T
v
****k i*********
* 4
* FE^'IBN *
* 4
***************
TO: CALLS*
****
* 4
-* ri *
* 4
****
Chart KE. Model 6 System List-Punch ($$SPC2)
6-80
****
* 4
* hi *
* *
****
SSSYSG
****A1*********
* *
« ENTER *
* *
***************
*****g l**********
* *
♦SAVE REGISTERS *
* AMD RETURN *
* ADDRESS *
* *
*****************
. HDLUHU . * •
•••• •*•* i
». .» ?
* TES ****
1 * *
♦ K3 ♦
I ******
. *.
* *.
*.
PIBST *. YES
GET .*
*****B5**********
* •
* SET UP TO GET *
>• RECORD *
*****************
f *. ****
FIND *. NO * *
REQUEST .* >* Alt *
KF/02/A4
*****************
SOURCE
LIBRARY
EXIST
****
* *
* P1 ♦->
♦BEAD SOURCE LIB*
* DIRECTORY *
* SECTOR *
*****************
*•**
* *
* G1 *->
. YES * PUT DIRECTORY *
.* ^INFORMATION III *
* PARH *
* *
*****************
*****H1 **********
*****************
****
* *
* At ♦
* *
****
' KP/0 2/A1
►***D4**********
5YSIOS *
*
*
READ IN SECTOR *
*
****************
.* END OP
*.
*. FILE
*
*.
*
*. .*
*. .*
* NO
**** 1
* *
* P« *->|
* * 1
• *** 1
SYS330 V
*****pi»**********
*****************
1****
* *
->* K3 *
* *
****
LAST *. HO
ENTRY .* .
1
*****
*. .* i
*002*
* YES ***•
* P<t*
1 * *
• *
1 * G1 *
•
1 * *
I
\ ****
.*. SYSIFD
SYSEND I
HI *. *****K2**********
?
*. * •
•***K3*********
ANY *. NO • SET 10 FIND *
* *
qvptadc *————.-%* mnTrifno *_•
aCtCUHi) a »—————— —?w XBU1A>ATUS »«
LEFT .* A * *
A * *
. .* 1 * *
*. .* 1 *****************
* YES *•**
7 ****••*•**•*•**
**** TO:CALLEH
1 ***• * •
I * * * K2 *
L->* F1 * * *
• *
* K3 *
• •
• • ****
****
****
•HOVE BYTE FROM *
♦BUFFER TO USERS*
* BUFFER ♦
* *
•**********•••*••
KF/02/A1
*****G<t**** ******
♦SISUP1 *
* UPDATE BUFFER *
* INDEX *
* *
*******•*•*♦♦♦♦♦♦
H<t ♦. *****H5****^*****
. * *. * *
.♦ *. YES * DUPLICATE *
. DUPLICATE .* >* CHARACTER *
♦.CHARACTER.* * *
*. .* * •
*. . * ******•***••**•**
I
SYSSOO
J<t *. *****J5**********
.* *. ♦ ♦
NO .* END OF ♦. YES ♦ UPDATE ♦
— ♦. RECOID .* >*PARAHETER LIST *
*. .♦ ♦ *
♦. .♦ ♦ *
*. .* *****************
*•*• * i
* * ****
* Ft * ♦ *
****** L> : K3 :
*••*
Chart KF (Part 1 of 2). Source Library Get ($$SYSG)
Program Organization 6-81
SYSUP1
****A1*********
* *
* ENTER *
* 4
***************
SYSIOS
****A<t* ********
* *
* ENTEH *
* *
***************
*****B i********
*****Q1|**«*
*****************
KF/02/AU
*****Q1 **********
♦ SYSIOS *
*****************
SYSU10
****C2*********
* *
— >* BETUHN *
* *
***************
TO:CALLER
*****************
*****C4**********
* * * *
* *DIODSP IOS * *
* *READ/WRITE * *
* * * *
* * * *
*****************
*****D4*********4
* * * *
* *DIOD»T IOS * *
* * WAIT * *
* * ROUTINE * *
* * * 4
**************** 4
OPERATION
OK
*. .*
*. .*
»****pit**********
*****************
****E54^********
* *
* RETURN *
* •
***************
TO:C»LLE8
*****
♦001*
* K3*
Chart KF (Part 2 of 2). Source Library Get ($$SYSG)
6-82
JJiSPFN
****A1*********
« 4
♦ ENTER *
* *
***************
*****************
XWCSQ
*f ***D 1 **********
* *
* PUT PAFM IN *
* COMMUNICATION *
* AREA *
* *
*****************
*****************
****
*****F 1 **********
* *
♦SET COUNTER TO *
* NUMBER IN *
* SECTOR *
* *
*****************
*****G1**********
* * * *
* *NCEIOS - - * *
* * IOS READ * *
* * ROUTINE * *
* * * *
*****************
*****fl-\* *********
* * * *
* *NCEIOW - - * *
* * WATT ON * *
* * KEAD * *
****
*******
*****C2 **********
* *
* SET UP FOR *
->* SYSTEM Q-BTTE *
* AND LIBRARY *
* *
*****************
* DISPLAY 'EH' *
* *
*****************
* DISPLAY 'OA'
*
***************
.* END OF
♦. MEMBERS ON
*. TRACK .
*****A5****4****4
* SET ON «
* TEMPORARY *
>♦ STORAGE *
* INDICATOR *
* 4
*****************
.♦ IS THIS
*. THE MEMBER
*. WANTED .
*****CH* *********
*****************
****
t *
» At *
*****q5********
*****************
.* IS THIS *
♦. A TRANSIENT
*. FIND .»
*****D5*******
******** *******4
*****EU **********
*****************
XNEND
♦♦♦♦E 1 ) *********
* *
* RETURN *
* *
***************
TO:CALLEH
' BA/01/A1
t****HH* *********
►NENTRY *
K *
► HALT/SYSLOG ♦
► PRINT MODULE *
► NAME *
*****************
V BA/01/A1
*****J4**********
♦NENTRY ♦
****************
*KH******4
EXIT
**********
Chart KG. Find Transient ($$SPFN)
Program Organization 6-83
•***A1*********
► 4
► EHTEH *
• *
***************
• •**
* *
* B1 ♦->
AI090 BA/01/A1
*****A2 **********
♦NCERTH *
**•**•*•••***•**•
****
* *
* A2 *
* *
**•*
AI010
.* LEVEL 2 »
->*. LOCKING OUT
*. LETEL 1 .»
.* LETEL 1 ♦
*. LOCKING OUT
*. LETEL 2 .*
**•**[; 1* *********
• *
• *
•LOCKOUT LETEL 2*
***** \ 3 **********
* *
* *
->* SET UP IOB *-
* *
* *
*****************
•****B3 **********
• *
->*LOCKOUT LETEL 2*
• *
• *
*****************
I ****
* •
L->* El *
* *
• *••
* RAIT *
* •
* *
************•*•••
I****
* *
->* B1 *
*****A<»** ********
* * NCBIOS * *
* *»BITB USBBS* *
>* * LAST UK * *
1TO SNA
• *
* *
*****************
*****************
*****C4** ********
* * MCBIOS * *
* * HBITB * *
* * sectob or * *
* *TALUES INTO* *
* * SUA * *
*****************
*•••
**•*
AI110
*****D4**********
* GIT BEIT DTP *
•***••••••*•••***
• ***
*****************
• •*•
AIOVO
*****£ 1 *********
* GET DTF
*
*
**•**•••**•*****
I *•••
* *
>■->* K2 *
* *
*•••
AI170 T BA/01/A1
•****G1 **********
•RCENTH *
* •
* BESOUBCE •
* ALLOCATION- *
* PRASE ORE •
•••**•**•**•*•*•*
*****!] 1 *•••*••***
* •
* *
* GET NEXT DTF *
* *
* *
***•*•*•****•**••
****j2 *********
« *
• RETURN *
t 4
***************
•****K2**********
AI220 BA/01/A1
•••••£3 **********
*ICEMTB *
*****************
BA/01/A1
*****f 3**********
♦HERTRT
* PETCB MIHA1
*
****••*•••****•*
****q3*********
* *
* EXIT *
*•***••*•**•*•*
TO: SSIHA1
IRITIATOR ALLOCATE-
PHASE ONE
. YES * BUILD A *
.* >* PARAMETER FOR *-
* $$SSSC *
* •
*****************
ERD
OF *. TES
DTF .* •
•* 1
.* 1
*. .* T
" HO ****
* *
* F3*
* *
**•*
*****Gt|**********
• *
• COBPBBSS DTF •
♦INTO USERS LAST*
* IK *
* •
•**••*•*•***•****
BA/01/A1
*•**
* *
* D»*
* *
**••
***•***•••*••*•*•
****K(|*********
* *
* EXIT *
* *
***************
TO: SUPPORTED
HALT/STSLOG
ROUTINE
' BA/01/A1
*****J5 **********
•NENTBY *
•****•••****•****
****KS*********
* •
* EXIT *
* *
***************
Chart KH. Allocate Initiator ($$STAI)
6-84
****
» *
* At *
* *
****
**syla
****A1********+
* ENTER +
* *
***************
«****B 1**********
*****************
*****C t**********
* *
* *
♦SET UP TO READ *
* *
* *
*****************
KI/0 3/A1
+****D1 **********
*IOS *
*****************
***•
kGIN V BA/01/A1
«****£ 1 **********
♦NENTHY *
*****************
KI/03/G2
*****F2 **********
♦HALT *
ENOUGH
ROOM FOR
ENTRY
*****3<l **********
* *
* *
♦SET UP TO WRITE+
* *
* *
*****************
*****C4* *********
* *
* PUT START C/S *
* IN DIRECTORY ♦
* ENTBY ♦
* *
*****************
****
02-B1+O02 +
02-D2+ A1 ♦->
' BA/01/A1
♦ READ A CARD
♦ FROM SYSIN
♦ DEVICE
****************
BA/0 1/A1
****** 5**********
♦NENTRY *
♦ HALT ♦
* *
*****************
****
* *
->♦ E1 ♦
* *
****
READ OK .♦ —
.*
V
• . ♦
*****
♦. .♦
♦ 002 +
♦ YES
♦ D1*
KI/0 3/G2
*****P5 **********
♦HALT *
♦. SEQUENCE OK .♦-
*****************
1****
♦ ♦
->♦ E1 ♦
*****************
****
» *
L->* E1 ♦
* *
*•**
SEQUENCE I
*****J1**********
♦CONVERT HEADER ♦
* CARD FROM ♦
* EBCDIC TO *
* BTNARY ♦
* *
*****************
*****************
*****************
I****
♦ ♦
->♦ E1 ♦
*****************
I****
* ♦
->* El *
****
Chart KI (Part 1 of 3). LOAD * Mainline ($$SYLA)
COMPRS V KI/02/A4
*****JH**********
♦CPRSCD *
*****************
*****K4**********
*****************
*****
♦002*
* A1*
KI/0 3/G2
*****H5**********
♦HALT ♦
i **********
****
Program Organization 6-85
CPRSCD
****&H** *******
* *
* ENTEE *
* *
***************
*001"
* KM*
*****
>T * KI/0 3/A1
*****B1**********
*IOS *
*****BU* *********
*****************
*****************
* WAS
ENTIRE
ENTRY
READ
>****p ]**********
*****************
V KI/03/A1
*«***(;1 **********
*IOS
BEAD IN 1
DIRECTORY
SECTOR
**************
*****H1 **********
*****************
OVER1 KI/03/A1
*****%2**********
♦ IOS *
*****
♦ 001*
* DU*
*****************
*****CH* *********
* *
* LOCATE HECORD *
* TO BE *
* COMPRESSED *
* *
*****************
*****Qt| **********
* *
* *
♦COMPRESS RECORD*
* *
* *
*****************
*****£!) **********
*****************
****pl4*********
» *
• RETURN *
► *
***************
TO:CALLER
*****************
V KI/03/A1
*****J1**********
*IOS *
*****************
*D?TER!1IN
* END OF
* DIRECTORY
*
*************
******
IF AT*
BRANCH
****K 2 *********
* *
>* BETHilM *
* *
***************
70: "ALLFlt
Chart KI (Part 2 of 3). LOAD * Mainline ($$SYLA)
6-86
****A1*********
► *
* ENTEB *
► *
***************
*****B1 **********
*****************
*****C1 **********
* * * *
* * IOS * *
* *READ/WBITE * *
* * * *
* * * *
*****************
*+***D1 **********
* * * *
* * IOS HAIT * *
* * ROUTINE * *
* * * *
* * * *
*****************
OPERATION
IOSRTN
****E2 *********
* *
--->* RETURN *
* *
***************
TO:CALLER
»***pi **********
*****************
B
*****H 1 **********
*****************
V BA/01/A1
*****J1 **********
♦NENTRT *
* HALT/SYSLOG *
* *
*****************
HLTBR
"
****K 1*********
* *
* BETOBN *
* *
***************
TO:CALLE£
****G2 *********
* *
" ENTER *
• *
***************
Chart KI (Part 3 of 3). LOAD * Mainline ($$SYLA)
Program Organization 6-87
$$TMST
****A1*********
* *
* ENTER *
* *
***************
KJ/01/G1
*****B2 **********
♦STDEQ *
K J/0 1/01
*****B1**********
♦STDEQ *
*****************
*****************
KJ/01/G1
*****C2 **********
♦STDEQ *
*****************
STBEDt
*****D1**** ******
* DETEBHIHE *
* COMPOSITE SETUP*
* FOB COBRENT *
* BEQDEST *
* *
*****************
STCLEH
V
****E1*********
* ♦
* EXIT «
* *
***************
STDEQ
****Q1*********
* *
* ENTEB *
* 4
***************
>****H1 **********
*****************
EQ2 V
• ****j^********«
*****************
STDSAV
V
****K1*********
*
* nETIISN
*
***************
TO: CALLEP
Chart KJ. End of Job-Disk Status ($$TMST)
6-88
**STSP
****A1*********
* .«
* EHTEB *
* *
***************
*****B2 **********
*****************
.* END
OF *
TES
*. FILE
*. . *
V
*. .*
*****
*. .*
*002*
* HO
* B1*
• *
*
.
:.
D1 *.
.* *.
.* DUP *.
NO
*. NANE FOUND .
* .
*. . *
I
*. .*
{
*. .*
i
* IBS
*•**
*
*
* HI
*
*
•
• *•*
'
.*.
El *.
*****E2** ********
.* *.
* *
. * NAUE *.
NO
* INDICATE *
*. REPLACEABLE .
>*DUPLICATE NAME *
*.
.*
* FOUND *
*****C3 **********
* *
* INDICATE *
♦DUPLICATE NAME *
* FOUND *
* *
*****************
****D 3 *********
* *
► BETUHN *
* *
***************
TO:CALLER
* DELETE *
♦DUPLICATE NAME *
* ENTRY *
* *
*****************
*****************
****
****
SETIOB
*****H1 **********
* *
* SET UP TO READ *
* NEXT LIBRARY *
* SECTOR *
* *
*****************
V KK/03/A1
***** j -] **********
*MACPR *
********* ******
BA/01/A1
*****************
•* SUPPORTED *
♦ HALT/SYSLOG *
* ROUTINE *
*****************
****F3 *********
* IMMEDIATE *
* CANCEL «
► 4
***************
****
* *
* pa *
* *
****
*****Q||** ********
*****************
* HRITE BUFFER *
* *
*****************
*****jH**********
*****************
*****************
********
**** K 5*********
* •
* RETURN *
* *
***************
TO:CALLER
Chart KK (Part 1 of 3). Copy Main Storage to Source Library ($$SYSP)
Program Organization 6-89
*****
*001*
* CI*
|***HU*********
*
ENTER *
4
***************
*****BU **********
ANY
DATA IN
BUFFER
*****C 1 **********
****************
" KK/02/AU
*****q2 **********
*IOS *
*****************
*****cu**********
*****************
KK/02/AM
*****D i **********
*IOS
****************
*****************
*****************
****DS *********
« •
► RETURN *
***************
TO:C»tLEB
*****************
<fRTDIB ? KK/02/AU
*****p1**********
*IOS *
*****************
*****(< 1**********
*****************
* KK/02/AU
*****H1**********
*IOS *
* _-. *
* WRITE OUT *
* UPDATED SYS *
* DIRECTORY *
*****************
BA/01/A1
*****j i**********
♦NENTRY *
*****************
HALT V BA/01/A1
*****pd **********
•NENTRY *
* HALT/SYSLOG *
* *
*****************
• ***QI|*********
* IMMEDIATE *
* CANCEL *
* *
***************
****K ]*********
> «
► EXIT *
***************
Chart KK (Part 2 of 3). Copy Main Storage to Source Library ($$SYSP)
6-90
NACPR
****A i*********
* *
* ENTER *
* *
***************
**«**g1**********
* *
* *
* INITIALIZE *
* *
* *
*****************
****
* CI *->
* *
****
CKBYTE
* HOVE VALID *
* CHAHACTEB TO ♦
* COWPBBSS ABEA *
* *
*****************
THIS ROUTTNE
COMPRESSES THE
SOURCE LIBRARY
►***C2**********
*****************
****
» *
» DU *
BA/01/A1
*****q 3 **********
♦NENTHY *
* HALT/SYSLOG *
* *
*****************
****D3*********
* »
► EXIT *
► 4
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
*****kH**********
* *
* INCREMENT *
* DUPLICATE *
* COUNTER *
* *
*****************
END OF
*
NO
RECORD
*"
* ,
1
, . *
1
*. .*
V
* YES
I
****
* •
* 01*
* *
****
****
****
* G1 *
» *
****
****************
*****D 5* *********
* •
♦HOVE LAST BYTE *
>* TO COBPRESS *
* BECOBD *
* •
*•***•********•••
*****************
E
****
' NO
****
*
* *
* G1 *->
* *
* CI
*
****
*«**
ADVXR1
*****G 1*
*
*********
* INCR
♦POINTER
* INPUT
3HENT *
TO NEXT*
CHAR *
*****************
* HOVE IB TOTAL *
* LENGTH Or *
* BECOBD *
* •
*****************
BETOBN
****G5 *********
* •
* BETORN *
***************
TO:CALLEB
****
* *
« C1 *
» *
****
► AH *
► *
****
Chart KK (Part 3 of 3). Copy Main Storage to Source Library ($$SYSP)
Program Organization 6-91
J$STR1
**** A 1 *********
* *
* ENTER *
* *
***************
*****************
*****C2 **********
* SET UP *
* READ/BBITE *
->*PABNS FOB LEVEL*
GET2ND V BA/01/A1
*****^U* *********
♦NCENTR *
* *
* ALLOCATE NON- *
* DISK DEVICES *
* ($$STH2) *
*****************
***** git* *********
* *
* RESTORE BOTH *
* CONFIGURATION *
* RECORDS *
* *
*****************
ITTS V BA/01/A1
*****CK **********
♦NCENTR *
*****************
*************
*****D1 **********
•DETERMINE VALID*
* ADDR OF PHOG *
* LEVEL *
* CONFIGURATION *
* RECORD *
***•****•**•**•**
V KL/01/F3
*****£ 1 **********
♦DISKIO *
*****************
*****p1 **********
* *
♦SET UP TO ROLL *
*OUT LAST 1K OF *
* STORAGE *
* *
*****************
" KL/01/F3
*****G 1 **********
♦DISKIO *
* _-*
* BOLL OUT *
* STORAGE ONTO *
* DISK *
*****************
********
* SET UP *
* REGISTERS TO *
* CALL USSSC *
* *
*****************
BA/01/A1
+****K1**********
♦ NCENTR *
DISKIO
****F3*********
* *
* ENTER ♦
* *
***************
*****G3**********
* *
* MOVE IN SYSTEM *
* COHMUNICATION *
* KEGION *
* *
*****************
♦♦♦♦♦HI**********
***********
*****j3**********
**************
*****K3*** *******
* * * *
* *DIODSP IOS ♦ *
* *KEAn/HRTTE * *
ROLIH
***
♦DISKIO
r KL/01/F3
**********
♦ROLLIN LAST IK
* OF CORE FROM
* DISK
****************
****EU *********
* *
* RETURN *
* *
***************
TO:CALLEB
*****G4**+*******
* * * *
* *DIODWT IOS * *
* * WAIT * *
* * ROUTINE * *
* * * *
*****************
OPEHATION
*****jt|**********
* *
* HPL DISPLAY *
*****************
*****K4********
*
* HPL DISPLAY
****H5*********
* *
► RETURN ♦
► ♦
***************
TO: CALLS
**********
*****************
+ AU *
* *
****
Chart KL. Resource Allocation-Phase One ($$STR1)
6-92
$$STR2
****B 1*********
* *
* EHTER *
* 4
***************
*****************
• ***
****
*****]) 1 **********
* *
* GET DEVICE *
* ADDRESS TABLE *
* EHTBI *
* *
*****************
. * IS THIS *.
. THE DEVICE .
♦.REQUESTED.*
*****E2 **********
*****************
F1 *.
.*IS THIS*.
.* THE LAST
► . ENTRY IN
*. TABIE .
*. .*
*. .*
*****************
*****S3 **********
E
*****************
V BA/01/A1
*****H1**** ******
♦NENTRY *
*****************
< —
NOHORE
V
****J1*********
* *
* RETURN *
***************
TO: CALLER
*****************
I****
* *
->* D1 *
* *
****
Chart KM. Resource Allocation-Phase Two, Disk System ($$STR2)
Program Organization 6-93
$$STR2
****A i*********
* *
* ENTEB «
* 1
***************
I
*****3 i**********
* *
* *
♦SAVE ADDRESSES *
* *
* *
*****************
****
* *
+ CI *->
* *
****
* DETERMINE *
* DEVICE TO BE *
* ALLOCATED *
* *
*****************
*********** ******
*****************
►****P2 **********
*****************
*****************
*****H5 ********
***** ************
****************
HHONfil V
*****£ 1 **********
►TMIIirHTR EiriOR *-
BA/0 1/A1
*****K2**********
♦NCENTR *
r/SY«
HALT
->* 1ALT/SYSLO<5
*
*****
********
****
* *
* K1 *
* *
****
|
N'lNURE |
V
****K3*********
* 4
>* RETURN *
* *
***************
TO: CALLF"
****
* 4
* K1 ♦
* 4
****
*****************
I ****
•■->* C1 *
* ♦
****
Chart KN. Resource Allocation-Phase Two, Model 6 ($$STR2)
6-94
>***A1 *********
ENTER *
*
***************
*****A 4 **********
* *
* OBTAIN NEXT *
♦DIRECTORY TABLE*
* ENTRY *
* *
*****************
*****************
****
* *
* C1 *->
* *
****
AGAIN .*.
C1 *.
.* ANY *.
.* MORE
*. DIRECTORY
♦.ENTRIES ?.
*****01 **********
* *
* DETERMINE *
* MODULE BEING *
* CALLED *
* *
*****************
****
5 * *
— >* A« *
* *
****
*****E2 **********
* *
* SAVE DISK *
>* ADDRESS OF *
* **ODNP *
* *
*****************
*****F1 **********
* PLACE DISK *
* ADDRESS OP *
* MODULE IN *
♦DIRECTORY TABLE*
* *
*****************
*****************
.* NEXT *.
.* DIRECTORY *. NO
♦.ENTRY IN NEXT.*
♦.SECTOR ? .*
*****J1 **********
* *
* UPDATE TO *
* DRIECTORY *
* SECTOR *
* *
******♦♦♦♦♦♦♦♦♦♦*
LAST *.
CROSS REF .
. ENTRY ? .*
*****CU ♦*♦♦♦♦*♦♦♦
♦ ♦
♦ READ NEXT ♦
* TRANSIENT *
*MODULE REQUEST *
* *
*****************
****
*****E<( **********
*****************
* LAST *
ITEM IN WTG
*. TABLE ? .*
****B5 *********
* *
» RETURN *
¥ *
***************
TO: CALLER
* WRITE MODULE *
->*BACK TO OBJECT *
* LIBRARY *
* *
*****************
****
* *
* At *
* 4
****
B
*****F 5 **********
* PUT DISK *
* ADDRESS FROM *
->*DIRECTORY TABLE*
♦INTO BTG TABLE +
* *
*****************
****
*****G4** ********
* PUT DISK ♦
♦ ADDRESS OF ♦
♦$JODNP INTO WTG*
♦ TABLE ♦
* *
*****************
.♦ NEXT ♦.
♦ SECTOR ON ♦.
NO
*
SAME TRACK .
♦ . ? .♦
♦. .♦
♦. .♦
♦ YES
1 ♦♦♦*
♦
!-->♦ d
*
*
*
*
*
****
*****K2 **********
*****************
****
► *
► C1 *
* *
****
Chart KO. Transient Resolver ($$OXRF)
Program Organization 6-95
ItlNAT
* ENTER *
* *
***************
*****^f **********
*****************
* OBTAIN C/S OP *
» FOURTH HORK *
* SECTOR *
* *
*****************
*****F1**********
* * * *
* *NCEIOS READ* *
* * IN FOURTH * *
* *WORK SECTOR* *
* * * *
*****************
*****G1*********4
*****************
*****H1 **********
* * NCEIOS * *
* * REFRESH * *
* *USER'S (IAIN* *
* * STORAGE * *
* * * *
*****************
*****J1 **********
* *
* RELEASE *
* SCHEDULERS *
* INTERLOCK *
* *
*****************
CI *. *****c2**********
.* *. * *
.* *. NO *SET UP PARK FOR*
*. LEVEL 1 .* >* LEVEL 2 *
*. . * * *
*. .* * *
*. .* *****************
* YES
I<
BA/01/A1
*****Q1 **********
♦NENTRY *
* _ *
♦READ INDEX FROM*
* SUA *
* *
*****************
*****E1*********4
. * SPECIAL
SPACE
*. REQUEST
*****K2 **********
* *
* RETURN *
->*COHPLETION CODE*-
* TO USER *
* *
*****************
****K1*********
k
* RETURN
***************
TO: CALLER
Chart KP. Allocate Terminator ($$INAT)
6-96
ItSTHB
**** A 1 *********
* «
* ENTER «
* t
***************
*****31**** ******
* *
* *
♦DETERMINE MODE *
* *
* *
*****************
*****C1 **********
♦MOVE ERROR* TO *
* ERHORT - SET *
* OFF BIT *
♦INCREMENT TABLE*
* *
*****************
CORRECT
TABLE
LOADED
*****E1**********
* *
* FIND CORRECT *
* MODE B ERRORT *
* FROM TBL1 *
* *
*****************
*****p1**********
* BUILD H/S *
* FUNCTION BYTE *
* AND OPTION/ *
♦RESPONSES BYTE ♦
* FROM TBL2 ♦
*****************
*****G1**********
♦ BUILD ♦
♦ HALT/SYSLOG ♦
♦PARAMETER FROM ♦
♦ TBL3 ♦
*****************
****H1**********
BUILD *
HALT/SYSLOG
*************
*****j1 **********
* MOVE ♦
* HALT/SYSLOG ♦
♦PARAMETER LIST ♦
* TO IIRDML ♦
* *
*****************
*****P2 **********
*****************
D
V BA/01/A1
*****K1**********
♦ NS'vITRY ♦
***********
****t<2*********
k +
* RETURN <
***************
TO: CALI.T.H
Chart KQ. Halt/Syslog Parameter Build Routine ($$STHB)
Program Organization 6-97
$$RDS1
****A1 *********
* *
* *
***************
*****B1 **********
*****************
C1 *.
.* *.
.* CONTINUE t
. LAST RETURN
*. CODE ? . t
* NO
****
* *
* D1 *->
* * <
****
*****D1 **********
* *
* *
♦SCAN FOP A DASH*
* *
* *
*****************
*****E1 **********
♦ MOVE THE *
♦KEYWORD CONTROL*
♦ BYTE INTO ♦
♦ OUTPUT *
♦ *
*****************
F1 *.
► +
AT NEXT
*****C2 **********
*****************
****
» A
* D3 *
****
*****03**********
* *
* SCAN FOR A *
* COMMA OR A ♦
* QUOTE *
* *
*****************
*****E3**********
♦ MOVE THE *
♦ PARAMETER TO ♦
♦ THE OUTPUT *
♦ BUFFER *
****
. NO ♦ *
, * >* D 3 4
* *. ****
AT A , *. YES * *
COMMA ? .♦ >♦ D3 *
*****G1 **********
*****************
*****H1**** ******
* MOVE THE *
♦PARAMETER INTO ♦
* THE OUTPUT *
* BUFFER *
* *
*****************
J1 ♦.
.♦ DOES ♦.
* CURRENT=, *.
NEXT= BLANK .
►• ? - *
*****j2 **********
IS NEXT *.
YES
= COMMA ?
* ,
.*
1
*. . *
I
*. . *
V
* NO
****
*
* D1
*
****
*****H3**********
*****************
*****************
****J3*********
* *
->* RETURN *
* *
***************
TO: CALLER
I ****
* *
L->* D1 *
♦ *
****
Chart KR. Keyword Syntax Scan Routine ($$RDS1)
6-98
SJSTF7
****A i*********
• *
• ENTEB *
• *
***************
****
* *
* B3 *
* *
****
***•
* *
* BU * •
F7VT0C ¥ KS/02/A1
****•(; 1 **********
♦F7RDHT *
• BEAD VTOC F7>S *
* *
**•***•*••*****•«
*.
.*.
G1 *.
•■OHBBR *.
. * OF USED *. YES
F7«S .*
■ ANTED . *
F7PUT V KA/02/A1
*****C2 **********
♦F7RDWT *
*****************
KS/02/A1
F7SHST V KA/02/A<4
*****g^ **********
♦ F7RDWT *
* READ A SECTOR *
* *
*****************
.* IS THIS *. HO
->*. THE F7 .*
♦.REQUESTED.*
*****B5* *********
• *
• *
->* CHECK NEXT F7 *
• *
• *
*•**•*••••*•*•***
*****[) 3 **********
* *
* CORRECT F7 *
>* SECTOR *
* DISPLACEMENT *
* *
A****************
*••••••*••***••**
KS/A1/02
*****P2**********
♦F7BDHT * ****
*****••••**•**•**
*****G2 **********
F7XGET
****
* * .* 1__ _„_
* E« * >*. A GET
* *
• ***
E« *.
IS THIS
*.
*****pi|* •*•*••*••
*****************
*•*•
* *
* GU *->
* •
***•
*.
.*
* DETERMINE *
->*NUHBEH OF F7«S *-
* USED *
* *
****•••*•***•****
****GU*********
► *
► HETURN *
* *
***•*•***•**•••
. * DESIRED *. NO
*****************
*****J2**********
*****************
.* END OF
*
NO
*. SECTOR
».
•
1
*. .*
I
*. .*
T
* TES
I
****
* *
* B4*
* *
*•**
• ••*
* *
* B3 *
• •
**••
****
* •
* E5 *
* *
**••
|
F7P0TO T
*****B5 **********
•
•
•HOTS USSR'S
7 ?
•
— >* IMAGE TO F
•
•••••*****•••***•
' KS/02/A1
*****P5**********
♦F7BDNT *
*•****••**••****•
E
•***
* *
* EU *
* •
• **•
****
* *
* E« *
* *
• ***
Chart KS (Part 1 of 2). HIKEY Transient ($$STF7)
Program Organization 6-99
F7RDHT
****A1*********
* *
* ENTER *
* *
***************
*****B1 **********
*****************
*****C| •***•*••**
*****************
F7BDBK
****B1*********
* 4
* RETOHB »
* 4
**•***••**•**•*
*****£2 **********
*****************
*****D3 **********
* *
* *
->*SKT HPL FOR SW»*
* *
* *
*****************
♦HALT KITH 'HE' *
* *
* *
*****************
*****************
" BA/01/&1
*****U2* *********
♦HCENTH *
*****************
****J2 *********
* ♦
* EXIT 4
* *
***************
TO: $*THEO
Chart KS (Part 2 of 2). HIKEY Transient ($$STF7)
6-100
SSRDHK
****A1*********
• *
• ENTER •
• *
***************
*****]g,1 **********
*****************
BRANCH TABLE
3 4 5 6
ri * *****c2**********
.* *. *SET HOHIZOHTAL *
.* *. TES * COORDINATE TO *
*. CONTINUATION .* >*LOGIC TABLE AT *
*•••***•**••**•**
****
.*.
D1 *.
.* *.
.* *.
IBS
*. CHARACTER ■ .
*. QUOTE .*
1
*. .*
I
" NO
****
* *
* IC1 *
'► *
***«
'
.*.
HI *.
.* *.
.* *.
TBS
*. CHARACTER = .
•-.---I
*. BLANK .*
1
*. . *
1
*. ••
»
' NO
• •*•
* *
* J1 *
* *
*••*
'
.*.
1M *.
.* *.
.* *
TES
*. CHARACTER -
• -,
*. CO
1NA .*
***••(• 1 **********
**•****•••••*****
Quote
f^4
7 4
f^3
f^4
7*
Blank
4^
fS 3
fS 3
fS 3
f^3
Comma
^Kf
4>/
J^
S^f
«^f
4^F
Other
<F f
fS 3
f^3
4>y
Values in this portion
of the squares provide
the displacement to
the branch table. It
identifies the internal
subroutines.
Values in this portion
of the squares will be used
used as the horizontal
coordinate next time
through.
E
0****1)1 **********
*****************
*•*•
* «
* J1 '•
* I
****
*****J1 **********
****************
***•
* *
* K1 *->
* t
****
*****£ 1**********
* *
* OBTAIN *
♦DISPLACEMENT TO*-
* BRANCH TABLE *
* *
*****************
****K2*********
* *
>* EXIT *
***************
TO: ROUTINE AS
DETERMINED USING
BRANCH TABLE
Chart KT (Part 1 of 2). HIKEY Parameter Scan Routine ($$RDHK)
Program Organization 6-101
HK110
****A1 *********
* *
* ENTER *
* *
***************
HK130
****A2 *********
* 4
* ENTER *
* 4
***************
HKIttO
****A 3 *********
* *
* ENTEH *
* *
**•••*••***•***
HK160
**** A 4* ********
* *
* ENTER *
* *
***************
HK230
****A5 *********
* *
* ENTER *
* •
***************
• ***
* •
* B1 *->
* *
***•
*****[) 1 **********
V
****•**•**••*****
*****C1 **********
*****************
*****£) 1 **********
* INCREMENT *
* LENGTH OP *
♦SCANED ARGUMENT*
*FOH MOVING INTO*
♦ENCODED OUTPUT *
**•***•*•••***•**
****
it *
► El *->
****
*****B2 **********
* *
♦HOVE LENGTH TO *
♦ENCODED OUTPUT *
* AREA •
* •
**•**•**••***•***
LIST *. YES
LENGTH TO .* .
. NOTE .* I
*****D2 **********
*****************
.* LENGTH
*
NO
*. = ZERO
•
*.
*
1
*. .*
1
*. . *
V
* TES
*•**
**•* 1
*
* *
* B2
* C3 *->
*
* *
****
**** I
150 »
*****C 3 **********
*
•
* NOTE ERROR
*
♦NUMBER FOB HALT*
****
► *
* B« ♦->
► *
****
.*.
B4 *.
.* *.
.* NEXT *. NO
►. CHARACTER = .*
*. BLANK .* I
*****B5**********
* •
* SET BIT IN *
♦ENCODE AREA FOR*
* SOB- ARGOHEHT *
* •
•***••*•*•*******
I****
* *
->* El *
* *
• •**
*****************
****D3 *********
* *
* EXIT «
* *
**•**•**•*****•
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
*****Ct **********
* •
* POINT TO NEXT *
♦CHARACTER TO BE*
* SCANNED *
* *
**********♦**•••*
****
HK120 .*.
El *.
.* *.
.* END OF
*. SCAN AREA
*. REACHED .
*****f1 **********
*****************
GOOD
ENDING
PLACE
I ****
* *
!■->* C3 *
* *
*•**
*****gll* *********
* *
* SET *
* CONTINUATION *
* RETURN CODE *
* •
*****************
*****pt|**** ******
*****
*001*
* D1*
• *
* HOYE X'FF' TO *
♦ENCODED OUTPUT ♦
♦ AREA *
* *
**••*••*•••••***•
• *** |
* •
* G» *->
* * I
**** v
HK220
HK190 .*.
G« *.
****G3*********
.* *.
* *
.* CONT *. YES
* ENTER *
*. RETURN .*
* *
*. .*
***************
*. .*
*****G 5**** ******
* *
* SET SNITCHES *
>* APPROPRIATELY *
* FOR SSRDNL *
* *
***•***•*••*••***
*****H 3 **********
*****************
*****H4 **********
* *
* SET SNITCHES *
* APPROPRIATELY +
* FOR SSRDNL *
* *
*****************
*****J4 **********
*****************
****KU*********
* 4
* RETURN *
* *
***************
TO: CALLER
Chart KT (Part 2 of 2). HIKEY Parameter Scan Routine ($$RDHK)
6-102
SSBBLP
****A1 *********
• *
• ENTEB »
• *
***************
1ITC isuai HOVE*
*PABH TO PBOGBAM*
•*••••*•**•***•**
NEXT *.
CHAB
DUP
. *
*
.*
*.
* DO
****
*
->* HI
*
****
UPONE
****A4*********
* *
* ENTER »
* »
***************
*****************
*****************
,*
TES
***** C 2 **********
***•*•****••**••*
I****
* *
->» H5 *
* *
****
NO .
r
*
*
*
****
*
ji *
*
****
D3 *.
,* *.
63
CHABS DOP
*HO¥E SMBT C/S *
• TO COIIBBKT •
• C/S/D *
**•••***«•**•••**
• *••
* *
* JI »
* 4
***•
*****************
*****D1| **********
******••*•*•*•***
****gl|* ********
* *
* BBTOBN *
* *
***************
LAST *. TES
SECTOB .» ■
•* 1
•* 1
♦. •* »
* no *•••
* •
* E5*
* *
• *••
*****D5**********
* •
* UPDATE IOB, *
* MOTE IB C/S *
* IEZT *
* •
**••**••****•*••*
*****B5**** ******
P
****
it a
6r
•••*•*****•**••*•
<
********►**♦*♦*»*
**••
• •
• HI *-
>
• •
*•**
LP330
*****H1 **********
**•*•***•*••••***
• •••
• ADD ONE TO *
• POIMTEB TO *
• BBFFEB *
***•••*••*•••••••
.*.
K1 *.
*.
**•*
96 *.
NO
* *
BITES
*
->* A2 *
. *
• ***
*. . *
* TES
|
• ***
* *
* P5 *
• •
• •*•
Chart KU. Model 6 Logical Put Routine ($$RBLP)
* p5 * >* • DIODSP
•**•*•••**••*•*••
*****G1) **********
•SET EBBOB CODE »<-
•*•*•**••**•*****
G5 ♦•
*
EBBOB
' BA/01/A1
*********
*****************
• ***J(|* ********
* •
* EXIT *
* »
***************
TOt $$SPEJ
****
* *
* H5 »->
• ***
****H5 *********
* *
* BETUBN *
* *
****•****•*••**
Program Organization 6-103
SIRBSX
****A1*********
* *
* ENTER ♦
* *
***************
* INITIALIZE *
* *
* *
*****************
C1 *.
*
BLANK
*****C2 ********* *
*****************
****
* *
* G5 *
* *
****
*************
* G5 *
* *
****
*****************
LOADER
*****E3**********
♦LOADER *
* GET $$RBDT
*
*************** 4
*****
*003*
* B1*
*****j2**********
* *
* CHECK FOB *
->* CHARACTERS t> ♦-
* T, S *
*****G3**********
* *
* SET GOOD *
♦RESPONSE GO TO *
* RETURN *
GS *
****
* SET ERROR *
>* INVALID *
* RESPONSE *
* *
*****************
03-H4 * E5*
* KC1.15TKH5 '<. •»
***************** I
****
****
> *
► H5 *
« *
*•**
* G5*
* *
****H5*********
* *
* RETURN *
* *
***************
it* **K1 **********
*
SET OTHER *
UPTURN TO * .
CALLE3 * |
* ScIT GOOD *
♦.(ESt'ON.SE ISO TO *-
* RETURN *
* *
*****************.
* G5 *
* *
****
Chart KV (Part 1 of 4). Model 6 Syntax Checker ($$RBSX)
NOTE 1
FROM:
02-C1
02-D3
02-H2
03-F4
01-A2
04-C1
04-D1
0U-E3
02-F2
03-D4
03-G2
0K-B1
Oi»-Cl»
0!»-D«
0U-F2
6-104
*****
♦ 001*
* F1*
.* 1ST *. YES
->*. CHAR = (') .*
*.
NO
*****
*001*
* P«*
**«*
* * I
* C2 *->
****** J
*****C2**********
*****************
*****C3**********
* *
* *
-* SET MVP ON *
* *
* *
*****************
.* NEXT
->*. CHARACTER
*. BLANK .
«****C 1)**** ******
*****************
*****************
I ••*•
* *
i->* C2 *
• •
*••*
****
* *
* J2 *
* *
****
NO .* CHAR =
*.
*. BLANK
.*
*. •
*
*• .*
*• . *
* YES
**** |
* *
* F2 *->(
* * 1
**** V
SX0221 .*.
F2 *.
.* *.
.* LENGTH
*. > 8
*. YES
*
V
" *. .*
*****
*. . *
♦ 001*
* NO
* pa*
PACK S
MV.F ON
*
*
*
IfES
I
. *
I
*• . *
V
* NO
I
****
* *
* F2 *
* *
*****
****
♦ 001*
*****
*001*
* Ft*
**** *,7 2 **********
* * ****
* SET (5O0D * * *
->* RESPONSE *< * J2 *
*********
Chart KV (Part 2 of 4). Model 6 Syntax Checker ($$RBSX)
Program Organization 6-105
*****
♦001*
* G1*
«CC1 **********
***************
D2 *.
F2
VALID
****
* *
* HI *
* *
****
*****
*001*
* F4*
MVF ON .* —
. *
. . *
*. .*
* NO
V
*****
♦001*
* Ft*
***** EH **********
* *
* •
* SET MVF ON *
* *
* *
*****************
****
* *
I— >* an *
* *
****
l — >*. MVF ON
. * *****
.* *001*
YES * Ft*
* SET MVF OFF *
* *
* *
*****************
****
* *
* H"* *->
* *
****
*****f]4 **********
* SET GOOD *
* RESPONSE *
♦CONVENT UNIT TO*
*****************
Chart KV (Part 3 of 4). Model 6 Syntax Checker ($$RBSX)
6-106
. 41 >*. MVF ON
*****A3**********
* *
* *
->* SET MVF ON *
* *
*001*
* m*
*****
*****
*001*
* FU*
*****************
****
* *
L->* E2 *
* *
****
*****
*001* •***
* FU** *
* * * CI *->
*****
*001*
* pu*
* *
*****
• 001*
* FU*
C1 *.
*
CHAR <
D1 *.
NVF ON
*****E1**********
* *
* *
* SET NVF OFF *
* *
* *
*****************
****
n *
► CI «
K *
****
****
* *
* C3 *
* *
****
.* CHAB *.
*. \}UOTE
*. .*
*. .*
****
NO
* *
* E2 *->
* *
****
1
*****E2*
1
********
* UP POINTERS 1 *
* *
* *
*****************
*****
*001*
* Ft*
->*. >999999
* YES
I ****
♦001*
l->* pu *
*****
*001*
* rn*
* *
****£5*********
***************
*****
•001*
* G5*
• *
E
*****
*001*
► FU*
Chart KV (Part 4 of 4). Model 6 Syntax Checker ($$RBSX)
Program Organization 6-107
SJRBSI
****A1 *********
* *
* ESTER *
* •
***************
****
.* *.
*
A3 *—
*
****
.♦OVERRIDE OP*
-->*. AH ENDING
*. HIKEY .*
*. .*
* HOVE IN START *
* CNTRL ADDRESS *
* OF fSRBSI *
* *
*****************
*****£ 1 **********
* POINT TO *
* RESPONSE *
* POINTED TO IN *
* SYNTAX CHECK *
* PARH •
*•••*•**********•
.* *
****
.* ENDING
*
NO
*
*. HIKBI
*
->* G2
♦.INDICATED
*
*
*. .*
****
*. .*
* YES
•*** 1
* •
* C3 *->
♦ *
• •** V
SIHI16 .*.
C3 *.
. * *
.* BLANK
*
YES
*. DELIMITED
*.
*
V
*. .*
*****
*. .*
•00 2*
* NO
* K2*
* A *
****
NODI PI OP
*. NO
*
HIKBI
->* P3
RESP
*
•
*. .*
*•**
*****D3 **********
* •
* CONHA DELIMIT *
•NEW RESPONSE TO*-
* POT TO SNA *
* *
*****************
*****
♦002*
* K2*
* CALCULATE ♦
* LENGTH OP OLD ♦
♦RIKEY BESPONSB ♦
* *
*****************
•POINT TO HIKEI *
* OVERRIDE *
* RESPONSE *
* *
*****************
**•*
* SCAN OUT *
•LEADING BLANKS *
•IN HEN RESPONSE*
• *
**•*•*•*•********
SIHIKE
****G2*********
* *
— >* RETDRN *
* ♦
***************
TO: CALLER
♦.RESPONSE .*
****
*. YES * *
.* >* A3 *
*****G 3 **********
* *
* STORE START *
•ADDRBSS IN PARH*
* LIST *
* *
*****************
I
* ***
02-D3*002*
* CI *->
* *
* *•*
SI0004
*****H 3**** ******
*****************
: : 1
***************** y
****
* *
* G1 *
* *
****
*****
*002*
* E1*
*****
♦00 2*
* B1*
Chart KW (Part 1 of 2). Model 6 Syntax Checker Interface ($$RBSI)
6-108
*****
♦ 001*
* K3*
SI0005
****** 3**** ******
**** * SET ON *
► * * NDLTI-VOLUME *
* A3 * >* STARTED IN *
t * * FUNCTION BYTE *
**** * *
**•*****••****••*
SI0007 V
•**** B 1 **********
* BDHP RESPONSE *
* POINTER AND *
♦STORE POSSIBLE *
* END ADDRESS *
* *
*****************
*****B 3 **********
•PREPARE BUFFER *
* TO HOVE NEXT *
* SUB-PARAHETER *
* OF RESPONSE *
* *
*******•****•••**
.* DONE *• N
*• NITf) BUFFER • *~
*. .*
V
*. .*
*****
*. .*
*001*
* YES
* H3*
■ *••*
* *
!■->♦ H2 *
• *
*
* *
• •**
.*.
D1 *.
.* *.
.* ENDING *. NO
r ->*. QUOTE .*-
1 *"*. .*"
~""7
I
*. .*
♦
* * TES
**••
* •
• •
♦ 001*
* H2 *
* K3*
• •
*****
***•
SI0001 1
*****£ 1 **********
* *
* STORE CURRENT *
,->* RESPONSE SCAN *
* POINTER *
* *
] *****************
* *
♦ 001*
* J 3*
*****
SYNTAX
'
*****F1 **********
•SSRBSX *
C3 *.
.* NEXT *
RESPONSE
BITE A
. QUOTE
*. .*
*. .*
D3 *.
.* NEXT *
RESPONSE
BYTE A
BLANK
*•**
* *
* H2 *
* *
****
*.
*****
♦001*
* B3*
U>* R2 *
• 4
****
* SYNTAX CHECK *
•BLANK DELIBITED*
* RESPONSE *
*••***••*•**•**•*
,* ENDING
8UOTE
EIYED
SVnOOB
*****G2 **********
* STORE ENDS, *
. YES * START* AND *
t * >* LBNGTH -1 OF
* RESPONSE IN *
* USER'S PAHN •
*****************
• **•
* *
* H2 *
* —
***•
* *
->* K3 *
* *
*•**
■' I
TES
*****H2**********
* *
* •
;*irr >*indicate error *
* *
* *
*•******••******•
*****************
*****K2**********
* PLACE PROPER *
♦ENDS STARTS AND*
* LENGTH-1 IN ♦-
* PARK LIST ♦
* *
*****************
RETRN1 I
****K1*********
*
>* RETURN
*
***************
Chart KW (Part 2 of 2). Model 6 Syntax Checker Interface ($$RBSI)
Program Organization 6-109
fSBBLI
****A1*********
* 4
* EHTEH *
* 4
***************
*****************
.* •//■ ON '*. HO
*. SWTEHEHT .*
.STiTEHENT.*
C3 *.
* *
COHBENT
*****BI» **********
* *
* SET *
->* COHTINOiTION *-
* INDICATOR ON *
* *
*****************
****
* *
* G5 *
* *
****
*****D 3 **********
•***•******••••**
• **•
* *
* G5 *
* •
***•
*****************
•****E2 **********
* *
* SBiBCH B VEBB •
•TABLE FOB GIVEN*
* TEBB *
* •
*****************
: i
**•*•*•*•*****•** y
**•*
* •
* G5 *
* *
**•*
*•*•
* *
* F5 * .
* * i
**•* I
110 t
*****P5***«
******
**•***•••********
*****G2 **********
* *
* SEABCH D VEBB *
•TABLE FOB GIVEN*
* VEBB *
* *
***••*••***•*****
NO .* *. IBS
■ *. CHECKING .* ,
♦.FOB LO&D .* I
**•*
* *
* F5 *
* *
****
*****G1**********
•***•*********•••
****G5 *********
* *
{->* BETUBN *<— .
*************** I
** •*•*
* G5 *
► 4
****
* G5*
* *
*••*
*****H3* *********
*****J2 ********* 4
*****************
*****************
****
* *
->* G5 *
Chart KX. Model 6 Library Interaction Routine ($$RBLI)
6-110
Section 3. Directory
Figure 6-23 contains the Directory for the Transient and
Scheduler Support routines.
Phase Name
$$STIC
$$STIM
$$STIP/
$$STIS
$$STID
$$STIT/
$$STIX
$$STEP
$$STOC
$$STOP
$$STOH
$$STP6
JJ
$$STOK
JK
$$STOS
JL
$$STOM
JM
$$STON
JN
$$STOT
JO
$$STOX
JP
$$SLSE/
JQ/
$$SLS1
JR
$$SSGT
Chart ID
JA
JB
JC
JD
JE
JF
JG
JH
Jl
JS
Descriptive Name
System Input Device— Console
System Input Device-MFCU/1442
Model 6 System Input Device—
Keyboard/Printer
Model 6 System Input Device-
Data Recorder
Model 6 System Input Device— CRT
System Output— Printer Error Logging
Halt/Syslog-Console (5471)
Halt/Syslog-Printer
System Halt Transient
Model 6 Printer Syslog Error
Recovery Procedures Routine
Halt/Syslog— Halt Code Conversion
Routine
Model 6 Halt/Syslog Routine-
Keyboard
Model 6 Halt/Syslog Routine-
Matrix Printer
Model 6 Halt/Syslog Routine-
Matrix Printer
Model 6 Halt/Syslog Routine-CRT
Model 6 Halt/Syslog Routine-
CRT On and Off
Model 6 Halt/Syslog Scheduler
Error Messages Routine
Scheduler Work Area— GET
Function
Reads a record from the console (5471)
Reads a record from the MFCU or the 1442
Supports the keyboard/printer as a sysin device
Supports the data recorder as a sysin device
Supports CRT displays
Calls the IOS Error Logging routine ($$DLOG)
Issues a descriptive halt
Supports the console as a system logging device
Supports the printer as a system logging device
Converts the halt codes into valid stick light
combinations
Checks for a DPF system
Passes control to the Resident Halt routine (NPHALT)
if in a DPF system
Senses printer errors and attempts recovery
Converts Disk System halt characters to Model 6 halt
characters and Model 6 halt codes
Issues HPL instructions and accepts options from
keyboard
Performs halt/syslog functions for the matrix printer
• Performs halt/syslog functions for the matrix printer
• Performs halt/syslog functions using the CRT for display
• Starts and stops the CRT display
• Sets up halt/syslog to display all conversational
scheduler error messages
• Retrieves the next consecutive logical record from the
scheduler work area
Figure 6-23. Transient Directory (.Part 1 of 3)
Directory 6-111
Phase Name
$$SSPT
$$SSSC
$$SSVT
$$STRI
$$STRN
$$STRO
$$STRU
$$STRT
$$SYP1
$$SYP2
$$SPC1
$$SPC2
$$SYSG
$$SPFN
$$STAI
Chart ID
JT
JU
JV
JW
JX
JY
JZ
KA
KB
KC
KD
KE
KF
KG
KH
Descriptive Name
Scheduler Work Area-PUT
Scheduler Work Area— Read/Write
Volume Table of Contents
Read/Write
Rollin— Phase One
Rollin— Phase Two
Rollout— Phase One
Rollout— Phase Two
Rollout— Phase Three
Disk System System List— Print
Model 6 System List-Print
Disk System System List—
Print/Punch
Model 6 System List— Punch
Routine
Source Library Get
Find Transient
Allocate Initiator
Function
• Loads consecutive records into the scheduler work area
• Reads consecutive sectors from the SWA
• Writes consecutive sectors into the SWA
• Performs read/write functions for the following data
areas:
1. Volume label
2. VTOC index
3. Configuration record
4. Format one records
• Restores the scheduler work area
• Restores the interrupted RPG program and data areas
• Determines if the correct disk was remounted
• Passes control to the restored RPG program
• Tests the allocated devices
• Enqueues IOB entries
• Rolls out the RPG program onto disk
• Stores the scheduler work area
• Builds a table entry for the following:
1. Print chain image
2. Transient area scheduler
3. Printer page size
4. Scheduler/Data Management Switches
5. Volume labels
• Allows the user to be printer independent by supporting:
1. Open
2. Close
3. Print, skip and/or space
4. Skip and/or space without print
• Passes print parameter list to halt/syslog
• Calls halt/syslog
• Supports the following functions:
1. Punch only
2. Print/punch 96 columns
3. Punch 96 columns and print 128 columns
• Supports the following functions:
1. Punch only
2. Print/punch 96 columns
3. Punch 96 columns and print 128 columns
• Finds a specified member of the source library
• Passes a 96-byte record back to the caller
• Locates a specific program in the object library
• Passes loading information to the caller
• Issues a halt if entry is not found
• Loads the Allocate routine ($$INAI)
• Compresses specified DTFs into the last 1024 bytes of
the user's RPG program
• Copies the last 4K of the user's program into SWA
Figure 6-23. Transient Directory (Part 2 of 3)
6-112
Phase Name
$$SYLA
$$SPEJ
$$TMST
$$SYSP
$$STR1
$$STR2
$$INAT
$$STNQ
$$STHB
$$RDS1
$$ODNP
$$STF7
$$RDHK
$$RBLP
$$RBSX
$$RBSI
$$RBLI
Chart ID
Kl
KJ
KK
KL
KM, KN
$$OXRF KO
Descriptive Name
KP
KQ
KR
KS
KT
KU
KV
KW
KX
Load* Mainline
End of Job Transient
End of Job— Disk Status
Copy Main Storage to Source Library
Resource Allocation Phase One
Resource Allocation Phase Two
Transient Resolver
Allocate Terminator
System Queue Routine
Halt/Syslog Parameter Build
Routine
Keyword Syntax Scan Routine
Transient Resolver No-op Routine
HI KEY Transient
HI KEY Parameter Scan Routine
Model 6 Logical Put Routine
Model 6 Syntax Checker
Model 6 Syntax Checker Interface
Model 6 Library Interaction Routine
Function
• Builds a temporary object library
• Dynamically allocates needed space for the above library
• Updates the volume label if space was allocated
• Terminates the calling routine
• Determines the mask to be used for the input Q-byte
• Calls the Disk IOS Error Logging routine and the End of
Job phases one and two
• Reads 96-byte records from main storage
• Compresses and loads the records into the source library
• Updates the volume label and the library directory
• Reads the temporary configuration records from the SWA
• Calls $$STR2 to allocate the requested devices
• Restores the updated configuration records
• Allocates non-disk devices
• Resolves absolute disk addresses among certain system
transients in order to facilitate the passing of control
from one to another
• Sets up the user's main storage to reflect the settings
before the Allocation routines were called
• Removes transients that are interlocked with the scheduler
and are located on the transient queue
• Builds and loads the appropriate Halt/Syslog parameter
list into the Reader/ Interpreter Work Area (RDIWA).
• Scans a specified area for keywords
• Ensures that each keyword is syntactically correct
• Passes a return code to the caller indicating the result of
the scan
• Issues a halt (42) if a system transient (requested by
another system transient) cannot be located by the
Transient Resolver ($$OXRF)
• Reads and writes format seven's in the SWA and VTOC
• Scans a specified area containing the HI KEY parameters
• Compresses records
• Writes compressed records to disk
• Checks syntax for Load, Build, and Call cycles
• Serves as the interface between $$RBSX and the calling
routine when MVFs are being processed
• Scans each 96-byte record taken from a procedure in the
source library for LOAD, or any verb, or a continuation
statement
• Returns statement type to 'caller
Figure 6-23. Transient Directory (Part 3 of 3)
Directory 6-113
6-114
PART 7.
LINKAGE EDITOR
fill
:-y.*:-:-:t:->v.
:*:*:*x-:-:*:
llll
Linkage Editor 7-1
7-2
Section 1. Introduction
The Linkage Editor is used to combine separately compiled
or assembled routines into one program that can be executed
by the IBM System/3.
The Linkage Editor receives two types of input records:
• Control records
• Source records
These records are loaded into the language translator out-
put work file ($WORK) by the language translator (for
example, the RPG II Compiler). After receiving control
from the Scheduler, the Linkage Editor first opens the
$WORK data file. The following is a description of the
format and usage of the two types of input records.
CONTROL RECORDS-INPUT TO THE LINKAGE
EDITOR
The Linkage Editor receives control input in the form of
64-byte records. These records are generated by the RPG II
compiler and are located in the $WORK data file (Figure
7-1). All of the control records are 64 bytes in length; pad-
ding with blanks on the right takes place when necessary.
PHASE Control Records
The PHASE record is used to delimit the size of the LOAD
(O.) module. One PHASE record precedes the object (R.)
modules in the $WORK data file. All of the object (R.)
modules that are located between the first PHASE record
and either a /* or a second PHASE record, are linked to-
gether to form one load (O.) module.
Control Input
Records
Control Input
Records
IPHASE Control Record!:
iOPTNS Control Record;!
External S. L. Records
#
Text-RLD Records
End Record
SENTRY Control Records:;:;:
• • • ■ "
One Load
(O.) Module
Figure 7-1. Control Input Records Within the Language
Translator Output Work File ($WORK)
Position 1
I4PHASE
[t 01 ? \ 00 ) (TEMP )~]
SIZE- j FF f ,LEVEL- j F pl , n p ERM \
Size— Number of sectors required for the program to execute.
Level— Release level of the program.
p 6mp [ -Programs attribute in the object library, temporary or permanent
(default is to temporary)
Introduction 7-3
INCLD Control Records
The INCLD record is used to specify an object (R.) module
that is to be link edited into the current load (O.) module.
The specified object (R.) module resides in the object library
on disk, not in the $WORK data file. The Linkage Editor
locates the specified object (R.) module in the object library
and incorporates it into the current load (O.) module.
Position
1
tilNCLDtt
module name
OPTNS Control Record
The OPTNS record is used to specify one or more of the
following attributes for the current load (0.) module.
1 . INQRY— indicates that this is an inquiry program
2. INQEVK— indicates that this is an inquiry invoking
program
3. DEDIC— indicates that this program must be run in
a dedicated system
ENTRY Control Record
The ENTRY record is used to override the language trans-
lator-generated END record. The ENTRY record is used to
specify the first instruction to be executed in the load (0.)
module.
Position
1
[6ENTRY&
entry point name
4. SOURCE— indicates that this program requires source
input
5. DFRMNT— indicates to defer pack-not-on-line
diagnostics
6. PUNCH— indicates punched output to be placed into
a LOAD * deck
7. NOAUTO-indicates do not use the AUTOLINK
function
Position
1
8. PTFAPP-indicates a PTF has been applied to the 0.
module
I40PTNS
[ INQRY,INQEVK,DEDIC,SOURCE,DFRMNT,PTFAPP,PUNCH,NOAUTO ]
7-4
SOURCE RECORDS-INPUT TO THE LINKAGE EDITOR External Symbol List (ESL) Input Records
The Linkage Editor receives three types of source input
records from the $WORK data file (Figure 7-2):
1.
External symbol list (ESL) input records
There are three valid types of ESL entries, each type is 12
bytes in length. Each ESL record may contain from one to
five of the following entries:
2. TEXT-RLD input records
3. END input record
Each input record is 64 bytes in length. These records de-
fine the object (R.) modules that are to be link edited to-
gether to form the current load (0.) module. The following
describes the format and function of each source input rec-
ord type.
Source
Input
Records
PHASE Control Record
•External Symboi Listfe:S?SS:::§^
: TE XT-.R LD Input .Recprdsjf
;|END Record!;!;!
Linkage Editor Control Records
One Load
(O.) Module
Figure 7-2. Source Input Records Within the Language
Translator Output Work File ($WORK)
Type X'OO '-Module Name: This ESL entry indicates the
name assigned to the object (R.) module.
Module
Name
;i;boi:;ij!
Assembled
Start
Address
W& of Module
Length
of Module
Blank
Bytes 1
8
9 10
11 12
Type XVI '-Entry Point: This ESL entry indicates the
name of an entry point within the object (R.) module.
Entry
Point
Name
SSSSS::]
Assembled
Entry
Point
Address
Blank
||oi||
vsm+v-:*;.
Bytes 1 6 7 8 9 10 12
Type XV2-EXTRN Reference: This ESL entry indicates
that the symbol or entry point referenced on this record is
defined in another specified module.
EXTRN
Reference
%mm
NN
Blank
Bytes 1 6 7 8 9 12
NN = Load module number (00 specifies this module)
TEXT-RLD Input Records
These input records contain in the TEXT portion the data
and instructions that comprise the object (R.) modules.
The RLD portion of the same record contains pointers to
the relocatable operands located in the TEXT portion of
the record.
m;:*
L-l
End
Address
of Text
Portion
TEXT Portion
RLD Portion
Bytes 1
2 3
4 5
64
END Input Record
This record is generated by the language translator and con-
tains the address of the first instruction to be executed in
the load (0.) module.
Bytes 1
Execute
Start
Address
Blank
E
64
Introduction 7-5
OUTPUT FROM THE LINKAGE EDITOR
The user can expect the following output from the Linkage
Editor:
• Updated volume label sector to indicate the next avail-
able directory and data locations in the object library
• The object (R.) modules that have been linked to form
one or more load (0.) modules
• An entry in the object library directory for every non-
RPG overlay module. (See Appendix A. Data Area
Formats for format of directory.)
• An entry, for every RPG overlay load (0.) module, in
the RPG root load overlay fetch table. (See Appendix A.
Data Area Formats for format of table.)
• Printed output specifying any errors that might have oc-
curred during the Linkage Editor phase.
• A LOAD * deck if punched output is requested
• A listing of the RPG overlay table if the output is an
RPG overlay program
• TEXT output records: This portion of the load (0.)
module in one continuous string of instructions and data
taken from the object (R.) modules. The TEXT records
are in machine language without identifiers, length bytes
or address bytes (Figure 7-3).
• RLD output records: This portion of the load (0.) mod-
ule is one continuous string of relocation directory (RLD)
entries (Figure 7-3). Each RLD byte indicates the num-
ber of TEXT bytes displaced from the preceding RLD-
referenced TEXT operand.
There are four types of valid RLD entries:
1 . Type X'00'-X'7F'-indicating normal RLD dis-
placement
2. Type X'80'-indicating a 1 28-byte text area with
no relocatable operands
3. Type X'FE'-indicating a null RLD
4. Type X'FF'-indicating the end of the RLDs
Figure 7-3. Relative Position of the TEXT and RLD Portions of
the Object Library
SYSTEM REQUIREMENTS
The Linkage Editor requires the following minimum system
configurations:
Disk System:
• IBM 5203 Line Printer, Model Al
• IBM 5410 Processing Unit, Model Al 3
• IBM 5444 Disk Storage Drive, Model 2
Model 6:
• IBM 5213 One Printer, Model 1
• IBM 5406 Processing Unit, Model B2 (Includes the key-
board and eight command keys)
• IBM 5444 Disk Storage Drive, Model 2
7-6
Section 2. Method of Operation
The Linkage Editor performs the following functions:
1 . Links separately assembled or compiled object (R.)
modules* together to form one or more load (0.)
modules. The physical size of each load (0.) module
is determined by the total size of the object (R.)
modules that are referenced between two PHASE
control records or a PHASE control record and the
/* control record. The control records are located
in the language translator output work area ($WORK).
2. Builds an entry in the object library directory for
every non-RPG overlay load (O.) module that is
linked into the object library.
3. Builds the overlay fetch table located in the user's
RPG mainline program.
4. Updates the volume label sector on the disk pack con-
taining the load (0.) modules.
5. Provides printed output in the form of:
• Diagnostic error messages
• A listing of unresolved external references
• An image of the overlay fetch table
6. Punches a LOAD * deck if punched output is re-
quested.
Note: When using a Supervisor:
1 . Object (R.) modules are not relocatable, executable,
loadable, or in main storage image.
2. Load (0.) modules are relocatable, executable, load-
able, and in main storage image.
The Linkage Editor consists of five processing steps:
1 . PASS1 Root Phase ($LINKB) consisting of:
• $LINKC-INCLD, ENTRY Control Record and
AUTOLINK Processor
• $LINKD-TEXT-RLD and END Control Record
Processor
• $LINKE-ESL and OPTNS Control Record
Processor
• $LINKF-PHASE Control Record Processor
2. External Symbol List (ESL) Table-Process Phase
($LINKM)
3. PASS2 Root Phase ($LINKG) consisting of:
• $LINKH-TEST-RLD Conversion routine
• $LINKJ-Directory Build routine
4. Error and Overlay Fetch Table-Print Phase ($LINKK)
5. Punch Output Processor ($LINKN)
Figure 7-4 shows these processing steps. The following dis-
cussion will take each processing step and break it down in-
to its components and functions.
Method of Operation 7-7
PASS1 ROOT PHASE ($LINKB)
INCLD Control Record
The PASS1 Root Phase ($LINKB) initially receives control
when the Linkage Editor is called by the Scheduler (Figure
7-4). The PASS1 Root Phase performs the following func-
tions:
• Initializes the Linkage Editor communications region
(COMMON)
• Opens the linkage editor input work file ($WORK)
• Reads the object (R.) modules from the $WORK file
• Determines the type of records being processed
• Calls the Find transient ($$SPFN) to build the linkages
required for loading the following six modules into
main storage: (1) $LINKC, (2) $LINKD, (3) $LINKE,
(4) $LINKF, (5) $IINKK, (6) $LINKM
• Builds entries in the linkage editor error table (ERRTAB)
• Passes control to one of the control record processors
INCLD and ENTRY Control Record and AUTOLINK
Processor ($LINKC)
Control is passed to this routine after either an INCLD,
ENTRY, PHASE or /* record has been read by the PASS1
Root Phase ($LINKB). This record processor ($LINKC)
will in all cases determine the syntactical correctness of the
name located on the control record. The processor then
performs one of the following functions depending upon
the type of record being processed.
When the INCLD control record is being processed, the sys-
tem Find transient ($$SPFN) is called to search the object
library directory to locate the requested object (R.) module.
The object (R.) module is then processed and control is re-
turned to the PASS1 Root Phase ($LINKB). The PASS1
Root Phase ($LINKB) will then read the next record from
$WORK. The INCLD statement is changed to *FOUND if
the module is located. A *NOFND is set if the module can-
not be located.
ENTRY Control Record
When the ENTRY control record is being processed, the
processor ($LINKC) builds an entry control field in the
PASS1 communication region. Control is then returned to
the PASS1 Root Phase ($LINKB). The PASS1 Root Phase
then reads the next record from $WORK.
PHASE or /* Control Records
When the second PHASE or a /* tontrol record is being
processed, the processor ($LINKC) performs the AUTO-
LINK function. The AUTOLINK function is the scanning
of the records in the ESL table that were built during the
last PASS1 Phase, for unresolved EXTRN references. The
name of the located unresolved EXTRN is used in a search
of the object library directory. If a match is found, the
text from the object (R.) module, referenced in the object
library directory, is included in the current load (O.) mod-
ule generated by the PASS1 Root Phase ($LINKB). If no
match is found, $LINKC generates an error code in the
error table (ERRTAB). The AUTOLINK process continues
until all EXTRN records have either been resolved or in-
dicated as unresolvable. Control is then returned to the
PASS1 Root Phase ($LINKB). The PASS1 Root Phase
then reads the next record from $WORK.
Note: The AUTOLINK function is bypassed if the
NO AUTO option was chosen.
7-8
From
Compiler ($RPSK)
$LINKB Chart LA
PASS1— Root and Initialization
• Opens input file ($WORK) and reads records
• Directs processing of input records:
If /* has already occurred ^MBMB^^^^H
If INCLD or ENTRY M^BMBHH^BHHI
1
If TEXT-RLDorENDl
If PHASE M^^^M
If ESL or OPTNS I
If any errors
* COMMON, $WORK, BUFFER, ERRTAB, ESLTAB
|— '
$LINKD Chart LC
TEXT-RLD and END Processor
» Adds relocation factor to text operands
• Processes END record for module start address
• Sets diagnostics for invalid records
• COMMON, BUFFER, ERRTAB, ESLTAB
/-^ a
I
$LINKM Chart LJ
Ext. Symbol List Table— Print Phase
o Resolves external references for RPG II overlays
it Prints listing of unresolved EXTRNs
o Compresses ESL table
fr COMMON, BUFFER, ERRTAB, ESLTAB
SLINKG Chart LF
PASS2-Root Phase
n Initializes for PASS2
I) Deletes temporary entries if building a
permanent entry
» Determines if sufficient space exists in Object
Library and Directory
li Controls processing overlays ($LINKH and $LINKJ)
i) Searches ESL table for phase and module names
-k COMMON, BUFFER, ERRTAB, ESLTAB, $WORK
^
$LINKK Chart LI
Error and Overlay Fetch Table— Print Phase
i> Prints Error Table and RPG II Overlay Table
• For sysgen run sets up print chain image
# If punch output is requested HMMMMI^H
COMMON, BUFFER, ERRTAB, OVLAYT
(Exit To "\
$$SPEJ J
■ End of Job
Transient
$LINKC Chart LB
INCLD, ENTRY, and Autolink Processor
• Checks syntax of name
• Finds requested modules on includes
• Searches ESL table unresolved autolink EXTERNs
• Sets start control address for entry
• COMMON, BUFFER, ERRTAB, ESLTAB
$LINKF Chart LE
Phase Record Processor
• Processes name, origin addr. and optional parameters
• Builds phase records in ESL table
• COMMON, BUFFER, ERRTAB, ESLTAB
$LINKE Chart LD
ESL and OPTNS Record Processor
• Builds ext. symbol table from ESLs
• Checks for duplicate ESLs
• Checks syntax of OPTNS and sets attribute indicators
in directory entry
• Resolves EXTRN cross references in current load
• COMMON, BUFFER, ERRTAB, ESLTAB
$LINKH Chart LG
TEXT-RLD Conversion Phase
• Builds TEXT and RLD work areas and writes
them into Object Library
• Resolves cross-module external operands
• Checks text for sequence errors
it ERRTAB
* COMMON, BUFFER, ESLTAB, TXTWRK, RLDWRK
$LINKJ Chart LH
Directory Build Phase
• Build Obj. Library directory entry
• Updates Vol. label for each module
• Updates overlay fetch table
* COMMON, BUFFER, ERRTAB, ESLTAB
* VOLLAB, OVLAYT
♦ If End Of Job l
$LINKN Chart LK
Punch Output Processor
• Punches card deck usable as copy reader or // LOAD
INPUT
* COMMON, BUFFER, ESLTAB, OBJLIB
LEGEND:
• Major Functions or Objectives
♦ Major Branches
•jf Data Areas Used (see Appendix C
for meanings of abbreviations)
Figure 7-4. Main Logic of Linkage Editor
Method of Operation 7-9
TEXT-RLD and END Control Records Processor ($LINKD) END Control Record
Control is passed to this processor ($LINKD) if either a
TEXT-RLD input record or an END control record is being
processed. This processor ($LINKD) performs the follow-
ing functions, depending upon the type of record being
processed:
TEXT-RLD Input Record
When a TEXT-RLD input record is being processed,
$LINKD updates the following items:
1 . The TEXT record starting address
2. The TEXT length
3. The relocation directory (RLD) sequence
4. The value of the non-external operands
The updated TEXT-RLD record then returns to the language
translator output work area ($WORK).
When an END control record is being processed, $LINKD
determines the placement and value of the END record.
The following functions are performed by $LINKD de-
pending upon the placement and value of the END control
record:
1 . If SWITCHO in the PASS1 communication region
(COMMON) indicates that a valid ENTRY control
record was processed during this phase (before a /*
or second PHASE control card was processed), the
END control record is not processed. Control is re-
turned to the PASS1 Root Phase ($LINKB), which
in turn reads the next record from the input file
($WORK).
2. If the END record is part of an object (R.) module,
the END record is not processed. Control is returned
to the PASS1 Root Phase ($LINKB), which in turn
' reads the next record from the input file ($WORK),
except during AUTOLINK.
3. If the current END control record is the first mainline
END record, but has a null (X'FFFF') start address
field, the END record is not processed. Control is re-
turned to the PASS1 Root Phase ($LINKB), which in
turn reads the next record from the input file ($WORK).
4. If the current END control record is not the first
END record with a valid start address, this record is
not processed. Control is returned to the PASS1 Root
Phase ($LINKB), which in turn reads the next record
from the input file ($WORK).
5. If the current END control record is the first main-
line END record in the current phase, a valid ENTRY
control record has not been processed and the start
address field does not contain a null value (X'FFFF').
Then the address found on this record is moved into
the area DIREPT located in the PASS1 communica-
tion region (COMMON).
7-10
ESL and OPTNS Control Record Processor ($LINKE)
OPTNS Control Record
Control is passed to this processor if either an ESL or
OPTNS control record is being processed. This processor
($LINKE) performs the following functions depending
upon the type of records being processed.
ESL Control Record
When an OPTNS control record is being processed, $LINKE
scans the OPTNS record to ensure the syntactical correct-
ness. The parameters located on the control record are used
to set indicators in the directory attribute byte (SWITCH 1)
located in the PASS1 communication region. Control is re-
turned to the PASS1 Root Phase ($LINKB), which in turn
will read the next record.
When an ESL control record is being processed, $LINKE
determines which of the following ESL record type is be-
ing processed:
Type TOO '-Module Name: The processor ($LINKE)
searches the ESL table for a matching module name or
entry point. If a match is located, $LINKE indicates an
error in the error table (ERRTAB). If a match is not lo-
cated, the ESL table is searched again for EXTRN records
with the same name., If matching EXTRN records are lo-
cated, the address and relocation factor are moved from
the module name ESL record into the EXTRN records.
The EXTRN records are then indicated as being resolved.
The C/S in $WORK at the location where the module is
referenced by the name record is then placed in the ESL
table.
Type XVI '-Entry Point: The processor ($LINKE) searches
the ESL table for a matching module name or entry point.
If a matching record is located, $LINKE indicates an error
in the error table (ERRTAB). If a match is not located,
the ESL table is searched again for matching EXTRN rec-
ords. If matching EXTRN records are located, the address
and relocation factor are moved from the entry point ESL
record to the EXTRN records and the EXTRNs are indi-
cated as being resolved.
Type XV2 '-EXTRN References: The processor ($LINKE)
searches the ESL table for either a module name (type
X'OO') or an entry point (type X'01') ESL record entry with
the same name. If a matching record is located, the address
and relocation factor are moved into the EXTRN ESL rec-
ord before the EXTRN entry is moved into the ESL table.
The EXTRN is indicated as being resolved (type X'03'). If
a match is not found, the EXTRN ESL entry is indicated as
being unresolved.
PHASE Control Record Processor ($LINKF)
Control is passed to this processor ($LINKF) only if a
PHASE control record is being processed. The processor
($LINKF) will syntactically check the PHASE control
record for the following:
• PHASE Name: If the PHASE name is not found,
$LINKF performs an immediate cancel. If a valid name
is located, the name is moved into the DIRNAM located
in the PASS1 communication region.
• PHASE Origin Address: If an invalid address was speci-
fied on the PHASE control record, the Linkage Editor
performs an immediate cancel. A valid address is moved
into DIRLAD located in the PASS1 communication
region.
• Load (0.) Module Release Number: A valid release
level number (01 -FF) is used to build a 1-byte level in-
dicator (DIRLEV) located in the PASS1 communica-
tion region.
• Load Module Size: The size attribute indicates the main
storage needed by the load (0.) module. If the size was
not specified, SIZE will be set to the number of text
sectors of the 0. module.
• Attribute: TEMP or PERM indicates whether the mod-
ule is to be temporary or permanent.
After all of the above parameters have been processed, the
PHASE control record is moved into the ESL table. Con-
trol is then returned to the PASS1 Root Phase ($LINKB),
which in turn will call $LINKC to perform the AUTOLINK
function, unless the NOAUTO option was chosen.
Method of Operation 7-1 1
EXTERNAL SYMBOL LIST (ESL) TABLE-PROCESS
PHASE ($LINKM)
After all input records have been processed, the PASS1
Root Phase ($LINKB) passes control to the External Sym-
bol list (ESL) Table Process Phase ($LINKM).
After receiving control from the PASS1 Root Phase
($LINKB), this phase ($LINKM) performs the following
three functions:
• Formats and prints a listing of any unresolved EXTRN
records
• Resolves cross phase (between load (0.) modules)
EXTRN references for RPG overlay modules
• Compresses the external symbol list table into the high
end of main storage
After the ESL Table-Process Phase ($LINKM) has com-
pleted processing, control is passed to the PASS2 Root
Phase ($LINKG). If an error was found during $LINKM,
control is passed to the Error and Overlay Fetch Table-
Print Phase ($LINKK).
• Enters the data found in the first PHASE record of the
ESL table, into the PASS2 communication region
(COMMON).
• Uses the module ESL records (type X'OO') in the ESL
table to locate the object (R.) text-RLD records to be
converted to load (O.) module code.
• Calls the TEXT-RLD Converstion Phase ($LINKH) to
process the TEXT-RLD records.
• When the END control record is read, the PASS2 Root
Phase ($LINKG) searches the ESL table for the next
PHASE or module record. If a PHASE record is located,
the PASS2 Directory Build Phase ($LINKJ) is called to
build the object library directory or an overlay fetch
table entry for the last load (O.) module. The volume
label is also updated at the same time. If a module rec-
ord is located, control is passed to the TEXT-RLD Con-
version Phase ($LINKH).
• The error table (ERRTAB) is updated if any errors oc-
cur during the PASS2 phase.
After all modules have been processed, control is passed to
the Error and Overlay Fetch Table-Print Phase ($LINKK).
PASS2 ROOT PHASE ($LINKG)
After receiving control from $LINKM, this phase (SLINKG)
performs the following functions:
• Determines if enough disk storage is available in the ob-
ject library and the object library directory for the load
(O.) modules. If there is not enough room available, the
PASS2 Root Phase ($LINKG) issues an immediate cancel.
• Deletes all temporary entries in the object library if the
current load (O.) module has an attribute of PERM.
ERROR AND OVERLAY FETCH TABLE-PRINT PHASE
($LINKK)
This phase prints the error table (ERRTAB) and the RPG
overlay fetch table. If punched output is requested, control
is passed to the Punch Processor ($LINKN), otherwise con-
trol is passed to the End-of-Job transient ($$SPEJ).
PUNCH PROCESSOR ($LINKN)
This processor is called if punched output has been re-
quested. The punched output is in the form of a LOAD *
deck. Control is passed from this processor ($LINKN) to
the End-of-Job transient ($$SPEJ).
7-12
Section 3. Program Organization
This section describes in detail the organization of the
Linkage Editor routines shown in Figure 7-4. Included in
the following discussions are:
• Description containing: name of routine, input, output,
function, exits from this routine.
• Main storage map showing the routines that might be in
main storage at the same time as the routine being
described.
• Flowchart showing the functional flow of the routine
being described.
► PASS1 -Root and Initialization Phase ($LINKB)
CHART: LA
FIGURE: 7-5
ENTRY POINTS:
— DEDABO— Mainline entry from initialization
— DEDAB1— Data Management entry point from PASS1
overlay phase
— DEDAB2— Entry point from PASS1 overlays to con-
tinue AUTOLINK processing
— DEDAB3-Entry point to call $LINKF
— DEDAB4-Entry point for building error table
(ERRTAB) * *
— DEDAB5-Entry point for calling $LINKK for job
termination
— DEDAB6— Data Management entry point
— DEDAB7-Entry point for physical I/O linkage
— DEDAB8— Initialization routine
FUNCTION:
- Initializes the PASS1 communication region
(COMMON).
- Opens the language translator output work area
($WORK).
- Builds the linkage-editor error table.
- Reads the object (R.) module from $WORK.
- Determines the type of input records being processed.
- Provides linkage for calling control record processors.
INPUT:
- The language translator output work area ($WORK)
- The R. module in the object library
OUTPUT:
- Referenced object modules (R. modules) are written
into the language translator output work file
($WORK).
- The ESL table is built in main storage (controls the
order of PASS2 processing).
- Error table for link-edit errors.
EXIT:
— Normal: Supervisor General Entry /Exit routine
(NENTRY) after loading one of the following
processors:
1 . $LINKC-INCLD and ENTRY Control Record
and AUTOLINK Processor
2. $LINKD-TEXT-RLD and END Record
Processor
3. $LINKE-ESL and OPTNS Record Processor
4. $LINKF-PHASE Control Record Processor
5 . $LINKM-ESL Table-Process Phase
- Error: Error Table Print ($LINKK) if terminal error
occurs
Program Organization 7-13
► PASS1-INCLD and ENTRY Control Record and
AUTOLINK Processor ($LINKC)
CHART: LB
FIGURE: 7-5
ENTRY POINT: DEDACO
FUNCTION:
— Performs syntax checking of the name field in the
INCLD and ENTRY control statements.
— Calls the Find transient ($$SPFN) to find modules
that are requested by the INCLD input records.
— Builds the ENTRY control field in the object library
directory record for the phase.
— Controls search of the ESL table for EXTRN words
during AUTOLINK processing.
— Searches ESL table for duplicate INCLD modules.
INPUT: INCLD and ENTRY control records are located
in the input/output buffer (BUFFER).
OUTPUT:
— The control start address entry (located in the library
directory)
— Provides diagnostic messages for the following:
1 . Duplicate module calls.
2. Syntax errors in the name field.
3. Multiple ENTRY statements per phase.
4. Invalid control starting points.
► PASS1-TEXT-RLDand END Record Processor ($I_INKD)
CHART: LC
FIGURE: 7-5
ENTRY POINT: DEDADO
FUNCTION:
— Updates the non-external TEXT operands by adding
the module's relocation factor to the operand.
— Processes END record operands for the load (0.)
module start control address.
— Processes the load (O.) module ESL table to resolve
non-cross module EXTRN records.
— Indicates and sets diagnostic messages for invalid
TEXT length and invalid RLDs.
INPUT: Input for this phase comes in the form of TEXT-
RLD and END control input records that are located
in the input/output buffer.
OUTPUT: There are two areas used for the output from
this phase depending upon the type of records that
are processed:
1 . TEXT-RLD Records— Output goes into the
input/output buffer (BUFFER).
2. END Records— The END operand is processed
and the start control address of load (0.) mod-
ule is moved into DIREPT located within the
PASS1 communication region (COMMON).
EXIT:
EXIT:
Normal: PASS1 Root Phase entry point (DEDABO)
Error: Error Table Build entry point (DEDAB4)
located in the PASS1 Root Phase ($LINKB)
Normal: PASS1 Root Phase (DEDABO)
Error: PASS 1 Root Phase (DEDAB4). Invalid length
text records will cause job termination after SLINKK
is called by the PASS1 Root Phase (SLINKB) to print
the error table (ERRTAB).
7-14
> PASS1-ESL and OPTNS Record Processor ($LINKE)
CHART: LD
FIGURE: 7-5
ENTRY POINT: DEDAEO
FUNCTION:
- Locates and indicates multidefined module names
or entry point ESL records that appear within the
current load (O.) module.
- Resolves EXTRN cross references in the current load
(0.) module when possible.
- Builds the external symbol list (ESL) table for the
ESL records.
- Unblocks up to five ESL entries within one input
ESL record.
- Performs a syntax check on the OPTNS record.
- Processes the OPTNS record and sets the indicators
in the attribute portion of the object library directory
entry for the phase.
INPUT: ESL or OPTNS input records located in the input
buffer (BUFFER)
OUTPUT:
- The external symbol list (ESL) table is updated to
reflect the inclusion of new ESL records.
- The OPTNS switches are set in the directory save
area of the PASS1 communication region (COMMON).
EXIT:
- Normal: PASS1 Root Phase at entry point (DEDABO)
- Error: Error Table Build entry point (DEDAB4)
located in the PASS1 Root Phase ($LINKB)
► PASS1 -PHASE Control Record Processor ($LINKF)
CHART: LE
FIGURE: 7-5
ENTRY POINT: DEDAFO
FUNCTION: Processes each PHASE control record for:
1 . Phase name
2. Phase origin address
3. Load module level number
4. Temporary or permanent attribute of output
5. Program execution size
INPUT: PHASE control record contained in the input/
output buffer (BUFFER).
OUTPUT: PHASE control record information is placed in
the PASS1 communication region (COMMON) until
all of the PHASE parameters have been processed.
The PHASE record is then moved to the external
symbol list table.
EXIT:
- Normal: PASS1 Root Phase ($LINKB) at the entry
point (DEDAB1)
- Error: PASS1 Root Phase ($LINKB) at the entry
point (DEDAB4)
OK
3K
5K
8K
Supervisor
Input/Output Buffer (BUFFER)
Error Table (ERRTAB)
PASS1 Communication Area (COMMON)
PASS1 Root Phase ($LIN KB)
Variable:
INCLD-ENTRY, and AUTOLINK Processor
($LINKC)
or
TEXT-RLD and END Processor ($LINKD)
or
ESL and OPTNS Processor ($LINKE)
or
PHASE Record Processor ($LINKF)
Variable:
First -
PASS1 Initialization (Entry-DEBAB8)
Thereafter —
External Symbol List Table (ESLTAB)
Figure 7-5. Main Storage Map for PASS1
Program Organization M5
► PASS2-Root Phase ($LINKG)
CHART: LF
FIGURE: 7-6
ENTRY POINT:
— DEDAGO— Initialization phase
— DEDAG1 -Mainline entry point from $LINKH-
overlay phase
— DEDAG2-Error table build
— DEDAG3-$LINKK call entry point
— DEDAG4-Mainline entry point from $LINKJ-
Directory Build phase
FUNCTION:
— Deletes all temporary entries in the object library if
the current 0. module is PERM.
— Initializes the PASS2 communication region
(COMMON).
— Determines if there is sufficient space for the load
module in the object library and the object library
directory.
— Searches the external symbol list (ESL) table for
phase and module record names.
— Reads the input records from the input buffer.
— Updates the error table (ERRTAB).
— Calls the appropriate overlay ($LINKJ or $LINKH)
to process the records.
INPUT:
— Linkage editor input work file ($WORK)
— PASS1 communication area (COMMON)
— External symbol list (ESL) table
— Object library portion of the volume label sector, see
Figure 5-64 for this data area
OUTPUT: None
EXIT:
— Normal: Control is passed to the appropriate overlay
phase ($LINKJ or $LINKH) or to the Error and Over-
lay Fetch Table Print Phase ($LINKK) upon normal
end of job.
— Error: Error and Overlay Fetch Table Print Phase
($LINKK) before end of job
OK
3K
5K
8K
Supervisor
Input/Output Buffer (BUFFER)
Error Table (ERRTAB)
PASS2 Communication Region (COMMON)
PASS2 INITIALIZATION LOGIC
(Portion of PASS2 Root Phase ($LINKG)
with an Entry Point at DEDAGO)
PASS2 Root Phase ($LINKG)
PASS2 Overlay Module Area
External Symbol List (ESL) Table (ESLTAB)
Figure 7-6. Main Storage Map for PASS2 Root Phase ($LINKG)
7-16
► PASS2-TEXT-RLD Conversion Phase ($LINKH)
CHART: LG
FIGURE: 7-7
ENTRY POINT: DEDAHO
FUNCTION:
- Resolves cross-module external operands.
- Builds TEXT and relocation directory (RLD) work
areas (TXTWRK and RLDWRK).
- Checks the text for sequence errors.
- Writes the RLD and TEXT work areas into the ob-
ject library.
INPUT:
- The external symbol list table (ESLTAB)
- TEXT-RLD records from the input file (BUFFER)
OUTPUT: TEXT and RLD records are written into the
object library.
EXIT:
- Normal: PASS2 Root Phase ($LINKG) at label
DEDAG1
- Error: Error and Overlay Fetch Table-Print Phase
($LINKK)
► PASS2-Directory Build Phase ($LINKJ)
CHART: LH
FIGURE: 7-7
ENTRY POINT: DEDAJO
FUNCTION:
- Builds object library directory records for load mod-
ules (O. modules) with unreserved names.
- Updates the overlay fetch table for phases with re-
served names.
- Updates the object library directory portion of the
volume label sector for each load (0.) module.
INPUT:
- Volume label sector (See Figure 5-64)
- External symbol list table
- PASS2 communication region (COMMON)
- Object library directory
- Overlay fetch table
OUTPUT:
- Entries in the object library portion of the volume
label sector
- Entries in the object library directory or RPG Root
Phase overlay fetch table
- Updated volume label object library pointers
EXIT:
- Normal: Entry point (DEDAG4) of the ($LINKG)
to process next record
- Error: Error table entry point (DEDAG2) of the
PASS2 Root Phase ($LINKG)
OK
3K
5K
8K
Supervisor
Input/Output Buffer (BUFFER)
Error Table (ERRTAB)
PASS2 Communication Region (COMMON)
TEXT Output Work Area (TXTWRK)
RLD Output Work Area (RLDWRK)
PASS2 Root Phase ($LINKG)
PASS2 TEXT-RLD Conversion Phase ($LINKH)
or
Directory Build Logic ($LINKJ)
External Symbol List (ESL) Table (ESLTAB)
Figure 7-7. Main Storage Map for PASS2 TEXT-RLD Conversion
Phase ($LINKH)
Program Organization 7-17
► Error and Overlay Fetch Table-Print Phase ($LINKK)
CHART: LI
FIGURE: 7-8
ENTRY POINT: DEDAKO
FUNCTION:
— Print the error table (ERRTAB).
— Set up the print chain image for System Generation.
— Print the overlay fetch table for RPG overlay program.
— Print linkage-edited supervisor size for System Gen-
eration.
INPUT:
— Error table (ERRTAB)
— Print chain image located at X'400'
— Overlay fetch table
OUTPUT:
— Printed listing of the error table (ERRTAB) and
overlay fetch table
— Print chain image in Sysgen output
— Supervisor size message for Sysgen run
EXIT: End-of-Job transient ($$SPEJ) if punched output is
not required. If punched output is required, control
is passed to Punch Processor ($LINKN).
► External Symbol List (ESL) Table— Process Phase
($LINKM)
CHART: LJ
FIGURE: 7-8
ENTRY POINT: DEDAMO
FUNCTION:
— Prints a listing of the unresolved EXTRNs in the ex-
ternal symbol list table.
— Resolves external, cross-phase references for RPG
overlays.
— Compresses and moves the external symbol list table
into the high end of main storage.
INPUT: The external symbol list table (ESLTAB)
OUTPUT:
— A listing of the unresolved EXTRNs
— Compressed ESL table
— Resolved cross-phase EXTRNs
EXIT:
— Normal: PASS2 Root Phase ($LINKG)
— Error: Supported Halt/Syslog routine to log the
permanent printer errors
► Punch Output Processor ($LINKN)
CHART: LK
FIGURE: 7-8
ENTRY POINT: $LINKN
FUNCTION:
— Punches a header card with information required to
use the punched deck as COPY READER or
// LOAD * input.
- Punches a card deck (LOAD * deck) containing
Linkage Editor information normally placed in the
object library.
INPUT: The TEXT and RLD records, generated by the
PASS2 phases, located in the object library
OUTPUT: A punched card deck that can be used as either
COPY READER or // LOAD * input. This card deck
contains the information normally contained in the
object library.
EXIT: Calling routine
OK
3K
5K
8K
Supervisor
Input/Output Buffer (BUFFER)
Error Table (ERRTAB)
PASS2 Communication Region (COMMON)
Error and Overlay Fetch Table-Print ($LINKK)
or
External Symbol List Table-Print Phase ($UNKM)
or
Punch Output Processor ($LINKN)
Overlay Fetch Table Buffer
Figure 7-8. Main Storage Map for $LINKK, $LINKM, and
$LINKN
7-18
EDBOOO
****A |*********
* *
* ENTER *
* 4
***************
DEDAB1
****A3*********
* *
* ENTER *
* *
***************
DEDAB2
***************
* 4
* ENTER *
* *
***************
BEGIN V LA/t/AI
*****g| **********
♦DEDABS *
INITIALIZE ♦
*
***************
DEDABO
****C 1 *********
* *
* ENTER *
* *
***************
****
* Dl ♦ ->
* *
****
< r LA/3/A1
*****Q1**********
♦DEDABS *
*****************
****B2 *********
* 4
* EXIT *
* 4
***************
TO: DEDAB8
****
* B3 *
* 4
****
****
* *
* B3 *->
L->* D1 *
* *
****
****
* *
* B« *->
* *
****
EDB050
*****B4«* ********
* *
*SET SLINKC LOAD*
--->* PARAMETER *-
* POINTER *
* *
*•••*******•*****
I****
•005*
->* D1 *
****
EDB040
***** 04* *********
* *
♦SET SLINKE LOAD*
— >* PARAMETER *-
* POINTER *
*****************
*****gll**********
♦ *
♦ SET INPUT *
>* RECORD TYPE *
* EBBOtl 1« *
* *
*****************
*****P2 **********
' LA/2/A1
«****pl4* *********
•DEDABU *
*****C5 **********
* *
♦SET SLINKD LOAD*
>* PARAMETER *
* POINTER *
* *
*•**********••••*
*****
*005*
* CI*
*****************
EDB005
# 4
1
r, i *.
*****G2* + ^*^"***
* *.
* *
. *
PHASE
NO
* SET D.tl. ♦
KECORD
* ,
* COUNTER TO ♦
*
*. .*"
*. .*
*
1
♦ FORCE I/O ♦
* *
*****************
* YES
****
* *
* B3 *
I
* *
1
****
V
. *.
" LA/3/A1
HI *.
*****H2**^*******
* *
♦DEDAB6 *
NO
*'.
AUTOLINK
* 1
* WRITE $WOHK *
*
REQUIRED
*. . *
*"
|
* SECTOR *
* *
V
*****************
"♦"yes
*****
1
*005*
I ****
* B1*
* *
* *
I— >* BU *
*
* *
****
►**+J1**********
**************
i****
♦ *
->* Bt *
* *
****
*****************
I ****
* *
l->* Dl ♦
* •
****
E
Chart LA (Part 1 of 5). Linkage Editor PASS1 Root and Initialization Phase ($LINKB)
Program Organiz ation 7-19
DEDAUt
****A1***+*****
* *
* ENTER *
* *
***************
****»A2 **********
♦SAVE THE RETURN*
->* ADDRESS AT *
* EDB120 *
* *
*****************
DEDAB5
****A4*********
* *
* ENTEB *
* *
***************
0«,FU*003*
Oit.HU* H3*
*****
*****B2 **********
* SAVE XR1 AT *
« EDB10 1 ). SET *
* EBHOR TABLE *
* POINTER *
* *
*****************
*****B4 **********
* *
* SET $LINKM *
♦FETCH PARAMETER*
* POINTER *
* *
*****************
*****C2**********
* *
♦MOVE EriBOH AND *
♦PHASE NUMBER TO*
* ERROH TABLE *
* *
*****************
V BA/1/A1
***t+QH **********
♦NENTRY *
* FETCH SLINKM *
* *
*****************
*****H2 *********
* UPDATE THE
* ERROR TABLE
* ADDhESS IN
* COMMON
****************
BDB105
*****E2 **********
* RESTORE *
* REGISTER 1. *
* UPDATE THE *
* EH80* COUNTER *
* *
*****************
*****F3**«* ******
LJ/1/A1
****DU*********
* *
* EXIT *
* *
***************
TO:
EXTERNAL SYMBOL LIST
(ESL) TABLE PRINT ROUTINE
(ILINKM)
*****************
EDB120
****H2 *********
* *
* RETURN *
* *
***************
TO: CALLER
*****q 3** ********
* *
* SET JLINKK *
->*FETCH PABAHETEB*
* POINTER *
* *
*****************
BA/1/A1
*****H 3 **********
*NENTRY *
* FETCH SLINKK *
* *
*****************
LI/1/A1
**** nl|* ********
► *
* EXIT *
» *
***************
TO:
EBBOH AMD OVEBL1Y
FETCH TABLE-PHIMT
BOUTINE (SLINKK)
Chart LA (Part 2 of 5). Linkage Editor PASS1 Root and Initialization Phase ($LINKB)
7-20
DEDAB6
****A1*********
* i
* ENTER "
* 4
***************
* SAVE RETURN *
>* ADDRESS AT *
* EDB180 *
* *
*****************
DEDAB7
****A3*********
* *
* ENTER *
* *
***************
♦SAVE THE KETUBN*
>* ADDRESS AT *
* EDD250 *
* *
*****************
UPDATE RECORD *
ADDiiESS IN *<
BUFFER *
*
****************
C1 *->
*
****
80
****C1*
********
RETURN
***************
TO:
CAL
.El)
JNT5K
♦SET XR1 AS THE ♦
* DISK IOB *
* POINTEK *
* *
*****************
*****D2**********
* *
* SET $WORK C/S *
*AND 0-CODE FOR *
* WRITE I/O *
* *
*****************
*****$t\ **********
*****************
.* I/O *. IS
*. OPERATION .♦-
♦.COMPLETE .*
*************
»***C5 *********
*
HALT «
*
***************
LA/3/A3
*****P2 **********
♦DEDAB7 *
*****************
*****Q2 **********
* *
* SET JHORK C/S *
♦AND Q-CODE POB ♦
* HEAD I/O ♦
* *
*****************
LA/3/A3
*****H2*** *******
♦DEDAB7 ♦
*****************
♦ J2 ♦->
*♦•*
EDB210
*****j2 **********
♦ BESET BECOBD ♦
♦ POINTEB TO ♦
♦ BUFFER STABT ♦
♦ ADDB. ♦
♦ ♦
*****************
*****K2 **********
♦SET MODULE C/S ♦
->+AND Q-CODE FOB ♦
♦ WRITE I/O ♦
*****************
LA/3/A3
*****P3 **********
♦DEDAB7 ♦
*****************
*****£$ *********
*
♦ UPDATE THE
>♦ CYLINDER
♦ ADDBESS
*
****************
» $HORK
FILE
♦.OVERFLOW
EDB260
*****H3**********
♦ SET SLTOWA ♦
♦ OVERFLOW - ♦
♦ ERROR 05 AND ♦
♦ ABORT ♦
♦ *
*****************
*****
♦002^
♦ A2^
EDB250
V
****Ft|*********
* *
* RETURN *
* *
***************
TO: CALLER
***•*(; l|* *********
* *
♦SET MODULE C/S ♦
->♦ AND Q - CODE ♦
♦ FOB BEAD I/O ♦
*****************
LA/3/A3
*****Hlt* *********
♦DEDAB7 ♦
*****************
*****************
*•**
• *
■>* CI *
• *
****
Chart LA (Part 3 of 5). Linkage Editor PASS1 Root and Initialization Phase ($LINKB)
Program Organization 7-21
****
* 1
* A5 *
* *
****
**A 1*********
ENTER *
V KG/1/A1
»****£j-|**********
***********
RDB290 V
*****D1* *********
* SET XK2 AS *
* SYSLCG *
* PARAMETER *
* POINTEH *
*****************
V BA/1/A1
*****E1**********
♦NENTRY *
*************
****P1*********
< *
* HALT *
► •
***************
*****C 2 **********
*****************
*****D2**********
* *
♦SET $HURK START*
♦AND END C/S IN ♦
* COMMON *
* *
*****************
«****E2 **********
*****************
*****G2 *********
♦ SET NO PRINT
♦ INDICATOR IN
♦ COMMON
*
****************
t****ft2* *********
* *
♦SET MORK BEAD *
* AND HRITE Q ♦
♦CODES IN COB BON*
* *
*****************
• ***
** + *
EDB262
*****j2 **********
*****AH*********
♦ TO COUNTER
**********
*****CU **********
♦ *
♦ RESET COUNTER ♦
♦ TO 0. SET XR1 ♦
♦ -> IOB ♦
♦ *
*****************
* LA/3/A3
*****Da **********
♦DEDAB7 ♦
♦ READ JHORK ♦
* *
*****************
• ****pt|**********
♦ *
♦SET NO SUOBK /♦♦
♦TEBRINAL EBBOB *
* 22 ♦
* *
*****************
*****
♦ 002*
♦ A2^
* SAVE NEXT C/S ♦
* AS NODOCS IN *
* COMMONV *
*****************
*****B5*^**^**»
♦ *
♦SET IOB TO BEAD+
♦ FIRST SBOBK *
♦ SECTOR *
♦ *
*****************
¥ LA/3/A3
*****C5**********
♦DEDAB7 ♦
* READ SWOBK ♦
* *
*****************
BA/1/A1
*****D5 **********
♦NENTRY *
♦ GET XR2 IS *
♦ SUPCM POINTER *
♦ •
*****************
♦****E5**«* ******
♦ *
♦SET EOCORE AND *
♦ EOSADD IN ♦
♦ COMMON ♦
♦ *
*****************
•****P5 **********
*****************
*****SS**« *******
* *
♦ SET LOAD »
♦ ADDRESSES FOB ♦
♦PASS1 OVERLAYS ♦
* *
*****************
*****f|l|* *********
* *
♦ SET NO PHASE ♦
•TERMINAL EBBOB ♦<-
♦ 00 ♦
* *
*****************
***••
• 002*
♦ A2*
* *
*****
♦005*
♦ B1*
*****************
****
• ***
• •
* A4 *
Chart LA (Part 4 of 5). Linkage Editor PASS1 Root and Initialization Phase ($LINKB)
7-22
DEDAB3
****H1*********
* *
* ENTEB *
* *
***************
****
0it-H5*001*
* Hi *->
***** B 1**********
* *
♦SET $LINKF LOAD*
* PABAMETEH *
* POINTER *
* *
*****************
****
01-BU*001*
01-C5* DH *->
»*** C 1**********
*****************
*****D1 **********
+***************'
l *** R 1*********
EXIT *
*
***************
Chart LA (Part 5 of 5). Linkage Editor PASS1 Root and Initialization Phase ($LINKB)
Program Organization 7-23
DEDACO
**+*ft1 *********
* 4
* ENTER *
* *
***************
EDC070
****B 1 *********
* ♦
* iJNTER *
***************
* SAVE 6ETURN *
* ADDRESS AT *
* EDC090 *
* *
*****************
*****p 1* *********
* SET a PREFIX *
♦AND P SUFFIX TO*
* NAME SAVE XH2 *
* AT EDC075 *
* *
*****************
V KC5/1/A1
*****E1**********
♦$$SPFN *
t****************
****************
EDC080
****(;-)*********
* t
* RETURN *
* 4
***************
TO: CALLER
*****A2 **********
************
AUTOLINK ON
*****************
*****Q3**********
* SET INVALID *
♦INCLD OR ENTHlf ♦
->*KECORD - ERROR *
*****************
E2 ♦->
**** v
10 .*.
*****P2 **********
♦ UPDATE THE *
♦SEARCH POINTER *
♦ AND COUNTER ♦
♦ *
*****************
****
♦002 +
->* F2 ♦
****
EDC020
♦♦***E3 **********
* SET NAME HOLD *
♦AREA TO BLANKS *
>* AND COUNT TO ♦
* ZEHO ♦
* *
*****************
• ***
EDC030
*****jr:|**********
♦MOVE NAME BYTE ♦
♦ TO NAME HOLD ♦
♦ AREA, UPDATE ♦
* HOLD ADDRESS *
* *
*****************
*****q3**********
.* END OP
*.
40
♦UPDATE
rHE NAME*
*. TnE RECORD
*
♦ POINTER AND ♦
1
♦ COUNT *
*. .♦
1
♦ ♦
*• ■ ♦
V
*****************
♦ JFS
****
**** 1
* *
* *
* E2 ♦
♦ H2 *->|
* *
* *
****
**** |
EDCOtO V
. *.
***** U2 **********
H3 *.
*
• * *.
* SET INVALII
*
.* END OF ♦.
♦NAME - ERROR
<>l
♦
*. NAME OR .♦
*
*. 3ECC
)RD .♦
♦RESET NAME HOLD^
♦ADDRESS IN HOVE+
♦ AT EDC030 ♦
* *
*****************
V LE/6/B3
•****C4 **********
♦EDC150 ♦
♦*♦*****♦♦♦♦♦♦***
it*************
*** *J 2 **********
SET NOFTND *
INDICATOR IN *
Ti)F TNCLD ♦
r.-xord *
*
****************
EDC060 V LB/5/C1
*****£!)**** ******
♦EDC070 001B1*
*****************
*****Q1| **********
♦SET NODULE NOT ♦
♦ FOUND - ERROR ♦
♦ 08 AND NOFIND ♦
♦ IND. ♦
♦ ♦
*♦♦♦**♦♦♦♦♦♦♦♦♦♦♦
♦ ♦♦♦♦
♦ 002*
♦ B1*
*****D5 ♦*»***♦**♦
* *
* SET DUPLICATE *
->* INCLD - ERROR *
* 07 *
* •
*****************
♦♦♦♦♦E5 **********
* •
* SET NOFIND •
* INDICATOR II *
* INCLD RECORD *
* •
*****************
****
♦002*
->* E2 *
****
EDC090
*****P5 **********
* set fooed *
* indicator iii *
— >* incld record: *
•save incld nahe*
« *
*•**♦**•****••*•*
*****G 5 **********
* SAVE CURREIT *
* SHORK RECORD *
♦ADDRESS AND I/O*
* CODNTEB *
* •
*****************
I ****
♦ 002*
1— >* E2 ♦
♦ ♦
****
. *,
LB/3/A3
HI ♦.
*****H5* *********
♦ ♦.
♦DEDAB7 *
NAME ♦. TES
COUNT > 6 .* .
* WRITE ILTONA ♦
• * 1
♦ SEC!
rOR ♦
♦♦*•*•****•****•*
->* F3 * ♦
♦ ♦ H2 ♦ *003*
LA/1/A3
v
****KS*********
• *
* EXIT ♦
» ♦
***************
TO: DEDAB1 OF
PASS1 ROOT AND
INITIALIZATION
Chart LB (Part 1 of 3). PASS1 INCLD and ENTRY Control Records and AUTOLINK Processor ($LINKC)
7-24
EDC100
****A1********
*
* ENTER
EDC150
****A3*********
* *
* ENTER *
* «
***************
****
*001*
* B«
LB/6/B3
»****C1 *♦+*******
♦EDC150 *
*****************
***** E 1**********
♦BOILD THE STABT*
♦CONTROL ADDRESS*
* FOR THE LCAD *
* HODULE *
* *
*****************
♦SET MORE THAN 1*
->* ENTRY/PHASE - *
* ERROR 09 *
* *
*****************
f ****
* *
«.->* E2 *
* *
****
* SET INVALID *
>* ENTRY NAME - *
* ERROR 10 *
* *
*****************
01, D3****
01.G4+001*
01, E5* J2 *
03, D1* *
' LB/2/A1
EDC-130
*****E2******
♦DEDABU
**********
EDC1H0 I LA/1/C1
****pt*********
* *
* EXIT *
***************
TO: DEDABO OF PASS1
ROOT AND INITIALIZATION
PHASE ($LINKB)
* SAVF THE RETURN*
* ADDRESS AT *
* EDC180 *
* *
*****************
*****C3**********
* *
* SET THE ESL *
* TABLE SEARCH *
* START ADDRESS *
*****************
ESL
TYPE = (
. oa oi
****p 3********4
* RETURN
**************4
TO: CALLER
EDC170
*****Q1) **********
♦UPDATE THE ESL *
* TABLE POINTER *
— >* AND SAVE *
A *POINTER ADDRESS*
*****************
->♦ D3 *
* «
♦ ***
► F3 *
> 4
****
Chart LB (Part 2 of 3). PASS1 INCLD and ENTRY Control Records and AUTOLINK Processor ($LINKC)
Program Organization 7-25
****
* *
* kU *
RDC200
****A 1 *********
* *
* ENTER »
* t
'200
*****A^ **********
* SET THE *
•AUTOLINK EXTBN *
•* SEARCH START *
* ADDRESS *
* *
*****************
B3 *
I
♦SET MODULE NOT *
* FOUND - EBBOH *
*08 DISPLAY 'Cfl 1 *
* *
*****************
V LA/2/A1
*****bu* *********
*DEDAB<» *
*****D1 *********
****************
EDC230
*****E2********»
♦SAVE THE EXTBN
* NAME. SET
* BESOLVING
♦SEARCH START 3
***************
****
* *
* F2 *->
* *
**** 1
EDC2M0 .*.
F2 *.
-* *.
.* ESL ♦
♦. NAME 1
ATCH
*****************
♦***D3*******^»*
*
SET THE *
AUTOLINK *
INDICATOR OFP *
*
****************
V LA/VA5
*****E3**********
♦DEDAB3 *
*****************
*****C It**********
* *
* UPDATE EXTBN *
♦SEABCH STABT S *
* IN COMMON *
* *
*****************
CALL SLINKF *
*
***************
****
» 4
* B3 *
► 4
****
****E4*********
* *
* EXIT *
* *
***************
TO: SLIHKF - PASS1
PHASE BECOBD
PBOCESSOH
*
ESL
TYPE
1)0,
♦.01
:>i<
1) t
*.
. *
*
*
1
YES
*****************
u:
LB/
*****G<I******
•EDC070
1/C1
****
1B1*
*****************
*****H2**********
* *
•HOVE kESOLUTION*
► DATA FROM ESL *
►TABLE TO EXT8N *
k *
*****************
***«*H3*******«
* UPDATE EXTRN
* SEAHCH STAKT
* ADDRESS IN
* COMMON
Chart LB (Part 3 of 3). PASS1 INCLD and ENTRY Control Records and AUTOLINK Processor ($LINKC)
7-26
k**Al********
ENTER
**,f**^} **********
* *
* SET SLINKD *
* PHASE IN COHE *
* INDICATOR *
* *
*****************
***** B 2**********
* *
♦SET INVALID BLD*
* VALDE - ERBOB *<-
* DISPLAY '21« *
* *
*****************
* BUILD EBBOB *
* TABLE *
* *
*****************
*****
♦ 002*
* A3*
1 ****
* *
!•->* J2 *
***** E 1**********
* *
♦SET TEXT LENGTH*
♦TERMINAL EBROB *
* DISPLAY '20' *
* *
*********** ******
*****************
LA/2/A1
V
****G1*********
► *
* EXIT *
v *
***************
TO: DEDABK
****
*****D2**********
*****************
*****E2 **********
* START ADDBESS *
* *
*-****************
*****P2 **********
* SET TEXT *
* LENGTH-1 TO *
* LENGTH. SAVE *
t*** *************
EDD000
*****G2**********
* SET AND SAYB *
* TEXT AND BLD *
♦STABT LOCATIONS*
* IN BOFFEB *
* *
*****************
* H2 *->
* *
****
EDD010
****
♦****J2 **********
*****&3 **********
* SATE THE BLD *
* BYTE VALUE. SET*
* OFF BIT POB *
* MOVE *
* *
*****************
EDD011
NO .*"
*****C 3**** ******
* SET BLD *
* DISPLACEMENT *
* FOB MOVE AT *
* EDD020 *
+ *
*****************
t****D 3*** *******
* *
* MOVE THE BLD *
♦POINTEB TO NEXT*
* RLD BYTE *
* *
*****************
*****E3 **********
* SAVE HLD *
* POINTER. SET *
♦POINTEB TO BLD *
* SOBT TABLE *
*****************
*****P3 **********
* *
* MOVE BLD BYTE *
*TO THE BLD SOBT*
* TABLE *
* *
*****************
*****<33 **********
*****AU**********
* *
•SET BLD POIHTEB*
*TO STABT OF BLD*
* IN BECOBD *
* *
*****************
*«***B1) **********
* *
♦INITIALIZE BLD *
* TABLE COHPABE *
* AND MOVE 9 •
* *
*****************
*•*•
* *
* CI *-
*****DH* *********
* *
♦UPDATE THE BLD *
* TABLE COMPARE *<-
* AND MOVE 9 *
* *
*****************
* MOVE BLD BYTE *
->*TO THE BLD SOBT*
* TABLE *
* *
*****************
*****D5 **********
♦UPDATE THE BLD *
-* POINTER AND. *
* COUNTER *
*****************
END
OF *.
NO
TABLE
, .*
1
*. .*
V
' YES
*•*•
* ct
*
****
* RESTOI
♦ POINTER.
♦THE RLD
*
********
I RLD *
UPDATE*
COUNTERS
♦
*********
EDD032
H3
. *
.♦ END
♦ . R
♦ .
*.
♦ .
*.
*.
OF ♦. NO
LD .♦ •
..-■• 1
* YES ♦♦*♦
,
1 ♦ H2
\ *
*** ****
*****fU* *********
* *
•SET END OF BLD *
* INDICATOR IN ♦
* TEXT BECOBD *
* *
*********••**♦♦♦*
«****GH* *********
* ♦
♦SET RLD POINTERS
♦TO STABT OF RLD*
* IN BECOBD *
* *
*****************
*****
♦ 002*
* A1*
* *
*****************
Chart LC (Part 1 of 2). PASS1 TEXT-RLD and END Record Processor ($LINKD)
Program Organization 7-27
*****
*001*
* CI*
*001*
* GU*
*****
->*. AUTOLINK ON
EDC110
****** II**********
♦SET Q CODE AND *
* C/S TO HRITE *
— ->* THE HODULE *
k * SECTOR *
* *
*****************
V LA/3/A3
*****BH* *********
♦DEDAB7 *
*****C1 **********
* SAVE THE HLD *
* ADDRESS. SET *
* THE TEXT *
* POINTER *
* *
*****************
*****D1** ********
* SET HLD VALUE *
♦AS DISPLACEMENT*
* FOR ADD AT *
* EDD060 *
* *
*****************
EDD060
*****E1** ********
* ADD THE ♦
* RELOCATION *
* FACTOR TO THE *
* TEXT OPERAND *
* *
*****************
*****************
****
EDD080
*****0 1**********
* *
♦UPDATE THE RLD *
♦POINTER TO NEXT*
* RLD *
* *
*****************
LA/1/C1
EDD100
+****C2 **********
♦DEDABO *
♦READ NEXT INPUT*
* *
*****************
****D2*********
* «
* EXIT *
* «
***************
TO: DEDABO
ENTRY *.
BEEN
.PROCESSED.*
YES .* END *.
< *. BEEN
♦.PROCESSED.*
*****P3**********
* SET RELOCATED *
♦END OPERAND AS *
* START S IN *
* DIRECTORY *
* *
*****************
*****G3**********
* *
♦SET ON THE END ♦
♦BEEN PROCESSED *
* INDICATOR *
* *
*****************
I
V
****
* C2 ♦
* *
****
*****************
*****C<t*********
♦ UPDATE THE
♦ MODULE OUTPUT
♦ C/S. SET OFF
♦ HODULE
♦ INDICATOR
****************
*. AUTOLINK ON
*****£It****4
♦ LAST MAINLINE ♦
* *
*****************
EDD120 . LA/1/AH
*****os* *********
♦DEDAB2 *
' AUTOLINK *
• *
*****************
♦ ***E">*********
* *
* EXIT •
* *
***************
TO: DEDAB2
V LA/3/A3
♦ READ MAINLINE ♦
♦ *
*****************
*****GH* *********
* *
♦RESET MAINLINE *
♦BUFFER POINTER ♦
♦AND I/O COUNTERS
* *
*****************
Chart LC (Part 2 of 2). PASS1 TEXT-RLD and END Record Processor ($LINKD)
7-28
***A1*********
*
ENTER *
**************
*****D1**********
* *
* SAVE THE OFT *
* START 3. SET *<
* RPG SWITCH *
* *
*****************
*****B2**********
* *
♦SET ESL SWITCH.*
* SAVE THE ESL *
* LENGTH *
* *
*****************
* C2 *->
****
EDE000
*****C2 **********
* SAVE THE ESL *
* RECORD <J. SAVE *
* THE DATA FBON *
* ESL *
* *
*****************
. *
EDE010 .*.
A3 *.
A« *
.* *.
. *
MODULE *. NO
.* MODULE
IN PSOCESS .* .
*. ESL
*' LD/2/B2
***E2**********
3E100 *
*****************
*****q3**********
* SET C/S AND g *
* CODE TO READ *
* NEXT LTOWA *
* INPUT *
* *
*****************
v LA/3/A3
*****C3* *********
*DEDAB7 *
hEAD I/O
*************
*****03**********
* *
* RESET LTOWA *
*D. M. COUNT AND *
•BUFFER ADDRESS *
* *
*****************
LA/1/C1
v
k**E3*********
EXIT *
**************
****
EDE020
*****BU*
:********
*SET ESL SEARCH *
♦FOR EXTRN WITH *
* SAME NAME *
* *
*****************
****
EDE030
*****C 4*******4
♦EDE10O
*****************
*****
♦002*
* A1*
****
* *
* Fit *---
****A5**********
SET MODULE *
RELOCATION *
FACTOR SET *
MODULE NAME - *
INCLD NAME *
****************
*****U^*********
* UPDATE THE
* PHASE
* RELOCATION
* FACTOR
****************
k**c5**********
'***************
MODULE <
. IES
IN PROCESS
.* 1
*. .*
1
*. . *
*
* NO
• ••*
* •
* B<»*
* *
**•*
*****E5* *********
* *
* SET JLTOWA *
* INPUT C/S AS *
* MODULE STABT *
* •
*****************
• ***
*****G1********<
*
* SET DUPLICATE
* ESL - ERROR
* DISPLAY ■ 1fl'
V LA/2/A1
*****H1 **********
♦DEDABU *
*. . *
* NO
I
* At
*
****
*****]! 3**********
* *
*MOVE DATA FROM *
* MATCH EST. TO *
* EXTRN *
* *
*****************
************<
ESL
TABLE S >
. EOCORF. .
*****|| U *********«
* SET COME *
* EXCEEDED - *
* EhROR DISPLAY *
* >0H' *
* *
*****************
*****
*o<n*
* F2*
****************
* yes ****
| **** * *
I * *• C2*
l->* E3 ** *
* * *•**
****
Chart LD (Part 1 of 3). PASS1 External Symbol List OPTNS Record Processor ($LINKE)
Program Organization 7-29
L'NTFrt *
:>t'T OFF OPTNS
INDICATORS TN
COMMON
*****p -) *********
*
♦ MOVE i) DAT* TO
♦ EXT.iN ESL
♦ RECORD
********
****
* C1 *->
♦UPDATE THE ESL
* TABLE SEAMCH
* POTNTE8
****************
****
* C2 *->
*^2 **********
************
********
»*****•
..**
* *
* E1 *->
* *
****
EDE130
V
«***£ 1 ********
*
* RETURN
*
******* *******
TO: CAL
LEK
*+***BH*******»
*****************
*****
♦ 003*
* F2*
*****C3 **********
♦ SET THE OPTNS ♦
♦ SWITCH ON ♦
* *
* *
*****************
****
* *
* D3 ♦->
* *
**** V
EDE160 .*.
EDE170
03 *.
. * *.
.* ♦. YES
. *
*. PARAMETEB .*
>*.
♦. START .♦
A ♦
* • - *
I
*. • *
1
♦ NO
*
* *
|
♦ 003^
* FU*
)
*****
'
EDE180
****£ 3 **********
UPDATE THE ♦
OPTNS BECORD *
POINTER AND ♦
COUNT *
****************
*****q5* *********
* *
* SET moai *
->* ATTBIBOTE bit *
* IN COHHO* *
* *
*****************
I *•**
*003*
l->* ci» *
* *
**•*
***** £5 **********
• ***
* *
* El *
« no *****
■ **•* *003*
* * * D2*
t—>* D3 * * *
IB COMHOM *
* •
*****************
1****
♦003*
->* k<t *
* •
****
*****P5 **********
* *
* SET DEDIC *
->* ATTBIBUTE BIT *
* IB CCHHOB *
* *
*****************
I****
*003*
->* C« *
* *
**•*
****Q5**********
SET SOUBCE *
ATTBIBUTE BIT *
IN COMMON *
*
****************
*****
♦ 003*
♦ A2*
♦ 003*
♦ AH*
* *
Chart LD (Part 2 of 3). PASS1 External Symbol List OPTNS Record Processor ($LINKE)
7-30
*****
«002*
* G4* EDE210
*****A 3 **********
* *
* SET DFbSNT *
->* ATTRIBUTE BTT *
* IN COMMON *
* *
*****************
i->:
NOAUTO
*.
*. .*
****
|
* *
* E2 *-
>l
* *
I
****
|
EDE2U5
V
*****E2 **********
*
* SET
INVALID
*
*OPTNS
PARAMETER*
* ERROR
*****B3**********
* *
* SET PTFAPP *
->* ATTBIBUTE BIT *
* IN COMMON *
* *
*****************
*****C3**********
* *
+ SET NOAUTO *
->* ATTRIBUTE BIT *
* IN COMMON *
* *
*****************
****
* *
->* A4 *
****
; ***D3*********
SET PUNCH
OUTPUT
INDICATOR IN
COMMON
<******
<********
****
u:
****
♦ *
* AU *
*****A<I* *********
* *
* UPDATE THE *
->*INPUT POINTER 1*
* BYTE +
+ »
*****************
*****BU*********
*****************
* UPDATE THE *
♦INPUT POINTER 6*
* BYTES *
* *
*****************
»****D(j*********«
*****************
****
EDE270 V LA/2/A1
*****F2**********
♦DEDABU *
*****************
*****
♦ 001*
♦ E3*
*****
♦00 2*
* D<4*
Chart LD (Part 3 of 3). PASS1 External Symbol List OPTNS Record Processor ($LINKE)
Program Organization 7-31
DEDAFO
****j\ 1***+«****
* *
* ENTER «
* 4
***************
**** I
EDF070 V
****+A ^** + * ******
* *
♦kESKT NAI1F HOLD*
* START (!) AT *
* EDFO^n *
*****************
I
I
*****H 5**** ******
*****************
*****g 3 **********
* *
* MOVE NAME TO *
* COMMON. SET *
* LOAD 3 = EOS *
* *
*****************
********
*****************
*****C1**********
* *
♦SET THE RECORD *
* BYTE COUNTER TO*
* ZERO *
* *
*************
*****C2 **********
* *
* ZERO THE LOAD *
■* ADDRESS IN *<
* COMMON *
* *
*****************
****p1 *********
UPDATE THE
RECORD POINTER
AND COUNT
***************
****
* *
* fil *->
* SET INVALID *
* PHASE NAME - *
* ERROR 01 *
* 4
*****************
****
U1-A4*003*
* CU *->
* *
****
EDF030
V
****H 1**
*
* "XIT
*
***** *********
TO: DEDAPU
LA/1/A1
******
I****************
♦MOVE NAME BYTE
♦FROM RECORD TO
♦ NAME HOLD
t***P2*********
UPDATE HOLD 8
AT EDFOSO.
UPDATE NAME
COUNT
***************
* *. ****
END OF *. NO * *
ADDRESS .* >* At *
*****Q1)**** ******
* *
♦ ADD ADDBESS ♦
♦VALUE TO DIBLAD*
* IN COMMON ♦
• •
*****************
.*.
EDF120
E3 ♦.
*****glj **********
.* *
* *
.♦ S*X
*.
NO
♦SET BELFAC AND *
*. START
>*DIREPT = DIRLAD*
*. ADDRESS
*"
• *
*. . ♦
* *
*. . ♦
*****************
♦ YES
**** l
* *
* F3 *->
* * 1
**** V
EDF090 .♦.
EDFQ65
*****P4 **********
P3 ♦.
. ♦ ♦
• *
.♦ VALID X
*.
NO
* SET INVALID *
♦. ADDRESS
> EBBOB ♦
*. FORMAT
*
A * DISPLAY '02' ♦
* . . ♦
1 * *
*. .*
I *****************
* YES
**** 1
* * I *••*
♦ PH * * *
* * L>* HI *
•**♦ • ♦
♦ ***
*****(;3**********
*
*
* SET THE X
*
♦ADDRESS PKOCESS^
♦ COUN
C =
*
*****************
*****
♦ 003*
* A2*
* *
->♦ G1 *
* *
****
Chart LE (Part 1 of 3). PASS1 PHASE Record Processor ($LINKF)
7-32
****
* *
* A1 *
* *
****
* *
♦ 001*
* E5*
*****
EDF210
*****A3**********
* SET INVALID *
♦OPTIONAL PHASE *
>* PAKB ERROB - *
A * DISPLAY «11« *
I * *
I *****************
' LA/2/A1
*****B 3 **********
*DEDAB4 *
* AH *— •
* * i
**** V
DF130 .*.
A4 *.
.* *
.* SIZE
*,
YES
*. SWITCH ON
* -»
♦ .
*
I
♦. .*
J
♦. .*
V
* NO
****
* *
* A3 *
* *
****
*****BI» **********
* *
♦SET SIZE SWITCH*
****
* E3 *
* *
****
C1 *
*
PERN
D1 *
SIZE-
*****************
* UPDATE THE *
* INPUT POINTEH *
♦AND COUNT BY 4 ♦
* *
*****************
****
♦ UPDATE THE ♦
♦ INPUT POINTEH ♦
♦AND COUNT BY 5 ♦
♦ ♦
*****************
*****************
L- >* C3 *
* *
****
****
* *
* A4 ♦
* ♦
****
► ***
*
A3 *
**♦♦
♦ ♦
♦ A1 ♦
♦ *
****
****
* *
* C3 *
* *
****
*****C3**********
* *
* SET PARAMETER ♦
* PROCESS ♦
* SWITCHES OFF ♦
* ♦
*****************
****
*
* E3
*
****
* — i
* V
EDF150
.♦•
E3 ♦.
. *
*.
*.
DUP
PERM OR
TEMP
*****p 3 **********
* *
*SET TEMP - PERM+
♦SWITCH ON. SET ♦
♦TEMP ATTRIBUTE ♦
* *
*****************
*****DD **********
♦ *
♦ SET DIRSIZ ♦
♦ ATTRIBUTE IN ♦
♦ COMMON ♦
♦ ♦
*****************
*****£t|***** *****
*****************
*****C5 **********
*****************
* + **
* *
* t)2 *
* *
****
*****H3**********
* *
* SRT PEriM ♦
* ATTRIBUTE IN *
* COMMON ♦
* *
*****************
****
* *
->* 1)2 *
Chart LE (Part 2 of 3). PASS1 PHASE Record Processor ($LINKF)
Program Organization 7-33
*****
*002*
* C3*
H*A2**********
SET SIZE - *
mumder' op text *<-
SECTCKS *
*
****************
.*** I
*001* I
* B1 *->|
•SET POINTER TO ♦
►LAST PHASE ESL *
* flFCORD *
t> *
*****************
*****D2 **********
* *
* SET ATTRIBOTE *
*?OH LAST PHASE *
* RECORD *
* •
*****************
*****P2**********
► UPDATE THE *
► TOTAL SECTOB *-
► BEyUIhEMENT *
*****************
*****************
► ESL *.
TABLE *. YES
EXCEED .*
CORE .*
EDF280 I LA/1/C1
****E3*********
* *
* EXIT *
***************
TO: DEDABO
.* START *.
CONTROL *
ADDti
GIVEN .*
*****************
*****
♦001*
* HI*
*****cu** ********
* *
* SET CORE *
->* EXCEEDED - *
* ERROR 04 •
* *
*****************
****
•001*
->* H1 *
****Di|*********
* *
* EXIT *
* *
***************
TO: DEDABS
*****p<l **********
* •
* SET START *
->*ADDRESS » LOAD *
* ADDB *
* *
*****************
«*** *(-,!)*«*** *****
* SET OFF *
* INDICATOR *
* SWITCHES *
* *
*****************
***H4*******
UPDATE THE
NUHBEH OF
PHASES
* *
* m *
* *
Chart LE (Part 3 of 3). PASS1 PHASE Record Processor ($LINKF)
7-34
***♦
> «
► A2 *
* *
DEDA60
* *
* ENTER *
* *
***************
KG/1/A1
***»*B1 **********
♦isspfb *
* ^
♦PASS2 OVERLAYS *
* *
*••**•**•*••••*•*
ENOUGH *. NO
PEBH DIB .*
. SPACE .*
*****
♦ 002*
* H2*
B2 *.
*
PERN
OUTPUT
***«*D1 **********
* INITIALIZE *
*COHBOB ABE A FOB*
* PASS2 *
* PROCESSING *
* *
*****************
****•£ 1 **********
* SET THE DISK *
•IOB TO BEAD THE*
* VOLUHE LABEL *
* SECTOB *
* *
*****************
'' LP/1/A4
«****F1 **********
♦EDG070 *
*****************
.*" ENOUGH *. NO
*. TEMP SPACE .* ■«
1
*. .* »
*****
* TES *****
*002*
♦ 002*
* F2*
• •
* G2*
* *
•
*
.*.
D2 *.
.* *-
.* BNOUGH ♦. NO
*. TEHP DIB. .* 7
*. SPACE .*
*. .* ♦
* TES *****
1 *002*
* H2*
*****B3**********
* *
"*. YES * SET PEBH *
It >* LIBRARY STABT *
: c/s :
*****************
*****C3**********
* *
* SET PEBH *
*DIBECTORT STABT*
* C/S/D *
* *
*****************
*****0 3 **********
*****************
*****E2**********
* *
* SET TEMP STABT *
*C/S POB OUTPUT *
* *
* *
*****************
*****P2 **********
* *
♦SET TEHP STABT *
* C/S/D FOB *
* DIRECTORY *
* *
*****************
ANT
TEHPS IN
. LIBRARY
SDG070
****AU*********
* *
* ENTER *
+ '
***************
*****B4**********
* *
♦SAVE THE BETURN*
* ADDBESS AT ♦
* EDG080 *
* *
*****************
*****C* *********
*****************
*****D4 **********
* *DIODHT DISK* *
* * I/O HAIT * *
*****************
*****
♦002*
* A1*
* *
♦DELETE THE TEHP*
* DIBECTOBY *
* POINTER *
* *
*****************
****pi4*********
* *
» RETURN ♦
* *
***************
TO: CALLEB
BA/1/A1
*****g5 **********
♦NENTBY *
* HALT/SYSLOG *
*****************
****P5*********
» *
» EXIT *
* *
***************
TO: SUPPORTED
HALT/SYSLOG
ROUTINE
ENOUGH
LIBBABY
SPACE
*****
*002*
* H2*
* SET TEMP DATA *
•IN VOLUME LABEL*
* = PERM DATA •
* *
*****************
V LF/1/A4
*****H3**********
*EDG070 •
*****
♦ 002*
♦ A1*
*****J2 **********
****************
*****
♦ 002*
* A1*
» A2 ♦
► *
****
*****************
****
¥ *
► A2 *
► i
****
Chart LF (Part 1 of 3). Linkage Editor PASS2 Root Phase ($LINKG)
Program Organization 7-35
*****************
*001*01-H1
* E3»01-H3
*****
*****B1 **********
•SET PHASE DATA *
* III THE CONNOR *
* 1BE1 FBOH ESL *
* TABLE •
* *
•**••***•*•***•*•
*****C1 **********
• •
♦BUILD THE PASS2*
* OTEBL1T LOAD *
• ADDBESSBS *
* *
•••*•****•*******
•****D1 ••*•*•••**
• •
•INITIALIZE THE *
• TEXT AMD BLD *
* ROBE ABEAS *
* •
••*•**•••**••*•**
*****£ J **********
* *
* SET TEXT AID •
* BLD OUTPUT •
* STABT C/S »
••*•••••*•***•***
EDG210
****}3*********
* *
* ENTER *
* *
***************
*****B3 **********
*****************
C3
*.
. * *.
.* COUNTEB *.
*. » <•
*. .*
*. .*
*. . *
* NO
****
* *
* D3 *->
* *
• •*•
EDG220
1
•***D3 *********
*
• BETUBN
*
***************
TO: CALLEB
•••••
♦001*
* CI*
* *
t BA/1/A1
*****F2*** *******
•NEBTBT *
••**••••*•**•••**
•****DI| **********
••*****•**••*••*•
*****gi| **********
****•*••**•*•**•*
* UPDATE SHOBK
* C/S
*****************
*••*
* •
» D5*
* *
• •**
*****C5**** ******
* •
* UPDATE THE *
* SBOBK TBACK *
* ADDBESS *
* *
*••*•****•******•
*•**
***•
EDG250
*****Q5*** *******
* *
* BESET BUFFEB *
* POIMTEB. SET *
* COUNTEB - *
* *
***•***•**••**•*•
I****
* *
->* D3 *
* •
*•**
.*
,*
TES
*****
*003*
* B1*
*•*••*•*••*••*•*•
• •••
*001*
• C2 *— .
*****Q 1**********
* SAVE THE BPG *
* OTEBLAT FETCH *
* TABLB STABT •
* ADDBESS •
* •
•***•••••••*••**•
J**.* |
BA/1/A1
*****q2 **********
•NENTSI *
* *
* HALT/SISLOG *—
* DISPLAY EG'P3 *
* *
**•••*••*****•***
01-G1* A2 *--
***** [
. BA/1/A1
*****H2 **********
•NENTSI •
, • *. *•*•
I/O *. TES • *
COHPLETE .* >* A5 *
1 BA/1/A1
*****G1»* *********
•NENTSI *
•DISPLAY EGHE033*
• *
•**••*•*•*••****•
i**«*
* •
->* H3 *
• *
• **•
••••••*•**••**•**
**••**•••***•****
**»*H3*********
* *
>* EXIT *
A • •
1 ***************
•* TO: SUPPORTED
Chart LF (Part 2 of 3). Linkage Editor PASS2 Root Phase ($LINKG)
7-36
DEDACW
****A1 *********
* *
* EITEH *
* *
«• *••*•• *******
****
02-F 1*002*
* HI *->
* *
****
EDG130 .*.
BDGKtO
B1 *.
«****B2 **********
.* *.
* *
.* EHD OF *. TBS
♦SET THE EHD OF *
D1 *.
* *.
HODOLB
BECOBD
*. .*"
*. .*
* HO
*****B1 **********
* •
♦UPDATE THE ESL *
* POIHTBI AMD *
* SAVE ESL 9 *
* *
**************<■**
DEDAG1
•***G1*********
* *
* EHTEH ♦
* *
************* 41*
DEDAG3
****H1*********
* *
* EHTEB »
* *
***************
***•
**•****•••****•**
* SET LAST *
->*TEXT/BLD MBITE *
* SHITCH *
* *
••*•••*•**•***•**
I****
* *
->* H4 *
• *
****
*****************
*****g2 **********
* *
♦UPDATE AHD SAVB*
* THE ESL TABLE *
* ADDBBSS *
* *
*****************
*****f 2**********
* *
* SET BECOBD *
♦CODHT TO FOBCE *
* tHOBK HEAD *
* *
*****************
• ***
* *
* G2 *->
* *
****
G2*
* BEIHITIALIZE *
*C0HNON FOB NEXT*
* PHASE *
* *
*****************
KG/1/A1
END *.
BECOBD
.*
.*
*. .*
* HO
1 *•**
*
l->* G2
•
*•**
DEDAG2
****A4*********
* *
* ENTEB ♦
* *
***************
*****BH **********
* *
*SAVE THE BETOBN*
* ADDBBSS AT *
* EDG220 *
* *
*****************
*****C4**********
* *
♦HOVE THE EHBOK *
* AHD PHASE NO. *
•TO EBBOB TABLE *
* •
*****************
♦ UPDATE THE *
* EBBOB TABLE *
♦ COUNTEB ♦
* *
*****************
.1..
* *
♦ E5 *
• *
*•**
LF/2/A3
*****G3**********
♦EDG210 *
* BEAD *WOBK *
* *
*****************
*****F4 **********
****************4
*•**
• 4
->♦ E5 *
* *
****
• •••
* *
* J1*
* •
**••
****F5*********
* *
* BETUBN •
* 4
***************
TO: CALLEB
• ***
► *
► HU ♦ .
EDG170 KG/1/A1
*****H5*** *******
♦$$SPPN *
* LOAD SLINKH *
* *
*****************
KG/1/A1
*****J2 **********
♦$SSPFN ♦
****
» 4
* A3 4
► 4
****
****
OVRLAY
*****jq* *********
* LOAD ILINKK *
* *
*****************
LK/1/A1
v
****K 1*********
► *
» EXIT *
► *
***************
TO:
EBBOB AND
OVERLAY FETCH
TABLE-PRINT (*LI
LOAD SLINKJ ♦
4
****** **********
I ****
* ■ *
>•->♦ Jit *
* *
****
*****************
****K4*********
► 4
► EXIT *
► 4
***************
Chart LF (Part 3 of 3). Linkage Editor PASS2 Root Phase ($LINKG)
Program Organization 7-37
* * **
*
A2 *
ENTER
K**********4
»*«*A2**********
4
SET THE BLD *
EXTERNAL BIT *
OFF *
* *
* SUTiItUCT LAST *
* TEXT * F30H *
*CURHENT START <**
**** J
EDH050 V
*****ltH **********
*****************
***** $2 **********
* *
* SET THE TEXT *
* OPERAND *
* DISPLACEMENT *
* *
*****************
****\) -\*********
SET TEXT
POINTER
CALCULATE TEXT
START ADDRESS
***************
*****Q2 *********
* MOVE THE
* OPERAND TO A
* SAVE AREA
****************
V LG/2/C2
*****Q2 **********
♦EDH120 *
************
****
EDH020
*****E2*********
*
* MOVE KESOLVED
* SAVE AREA TO
» OPERAND
****************
' I
*****p 1 *.******
*************
**** I
* *
* G1 ♦->
* * I
**** V
EDHOOO .*.
G1 *.
. *
*
.* END OF
*. KLD
*.
*.
*. . *
* YES
I
I
1***************4
****
* *
->* G1 1
****
02 " ' * .
*********
****C3*********
CALCULATE TEXT
WORK REMAINING
SPACE
***************
TEXT
START IN
WORK
*****E3*********
*
* SUBTRACT WORK
* SPACE FROM &
* DIFFERENCE
*
****************
****
* *
* F3 *->
* *
****
V LG/2/D1
*****p3**********
♦EDHOSS *
* *
* *
* WRITE TEXT »
* *
*****************
*****QH* *********
*****************
****
****
EDH060
*****BI| **********
****************
" LG/2/A1
*****pq **********
*****************
3TKA
ROR
[FFE
¥***
*******
CT 2<>h
.* TEXT *. YES
*. COUNT = 256 .*-
*. . *
1
*• - *
1
*. . *
*
" NO
*****
*002*
* A3«
* *
*
LG/2/D1
♦EDHOB 1 ) *
* *
* SET OVERFLOW +
* *
********
*********
* CALCULATE *
->* OVERFLOW TEXT *
* LENGTH *
* *
*****************
♦****D5 **********
*****•******•••**
LG/2/»1
*****E5 **********
♦EDH070 *
******•**•*•••**•
* LG/2/D1
**** *p 5* ******** ^
*EDH085
* WRITE TEXT
*
****************
*****G5 **********
* *
* SET DAT! rOB *
* OVERFLOW MOVE *
* AT EDH075 *
* *
tt*t *************
• ••*
* *
->* E4 *
• *
• ***
Chart LG (Part 1 of 4). PASS2 TEXT-RLD Conversion Phase ($LINKH)
*****
♦ 002*
• A3*
7-38
EDH070
****ft i*********
« 4
* ENTER *
* *
***************
*****************
a.
EDH075
«****B1**********
♦HOVE TEXT FROH *
* THE BECOBD TO *
* TEXT WORK *
* SECTOB *
* *
*****************
*****B4* *********
* *
* SAVE THE *
* RELOCATED BLD *
* ADDRESS VALOE *
* *
*****************
EDH080
****C1*********
* »
* RETUBN *
* *
***************
TO: CALLER
EDH085
****D 1 *********
* »
* ENTER *
* *
***************
*****E1**********
*****************
V LG/4/A1
»****p 1****4 *****
►EDH300 *
* I/O WRITE *
* ♦
*****************
EDH090
****Q1*********
* *
* HETUBN *
* *
***************
TO: CALLER
*****
*001*
* E1*
* SET TEXT *
♦SEQUENCE EHBOB *
*- DISPLAY '16' *
* *
*****************
*****£ ^*****«***«
* *
* SET THE *
♦TERMINAL EBHOB *
* SWITCH *
* *
*****************
In***
* *
->* H2 *
* *
****
EDH120
****C2*********
* ♦
* ENTER *
* *
***************
***** B2 **********
* *
♦SET XR2 AS THE *
* ESL TABLE *
* POINTER *
* *
*****************
*****E2 **********
*****************
.* END
or *.
*. ESL .*
*. .*
*. .*
*. .*
* TES
****
* *
* G2 *->
* *
****
EDH1U0
*****G2*
*********
*****************
****
LF/3/A4
*********
*****************
*****
*O01*
* F2*
♦UPDATE POINTER *
* AND SAVE NEXT ♦
* ESL ADDRESS ♦
* *
*****************
***«*C !!*♦*♦ ******
* *
* CALCULATE BLD *
* INCREMENT AS ♦
* RLD VALOE ♦
* *
*****************
*****DI| **********
* SAVE THE ♦
* CURRENT RLD ♦
* VALUE AS LAST ♦
* RLD VALUE ♦
* *
*****************
*****Q3**********
*****************
' LG/3/A 1
*****pl) **********
♦EDB190 ♦
*****************
*****Q(|* *********
*****************
I****
♦ ♦
->* At ♦
* ♦
****
****
.NO * *
. * >* D3 *
* 4
****
*****J3 **********
* *
*(IOVE EXTRN DATA*
♦TO THE OPERAND ♦
* SAVE AREA *
* *
*****♦******♦♦♦**
*****
*001*
* E2*
****************
LG/3/A1
*****P5**********
♦EDH190 ♦
*****************
*****G5 **********
*****************
I **••
* *
L->* E« *
* *
***•
Chart LG (Part 2 of 4). PASS2 TEXT-RLD Conversion Phase ($LINKH)
Program Organization 7-39
EDH190
****A1*********
* «
* ENTER *
* *
***************
*****
02-AU *001*
* C1* EDH250
****
* *
* D1 *
* *
****
*****B1 **********
*****Blt**********
***********
*****q1 **********
*****************
LG/4/A1
*****cu* *********
*EDH300 *
*****************
****
****
EDH200
*****D1********
*****************
*****************
• **•
* *
* Dt *->|
*****EM **********
SET LAST *
PROCESSED *
SWITCH *
•
t ****** **********
EDH280 V LF/3/G1
*****E5* *********
•DEDAG1 *
*****************
*****G1**********
*****************
****
* *
->* E2 *
* *
****
*****P2 **********
*****************
*****G2 **********
* •
* MOVE THE BLD *
♦BYTE TO THE BLD*
* HOBK AREA *
* *
*****************
*****H2 **********
* *
♦UPDATE THE BLD *
* NOLI, AND VOBK *
* COUNTEBS *
* *
*****************
*****************
*****p 3 **********
* *
* MOVE NULL BLD *
* TO BLD HOBK *
* ABEA *
* *
*****************
*****Q 3**** ******
* *
♦UPDATE THE NULL*
* AND BLD HOBK *
* COUNTERS *
* *
*****************
****
* *
* D1 *
* *
****
*•**•*•*********•
' LG/4/A1
♦****PK **********
•EDH300 *
*****************
*****************
****F5 *********
* •
* EXIT *
* *
***************
TO:
THE PASS2
BOOT PHASE
(AT DEDAG1)
BESET XB2 AS *
BLD POINTS! IN *
BECOBD *
*
****************
EDH220
****K2*********
* *
* BETUBN *
* t
***************
TO: CALLEB
Chart LG (Part 3 of 4). PASS2 TEXT-RLD Conversion Phase ($LINKH)
7-40
EDH300
****A 1*******44
* *
* ENTEB *
* *
**********
EDH460
****A5* ********
* *
* ENTEB *
* *
***************
4444 4B 14444***444
* *
* SAVE XH1 AT 4
♦EDH360. SET XH14
♦AS IOB POINTER *
44444444444***444
4444
► *
* C2 *
, *«
EDH310
C1 *.
444**C2*444444*«*
.* *.
4 4
..4 FIRST *. NO
* SET C/S AND *
>4J0BDAT FOB TEXT*
4,. TEXT WHITE .*
*. • *
* WBITE *
*. .*
* *
*. . *
44444444444*4*44*
* YES
1 ****
* *
!■->♦ a:i *
* *
****
f
.*.
4« 44 4D 14444444*44
D2 *.
* *
.* *.
* SET C/S ADD *
4I0BDAT FOB BID 4<
NO .4 TEXT *.
*. HRITE .*
4 WBITE *
*. .*
4 4
*. . *
44 444444*********
*. -*
I
: YES
EDH320
LG/VA5
*****£2 44*44**'***
*EDH460
*
*
* PHYSICAL I/O *
* *
*****************
***** B3 **********
* *
* SET ELD STABT *
* AS TEXT START *
* C/S *
4 *
*****************
****
130
*****C3*4444
444 4444 444 4 4 44***
444 4 4D3 4*** ******
* *
* UPDATE THE *
♦CYLINDER 9 FOR *
*TEACK OVERFLOW *
4 *
44444********44 4*
444 4 4E3 **********
* *
♦SUBTRACT 1 FBOM*
*THE TEXT SECTOR*
* COUNT *
* *
*****************
*****B5 **********
****D4** *******
« *
* RETURN «
* *
***************
TO: CALLEB
*****C 5* *********
* * * *
* *DIODWT WAIT* *
* * ROOTINE * *
4 4 * *
* * * *
4444**44**4 4*****
S .* I/O *.
-*. COMPLETE .*
444* *F2 **********
F3 *.
* *
.* *.
♦UPDATE THE C/S *
.♦ COUNT - *. YES
* IN THE IOB *
*. o .*
* *
*. •*
* *
*• .*
*****************
*. .*
* NO
1 ****.
* *
!■->* C3 *
* *
****
EDH3II0 .*.
EDH350
G2 *.
*****G3**********
.* *.
* UPDATE NEXT *
.* TEXT *. YES
* TEXT C/S. SET *
>* TEXT WOBK TO *
*. WRITE .*
*.
.*
♦ X'00» *
*****************
*****************
*****(; 1)4444 ******
* *
* SET THE NEXT *
* TEXT AND BLD *
* C/S IN COHHON *
* *
*****************
. BA/1/A1
*****£ 54 4****44 *-
♦SENTRY
*
* HALT/SYSLOG
****************
****F5*********
* *
* EXIT *
4 *
***************
TO:
SUPPORTED
HALT/SYSLOG
ROUTINE
*****H2 **********
WOBK TO X'PF 1 *
*
***************
***J2**********
> «*** 444*44444444
EDH370
4***^2**44444*4
4 *
* RETURN *
* 4
********* ******
TO: CALLEB
Chart LG (Part 4 of 4). PASS2 TEXT-RLD Conversion Phase ($LINKH)
Program Organization 7-41
DEDAJO
»***i1 *********
* *
* EHTEB *
* *
***************
***** B 1 **********
•COBS I1DIC1TOB *
*****************
*****d **********
** + *
* A3 *
****
*****A3**********
*****************
*****B 3 **********
*****************
* UPDATE TEMP *
♦DATA IN VOLUME *
* LABEL *
* *
*****************
*****B5*********
*
* UPDATE PERM
->* VOLUME LABEL
* DATA
*
****************
EDJ060 V LH/2/A3
*****C4 **********
*EDJ100 *
*****************
»***
*
E3 *
*
► ***
*****q3**« *******
*****************
03, F5*****
03,GK*002*
03, A3* B2*
03, G2 * *
**••*••••**•••**•
7 LH/II/A2
*****E2 **********
•EDJ400 *
♦TEST DUPLICATE *
.*
•
*
*. .*
•*•••••••*•**•**•
* TES
1
*•*•
0»-C3*00i»*
* J<t *->
*****
• *
• 003*
• *••
1
* IX*
EDJ010 .*.
• *
F2 *.
•
.* *.
.* SPG *.
*. OVEBLAI .*
*• .*
*. .*
*. .*
* HO
**••
• •
* G2 *->
• •
*••*
EDJ015
LH/2/A3
*****G2 **********
*EDJ100 *
• *
•BEAD DIBECTOBI *
********
*********
*****D2 *********
*
* SET LAST U
♦BITES Or SECTOB
* TO X'CC"
*
****************
• ***
* *
* A3 «
* *
• ***
*****************
*.
. *
* TES
****
**** l
* *
* •
* E3 *->
* in *->
* *
* *
*•**
**** I
020 .*.
EDJ07O V LP/3/H1
E3 *.
*****Eit **********
. * *.
.* PUNCH *. IBS
*DEDAG3 •
*. OUTPUT .♦-
* •
♦ . .*
1
* CALL SLINKK *
*. .♦
* •
*. .*
V
*****************
♦ NO
• *•*
*
*
* D5
*
*
*
****
*****P3**********
"
* *
• ***F<j* ********
♦MOVE DATA PBOM ♦
* *
* COMMON TO *
* EXIT *
* DIBE(
:tobt *
•
*
D5 *
*
► **•
*****
♦002^
* 11*
•***E5*********
***************
*****************
LH/2/A3
*****H3**********
♦EDJ100 *
•KBITS DIRECTORY*
* *
*****************
*****J3**********
* SET END OF ♦
♦DIBECTOBY IND. *
* UPDATE *
* DIRECTOBY C/S *
***<
***********
I ."».
t->* GU *
* *
****
***************
TO: SLINKK EBBOB
AND OVEBLAT FETCH
TABLE-PBIMT BODTINE
EDJ040 LH/2/A3
*****Q(|*********4
♦EDJ100 *
.1.
♦WRITE DIRECTORY'
* 4
************** **<
V LH/2/A3
*****H4* *********
*EDJ100 ♦
*****************
*****j4*********
* UPDATE TEMP
* VOLUME LABEL
* DATA
*
****************
BPG
*.
YES
OVERLAY
*"
* -,
|
,4
*. . *
V
* NO
• ***
**>
1 *
** G2*
»■->*
EH
** *
* ****
• **«
* UPDATE PERM
->* VOLUME LABEL
* DATA
* AU *
* *
****
Chart LH (Part 1 of 4). PASS2 Directory Build Phase ($LINKJ)
7-42
*«,*•***•****•***•
EDJ100
* *
* ENTER *
* *
***************
**** I
J110 T
*****Ai|**********
* * * *
* * DIODSP * »
* * EXECUTE * *
* * DISK I/O * *
* * * *
*****************
♦ 001*
♦ D5*
*****
EDJ085 '
*****C1 **********
* *
* SATE C/S ADD *
* TEXT BO. FOB *
* OTERLAT *
* *
******* **********
*«***Q^ **********
*****B2 **********
* *
♦UPDATE AND SATE*
>* ESL TABLE *
* ADDRESS *
* *
*****************
*****
*001*
* D5*
*****02 **********
*****B3**********
♦SAVE HBTUHN S, *
* SAVE XB1. SET *
* XR2 AS COHMON *
* PTR *
* *
*****************
*****C 3 **********
* *
♦SET XH1 AS IOB *
* POINTER, SET *
* HRITB Q CODE *
* *
»•*•*••**••*****"
***** Bit **********
*****************
I/O
NPLI
*****D4 **********
* SET IB 2 AS •
* SISLOG *
*•*•**••**•*•*••*
•****q5**«* ******
•CONTROL SNITCH *
******** *********
*«•••£ 1 **********
* *
* SET TEXT ADD *
* RLD START ♦
* ADDRESSES •
* *
*n ******** *******
A****************
•UPDATE AND SATE+
•NEXT ESL TABLE *
* ADDRESS ♦
• *
*****************
*****************
LF/3/A1
•****j1**********
*DEDAG<* *
*****£ 3 **********
* *
* SET TOLUHE *
* LABEL C/S IN ♦
* IOB *
* *
*•***•******•***•
*****F2 **********
*****************
*****q3**********
•••*•*••***••****
****•••••**••****
" BA/1/A1
*****g!4 **********
♦ NENTRT *
♦ HALT/SISLOG •
♦DISPLAI EJHE033*
♦ •
*****•**•••*•••**
****F4*********
* •
► EXIT •
* •
******••*•**•**
*****•*•***•**•*•
EDJ130
****g5*********
* •
* RETORN ♦
* *
•**•••*•****•**
TO: CALLER
TO:
SDPPORTED
HALT/STSLOG
ROUTINE
H3 *.
* *
OFT I/O
*•**
* *
->* AH *
• *
**•*
*****j3**********
♦LOCATE MODULES ♦
* *
*****************
****K1*********
► «
♦ EXIT *
* •
***************
TO:
*****************
NOTE 1: OFT STANDS
FOR OVER LAr FETCH
TABLE
Chart LH (Part 2 of 4). PASS2 Directory Build Phase ($LINKJ)
Program Organization 7-43
* 12 *
* •
****
****
* *
* At ♦-
***•**•*****•**•*
♦001*
* El*
*****
*****B1 **********
*****************
*****£ 1 **********
••*•**•***••*••*•
LH/U/11
•••••D^ **********
*EDJ2*0 *
* CALC0LATE C/S *
* *
•**•***•*******•*
LB/2/A3
*****g 1*****'**'***
♦EDJ100 •
*****A3**********
*****************
****
*001*
->♦ D5 *
****
*****B 3*** *******
*****************
*****C3 **********
*****************
*****q 3 **********
******•****•*••**
*••*
* 4
* G2 *
* 4
• **•
*****E3 **********
.* >
3 *. IES
* SET *
* *
*. BITES LEPT .*—!•-
>*DISPLACEHENT = *
* BEAD OPT *
*. .*
* *
*. .*
* *
**•*•••**•*•*****
*. .*
*****************
* NO
1
1 **•*
* *
»•->* G2 *
* *
'
• ***
'
EDJ190
•****F1**********
*****P2**********
* ■ •
• *
* SET TBB OPT *
* SET *
* SECTOR *
♦DISPLACEMENT = *
* DISPLACEMENT *
* 4 *
* *
* •
****** ***********
***•**•**•****••*
I
***•
|
* •
* G2 *->
1
* *
*
• **•
.*.
EDJ195
EDJ220
G1 *.
*****Q2 **********
.* *.
* *
****G3 *********
.* DISP > *. YES
♦UPDATE THE OFT •
• •
*. X'PE" .* .
• C/S ADDRESS *
* ENTER *
*. . * 1
* *
* •
*.
1
*
*
***************
*****************
*****({ 1 **********
* *
* HOVE HELATIVE *
* C/S AND TEXT *
* HO. TO SECTOR *
* •
**•**•*•**••*****
V LH/2/A3
•****j1* *********
♦EDJ100 *
*****H3***» ******
*****B4**********
♦ *
♦MOVE RELATIVE C*
♦ADDRESS TO OFT *
♦ SECTOR *
♦ *
*****************
V LH/2/A3
*****C4* *********
*EDJ100 *
* WHITE OFT *
* *
*****************
V LH/3/G3
*****OU* *********
♦EDJ220 *
* READ NEXT OFT *
* *
*****************
*****£1| **********
* *
•HOVE RELATIVE S*
♦AMD TEXT NO. TO*
♦ OFT ♦
• *
*•*•••***********
*****FI| **********
*****************
LH/2/A3
*****G1) **********
♦ EDJ100 ♦
♦ WRITE OFT ♦
♦ *
*****************
*****
♦001 +
♦ D5^
♦****A5 **********
* *
* MOVE RELATIVE ♦
->♦ C/S TO OFT ♦
♦ SECTOR ♦
♦ *
*****************
V LH/2/A3
***** B 5 **********
♦EDJ100 ♦
♦ WRITE OFT ♦
♦ *
*****************
' LH/3/G3
*****C5 **********
♦EDJ220 *
*-..».. -.*
* *
* READ NEXT OPT ♦
* *
*****************
****D5*********
**************<
*****E5*** *******
♦ •
♦ SET ♦
•DISPLACEMENT = *
♦ *
*****************
' LH/2/A3
* WRITE OFT *
♦ *
*****************
*****
♦001^
♦ D5 +
r LH/2/A3
»****J3**********
►EDJ100 *
♦ WRITE OPT ♦
* *
*****************
• ***
* 4
♦ A2 *
♦ READ OFT ♦
* *
*****************
EDJ230
V
♦♦♦*K3 *********
* 4
* RETURN 4
* 4
***************
TO: CALLER
Chart LH (Part 3 of 4). PASS2 Directory Build Phase ($LINKJ)
7-44
EDJ240
****A1*********
* *
* EHTEB *
* *
**»****••*•**•*
****
'S**,l,* B 1********«*
» *
* UPDATE THE •
* STIBT C/S HOLD *
* ABE* *
* *
*****************
*****C1 **********
ED J 100
****A2*********
• EMTEB *
* *
***************
*****A3**********
* *
* SET NAME *
->* PABAHETER rOB *
* FIND *
* *
*****************
V KG/1/A1
*****B3**********
♦tfSPFN *
*****************
*****************
*•*••
*001*
* F2*
EDJU10 LH/2/A3
"""♦♦•♦♦DU**********
STABT
C/S ■ OVL
. C/S .
**•*
*
* B1
****
* ADD SECTQB *
->* COUNT TO *
♦BELATIVE C/T/S *
• *
**••*•*•*•*******
EDJ270
****E2***»*****
* MTUBM *
*■ *
**•*•••**••*•**
TO: CALLEB
CUBBEHT *. TES
A PEBH .*
*****F1*********
**:************•*
*****G1********»*
* UPDATE THE *
♦RELATIVE TBACK *
* COUNTEB *
* *
*****************
I****
* *
->* B1 *
* *
*•**
*****F3 **********
• *
SET MODULE
DATE TF
EBBOB
* *
*****•***•**•**•*
*****G3 **********
♦DEDAG2 *
* EBBOB BOILD *
* *
*****************
LF/3/A4
****H3*********
> *
► EXIT ♦
k *
***************
TO: DEDAG2
*BEAD DIBECTOBT *
* *
*****************
*****EI4**********
*****•*•****•*•**
LH/2/A3
*HBITE DIBBCTOBX*
* *
*****************
LH/2/A3
»****GH**********
♦BDJ100 *
****•*••*••*•****
***** Hit **********
* *
* UPDATE VOLUME *
* LABEL LIBBABY *
* DATA •
* *
*****************
EDJU20 V LH/2/A3
"^ *****J4**** ******
*EDJ100_ *
* WRITE VOLUME *
* LABEL *
* *
*****************
Chart LH (Part 4 of 4). PASS2 Directory Build Phase ($LINKJ)
Program Organization 7-45
DEDAKO
****A1*********
* BBTEB *
* •
***•**•••******
*****B1 **********
* *
*SA?E ADDRESS OF*
* UM BDIT IS *
* COHHOB *
* *
*****************
* FIND $*STOP *
* *
*****************
EDK040
*****A2********
•SET C/S OF 4TH
• SECTOB OF
■~>*CUBBENT PBOG IN*
EDK060
r->*CDHBENr B PaOG IN* ->*^ ov ||^ y '
* .**.,.„.. * NO
* A2 *
*****B1 ***••••••*
»•**•**•*********
EDKOOO
*****
*****
B3 *->
B2*i*iu o ,ia ,>
* SDK 300 *
* BEAD SECTOB 4 *
* *
*****************
*****C2**********
* SET BODE! 6 •
* CHAIN IMAGE •
*****************
.♦ PUNCH
*. OOTPUT
*002*
* K3*
*****
*****c3*J*2*<2.« 1
*ENTBY *
* FIND SLINKN *
* •
*****************
*****E2**********
*****************
EDK052 ♦ LI/02/A4
♦♦♦♦*F2********i*
♦EDK300 *
****
* 4
* A2 <
* *
*•**
♦MITE SECTOB 4 •
* *
*****************
BA/01/A1
* HALT/STSLOG *
♦PBINT EBBOB AND*
****F3*********
* *
* EXIT *
* *
***************
TO: SUPPOBTED
HALT/SYSLOG
*****
*002*
* A3*
****B4*********
I *
♦ EXIT *
* *
***************
TO: ffSPEJ
END OF JOB
TBANSIENT
EDK085
*****D4 **********
♦NENTBY *
AU11W
* FETCH SLINKN *
* •
*****************
****E4*********
* *
f EXIT *
* *
***************
TO: SLINKN
Ot'
.*
.*
YES
*••**[) 1 **********
* •
•LOCATE STABT OF*
* EBBOB TABLE *
*****************
****
* *
* J1 *->
* *
****
EDK010
*****J1**********
* CONVEBT EBBOB *
* AND PHASE *
* NDHBEBS TO *
* PRINTABLE *
♦CHARACTERS *
*****************
****
• 4
♦ A3 «
* *
****
•****G2 **********
* *
♦SET COHSON AND *
♦SUPERVISOR SIZE*
* POINTTERS *
* *
*****************
EDK055
•****H2 **********
♦SUPERVISOR SIZE*
* IN BITES *
* *
*****************
* LI/02/A1
**********
♦ PBINT * .
♦SUPEBVISOB SIZE* |
***************** 1
***** K ,***W*lliV
*EDK100 *
* PRINT EBBOR *
♦ *
*****************
EDK030
*****K2 **********
* UPDATE ERBOB *
* TABLE POINTEB *
— >* AND EBROK *-
* COUNTER *
*****************
BA/01/A1
HALT/SYSLOG
»**********„**,
****K5*********
* «
* EXIT *
**************,
->* J1 *
* *
****
Chart LI (Part 1 of 2). Error and Overlay Fetch Table-Print Phase ($LINKK)
7-46
EDK100
*«**A1 *********
* *
* ENTER *
* *
***************
*****
♦ 002*
* 13*
EDK200 LI/02/A1
*****A3**********
♦EDK100 *
*****************
EDK300
****AU*********
* *
* EHTER ♦
* *
***************
»****B1 **********
* SAVE ABB *
*****************
EDK110
»***»C2 **********
♦HALT/SYSLOG *
*****************
BA/0 V» 1
*****gt *•••*••*•*
•ilMTBI *
* HA LI/SIS LOG *
******** *********
EDK120
«***p1*******4*
* «
* RETURN *
* *
***************
1!0: CALLER
*****g3**********
* *
♦CALCULATE C/S/D*
* OF OVERLAY *
* FETCH TABLE *
* *
*****************
' LI/02/AK
*****C3 **********
♦EDK300 *
* READ TABLE *
* *
*****************
• ***
EDK210
*****D3 **********
*****************
♦CONVERT DATA TO*
* PRINT TABLE *
* CHABACTEBS *
* *
*****************
*****************
*****B l»* *********
* *
* SAVE ABB, SET *
* IOB POINTER *
* *
* *
*****************
*****Q||* *********
* *DIODSP DISK* *
* * I/O * *
**•*•**•*****•***
*****D!|* *********
*****************
E« *.
.* *.
* *. «
COHPLETE OK .*-
*. .*
*. .*
*. .*
* YES
EDK310
****ph*********
* *
* RETURN •
* *
•**••*•***••*•*
TO: CALLER
BA/01/A1
»*•••£ s* *********
*IBHTBY__ *
>* HALT/SYSLOG •
* HALT AND END *
* JOB *
•*•********•*•**•
****P5 *********
> *
► EXIT «
* *
***************
* SET OVERLAY *
♦DATA TABLE LINE*
* POINTER *
* *
*****************
LI/02/A1
*****H3 **********
•EDK100 *
♦ PRINT DATA ♦
♦ ♦
***••***•*•******
* UPDATE TABLE
* POINTER AND
* COUNTER
*
****************
*****
*001*
* B3*
****
► 4
* D3 *
t *
****
Chart LI (Part 2 of 2). Error and Overlay Fetch Table-Print Phase ($LINKK)
Program Organization 7-47
SLINICH
****A1*********
* «
* EHTEB 4
* 4
***************
EDH070
****** 3 **********
**** * *
* * * SET SEARCH *
* A3 * >* START ADDRESS *
♦AND END ADDRESS*
*****AU** ********
****"
. * RPS *.
HO
*. 07EBLAT
*
*. .*
1
*. .»
1
*. -*
*
* IBS
*••*
•
* J3
*
*•**
■
*****C1 **********
* INITIALIZE
*
* PRASE ADDBESS
•
* TABLE, SET
*
•POIBTEB TO ESI
*
* TAf
LE
*
*****************
•***
* *
* D1 *->
* •
**••
EDH010
*****01 **********
•SATE ADDBESS OP*
* PHASE ESL *
•BECOBD, UPDATE *
* TABLE ADDBESS *
* ABD ESL PTB •
**•****•**•**•***
****
► •
» El *
EDH025
• *****B2**********
*SATE ESL TABLE *
. YES *END ADDBESS IB *
.* >* PBASE ADDBESS *
* TABLE *
*» .*
*****************
* NO
1
• ***
* •
* F2 *->
* *
EDH030 .*.
EDH050
P1 *.
*****P2 **********
• *
. * PHASE
*. YES
* SET ESI. TABLE *
*. BECOBDS
* STABT 1
>OINTEB *
*****************
*****************
EDH080 V
*****B 3 **********
* SET ESL TABLE *
r->* POINTER *
1 * *
* *
*****************
****
*****
AD * *
* B« *->
***** *
****
EDN110 .*.
EDM150
B» *.
.* *.
.* PHASE *. HO
.*
*. RECORD .*
*****************
****
* *
* C3 *->
* *
****
090 .*.
C3 *.
.* *.
.* HATCH *. NO
*****C !»**** ******
* *
* SAVE PHASE *
* NAME; UPDATE *-
* ESL POINTEfi *
* *
*****************
****
* *
* F5 *
* *
****
ENTRY
OB MODULE
. NAHE
*****************
*****C5** ********
* *
•MOVE EITBN NAME*
•AND PHASE NAME *
* TO MESSAGE *
* •
*****************
*****D5* *********
* SET MESSAGE *
* SYSLOG *
* PABAHETEB *
* POINTER *
* *
*****************
*****E3 **********
* •
•SAVE RELOCATED *
* ADDRESS FROM *
* MATCH *
* *
*****************
IM/Al/A*
* G3 *
► 4
****
* C3 *
* *
• •**
•****G1 **********
*****p 3 **********
* *
* MOVE DATA TO *
* EXTRN AND SET *
* X'Q3< TYPE *
* *
*****************
**** I
* * I
* G3 *->|
* • I
**** j
EDH120 V
*****G 3 **********
* PRINT MESSAGE *
* *
*****************
****
* *
* F5 *->
* *
*•**
EDH160
*****P5***» ******
*****************
**•*****•*•••***•
1****
• *
->* El *
*****J2 **********
******** *********
.* END
OP
*
NO
*. ESL
* ,
*.
*
*. .*
*. .*
V
* YES
****
* *
* B4*
* *
****
EDM170
*****H5**********
♦SET END OF CORE*
♦AND END OF ESL *
* POINTERS *
* *
*****************
****
EDM2K0 _„,..„...
*****J3 **********
♦NENTRY *
V BA/01/A1
*****
•002*
* A1*
*****************
*****K2**********
* *
* CALCULATE *
* SEARCH START *
♦AND END ADDRESS*
* *
*****************
* FIND StSTOP
*
***************
*****K4**+* ******
*****************
I****
* *
l->* zm *
* *
****
Chart LJ (Part 1 of 2). External Symbol List (ESL) Table-Process Phase ($LINKM)
7-48
*001*
* H5*
*****
. * MODULE *. IES
. Hi HE BECOBD .*
*. .*
*****A2**********
* SET NODULE *
* ADDBESS AND *
->*LEBGTH, UPDATE * -.
* END ADDRESSES * I
* * 1
***************** A
*****B2* *********
*****************
****
* 4
* G1 *
* 4
• ***
****
* 4
* E1 *
* 4
***•
N**A3*********
4
ENTEH 4
4
It*************
****B3*********
SAVE AHH
***************
C3 *.
► 4
HODEL 6
<>****D1 **********
* •
* COHPBESS *
*BBSOLVED EXTBM *
* BECOBD *
* •
41****************
*•••
EDH210
*****gj **********
*> •
• SET NOfE *
* ADDBBSSES AND •
* LEiGTHS *
• *
••••••*••••••**••
*****pj **********
*•*••*•***••*•••*
• •••
*•*•
EDH220
*****G1 **********
BA/01/A1
»***
«
E3 •
*
>***
•CABD STSLOG BY *
* NAHE TO PBINT *
* ESL *
*•*•*••**•*******
*•**
BA/01/A1
*****Q1|* *********
♦NENTBY *
• *
* CALL CUBBENT *
♦STSLOG TO PBIBT*
* ESL *
*•*•***•********•
****E3*********
• *
• BETUBN *
• *
*•••****•******
TO: CALLEB
E
••****•**•****•**
**••
••••
EDH230
•****H1 **********
•••••*•••••******
J1 *.
.* *
• END OF
TABLE
*.
*. .*
*. .*
* NO
|
*.
*"
TES
*****J2 **********
* SET SEW ESL *
* TABLE STABT *
->* ADDBESS IN *
* CONDON *
* *
*****************
y
••*•
* *
* A1 *
* *
• •*•
BA/01/A1
*****j ■) **********
♦NENTBY *
* FETCH $LINKG *
* *
*****************
****J4 *********
» *
* EXIT *
***************
TO: SLINKG
Chart LJ (Part 2 of 2). External Symbol List (ESL) Table-Process Phase ($LINKM)
Program Organization 7-49
SLINKN
****A1*********
* *
* ENTER *
* «
***************
***** B 1 **********
* SAVE ADDBESS OF*
* COMMON. *
* INITIALIZE *
•COMMON ABEA FOB*
* POUCH *
*****************
B*/01/»1
*****C2**********
•HENTBI *
• LOAD SSSPC2 *
* *
******••*•••****•
♦HOVE DATA FBON *
->*COHH0N TO PUNCH*
* BUFFER *
* *
*****************
V LK/01/G2
*****B3 **********
♦EDN020 *
* *
* *
* CONVERT DATA *
* *
•****•****•*****•
*****C3**********
* *
*DPDATE THE DATA*
* AID BUFFEB *
* POIHTEBS *
* *
**•*••****•••***•
BADPCH
****A5*********
* *
* ENTEB *
* *
***************
****
* *
* B5 *
* *
****
♦****B5**********
* *
* SET SYSLOG *
* PARAMETER *
* POINTER *
* *
*****************
' BA/01/A1
*****C5**** ******
♦NENTRY *
* *
* HALT/SYSLOG *
.T/S
I 'DO
' BA/01/A1
*****D1 **********
♦NENTRY *
* LOAD $$SPC1 *
• *
**•**•*••*••*•***
****•£ 1**********
***********•**•••
*****23 **********
* *
♦BESET THE DATA *
* POINTER III ♦—
* COMMON *
* *
*****************
LK/01/A1
*****DI)* *********
♦CHKSOH *
* CHECK THE SOB *
* *
••*****•**•****•*
LK/01/F1
*****£||**********
♦PCHCHK
*****************
****D5*********
» *
* HALT *
» *
***************
* PONCH CABD
*
******•••••*****
**••
► *
* A3 ♦
* •
*•**
F1 *.
* *
OPEN OK
*****Q1 **********
* *
* SET POUCH IOB *
* TO PBIIT AND *
* PONCH CABDS *
* *
****•*•••*•**•***
*****H1 **********
* MOVE HEADEB *
•NAME. TYPE AND *
* SEQUENCE TO *
* PORCH *
* *
***•****•*••*****
*****j1 **********
* *
•SET POIHTEBS TO*
♦MOVE DIBECTOBY *
♦DATA TO BUFFER ♦
♦ ♦
*****************
• *•*
• •
► B5 *
EDM020
#***G2*********
* *
* ENTEB *
* *
**•*••*••***•**
*****H2 **********
*****••*••*•*•*•*
*****j3**********
*****************
PCHCHK
•***FK*** ******
* *
* ENTER *
* ♦
***************
*****G<I**********
* *
* SAVE RETURN *
* ADDRESS AT *
* PCHEND *
* *
*****************
*****H u**********
***************
♦PUNCH THE CARD *
* *
*****************
****
♦ *
♦ B5*
♦ ♦
♦ ♦♦♦
*****G5* *********
*****************
PCHEND
V
****H5*********
* *
* RETURN *
* «
***************
TO: CALLER
****
» *
► A3 *
t *
****
EDH030
♦***K2 ***♦♦♦♦♦♦
* *
* RETORN *
* *
***************
TO: CALLER
****
* *
* F5 ♦
* *
**+*
Chart LK (Part 1 of 4). Linkage Editor Punch Output Processor ($LINKN)
7-50
****
****
* *
* *
* A2 * •
* A3 *— .
* * JL
**** V
* * 1
**** I
TEXTCD
EDN060 .*.
A2 *
EDN070 V
***** n 3*** *******
****A1*********
.*
*
* *
* *
.* END OF
*,
TES
* SET XR2 AS *
* ENTER *
*. JOB
* ,
* PUNCH BUFFER *
* *
*.
I
» POINTER *
***************
*.
*
1
*••*
♦001*
* E3 *->
*****B1 **********
* *
♦SET COHHON AND *
* DISK IOB *
* POINTERS *
* *
*••***••*********
*****C1 **********
•SET DISK IOB TO*
* READ THE LOAD *
* NODDLE FROM *
* DISK *
* *
*****************
LK/2/A5
• ****D 1 «****'**'***
•READSK *
• READ DISK *
* *
*****************
LK/2/HU
***** E <|*****W***
♦CSUPDT *
* UPDATE C/S *
***••**•*•••*••••
•****P1 *•****•••*
* SECTOR READ •
• *
*****************
*••••*••****••**•
*****Ht **********
•**•••••••***•••*
***»*J1 **********
• *
* UPDATE THE *
•BUFFER PROCESS *
* COUNTER *
• •
ft***************
• •**
• *
* A2 *
« *
**•*
*****************
*****B2 **********
*****************
*****C2 **********
* •
•HOVE DATA FROM *
♦DISK BUFFER TO *
* CARD BUFFER *
* *
•*•******•***•*•*
*****D2 **********
*****************
*****£2 **********
♦ •
♦ NOTE LENGTH, *
♦ ADDRESS AND T *
♦TO CARD BUFFER *
♦ •
♦**•******••*****
, * DISK
BUFFER
*. OVERFLOW
*****C3 **********
* •
♦RESET THE DISK ♦
♦BUFFER POINTER *
* TO BUFFER 1 *
* *
*****************
*****D3 **********
♦ *
*HO?E DATA FROM *
♦ BUFFER 2 TO ♦
♦ BUFFER 1 *
♦ •
*•**•*•*•*•*•****
*****23 **********
* ♦
♦SET XR1 AS THE ♦
♦ DISK IOB ♦
♦ POINTER ♦
• *
••••***••***•••*•
LK/2/A5
♦ •♦*
* *
* A3 *
* *
*••♦
*****G2 **********
♦ *
♦ SET LAST CARD ♦
♦LENGTH IN CARD ♦
♦ BUFFER ♦
♦ ♦
*******••****•*•*
***** [12*** *******
**••***••**•****•
*•***••******♦*♦♦
*****q 3 **********
* *
* RESET XR1 AS *
* THE COHHON *
* POINTER *
* *
*••**••*♦*•*•♦♦*•
*•••
* *
-->* A3 *
****
• *
* AU *
» *
**•*
* At *— .
* • I
*♦** I
EDN090 V LK/3/A2
***** AH **********
♦EXPAND ♦
♦CONVERT 3 TO 1 •
* *
****•*******•*••*
" LK/U/M
*****gt| **********
♦CHKSUM *
♦CALCULATE CHECK*
* SUH *
♦ *
*****************
** nuifi nanc« *
♦ SEQUENCE NO. ♦
* AND CHECK SUH *
* TO CARD ♦
♦ *
**••***••*••••**•
" LK/1/'*
*****Q4**»* ******
♦PCHCHK 001FU*
•PUNCH THE CARD *
* •
***•***••*•**•***
*****gl|**********
*♦****•*♦♦*♦♦**••
EDN110
****F<»*********
• ♦
• RETURN *
• *
♦•♦♦*•*♦♦•***♦♦
TO: CALLER
• ♦♦•
* 4
♦ A2 *
READSK
****AS*********
* ♦
* ENTER •
* *
***************
*****B5*** *******
* *
•SAVE THE RETURN*
* ADDRESS AT *
* EDN110 *
* •
*•*•***••********
♦•♦♦♦C5 **********
* * * *
* * DIODSP * *
* * PHYSICAL * *
* * I/O * *
* * ♦ ♦
♦*••••*••♦♦♦••♦*♦
*****D5 **********
•*••*•••*•*•*•**•
•****g5 ****'*'*****
♦CSUPDT *
* •
* UPDATE C/S •
* *
*****************
F5 *.
.* •
I/O
COMPLETE
"*• .*
*. .*
* 10
•****G5**«* ******
••••*•*•*♦•♦••♦♦♦
E
CSUPDT
****HU*** ******
* •
* ENTER *
* *
***************
*****jD •*•*•*•*•*
* *
* SAVE RETURN *
♦ADDR-UPDATE THE*
♦DISK INPUT C/S *
* *
*****************
' BA/01/A1
****
* •
♦ K2 *— »
* * I
**** 1
V
END120
*****K2 **********
r
*S$SPEJ *
****K3*********
****K4*********
* *
*
* END OF JOB *
>* EXIT *
* RETURN
* TRANSIENT *
* *
*
***************
***************
*****************
TO: END OF
TC: CALLER
JOB TRANSIENT
<$$SPEJ)
**•*****•••*•*••*
****J5********«
• •
• EXIT «
• «
***************
TO: SUPPORTED
HALT/
HOUTI
Chart LK (Part 2 of 4). Linkage Editor Punch Output Processor ($LINKN)
Program Organization 7-51
EXPAND
****A2 *********
* *
* ENTEB *
* 4
***************
•****B2 **********
* *
•SAVE THE BETOBH*
* ADDBESS AT *
* EDN220 *
* *
**•***•**••******
*****C2 **********
• *
♦SAVE THE BOFFEB*
* POINTER AT *
* EDN210 *
• •
•••**••**********
* HOVE EXPANDED *
♦BYTES TO PUNCH *
* BOFFEB *
* •
*****************
*****B5* *********
* *
* UPDATE BOFFEB *
♦ADDBESS IH HOVE*
* AT EDN200 *
* *
*****************
••••***•*•••••*•*
• ***
• •**
EDN150
*****E2**** ******
*****************
*****************
****E5*********
* *
* BETOBN *
* *
***************
TO: CALLEB
* SHIFT INPOT *
->* DATA BYTES 2 *
* BIT POSITIONS *
* *
*****************
*****G2 **********
*****•**•**•*•***
EXPAND
BYTE =
X>0F>
* J3 *->
* *
****
EDN190
*****j3**********
* SHIFT INPUT *
♦DATA BYTES FOUR*
* MOPE BIT *
* POSITIONS *
* *
*****************
SHIFT
*.
NO
•
SHIFT
•
NO
BYTE <
— >*
BYTE =
*----,
X'AO 1
*
"*.
X'AO'
•
1
.*
*. . *
I
*. . *
*. .*
V
* YES
* YES
***•
I
* *
•
* Htt*
' l
* *
*•**
. *.
'
Ht *.
► **
*H5**********
*
*
*
EXPAND
*.
YES
*
SET
EXPAND BYTE*
BYTE =
* 1
*
TO X
OD'
*
» »5 *
k *
****
*****************
■>* J3 *
* *
****
*****************
*****J5**********
* *
* SET OFF ZONE *
* BITS IN THE *
* SHIFT BYTE *
* *
*****************
I****
• *
i->* hu *
Chart LK (Part 3 of 4). Linkage Editor Punch Output Processor ($LINKN)
7-52
CHKSDH
****A1 •••*•••*•
* *
* EITEB *
* *
********••*•••*
***** B 1 ******•*«*
• *
♦ SATE THE BETORH*
• ADDRESS AT •
* EDI330 *
♦ *
*****************
***** c 1»*****»»**
• *
• INITIALIZE *
•CKSDH FIELD TO *
» I'OO* *
• ♦
*•**•••••*♦*♦♦***
****
*«*♦
BDI230 ♦
**<,**D1**********
•BUTE II CKIOBK *
• *
« *
* set off »
» position bits »
* ii ckiobk *
* *
*****************
* SET BDFPBB *
♦POSITOI POB SBP*
* IT EDI260 *
* *
*****************
• SET OFF *
* POSITIOl BITS *
• II CHECK *
* *
*•*•**•••••**♦*♦♦
***** H 1 **********
**:****•*•*••••♦**
•****J 1**********
* *
♦WPDATE POSITION*
♦FOB CHECK BITE *
* BOTES *
* *
*«***•****•**•***
• •**
* •
* A2 *
* *
• ••*
*•••
» *
» A2 *
.♦ ALL ♦. MO
BYTES .*
♦ .PROCESSED.*
****** 14** ********
* *
* UPDATE BUFFER *
* ADDRESS IN *
* EDN320 *
* *
*****************
EDN270
no *. *****B3**********
.* *. * REINITIALIZE *
► ODD *. YES *POSITION*1 FOB *
BITE COUNT .* >* SBF AT EDN240 *
*. .• * AND EDN260 *
*. .* * *
* * *****************
* LAST *. YES
CHECK BYTE .* -»
*. - X'OO* .* I
*****C2 **********
* *
* SET CHECK *
•NUHBER FOB EVEN*
* BYTE COUNT *
* *
***•*•***••**•*••
*****D2 **********
* BEIMITALIZE *
POSITION FOB_
**•**••****•••**•
*****E2**********
CHECK
EB BY1
X'OO'
* *
*****************
I****
* *
->* D1 *
* *
***•
****
* *
* D3 «
* «
• *•*
*****C 3 **********
***•***••******•*
****
***** 03 *••**•****
**•*•**•**•****•*
CHECK
BYTE >
X«F9<
*****C4 **********
• *
* REINITIALIZE •
*****************
EDN330
****DQ*********
* *
* BETUBN *
* *
***•**••**•***•
TO: CALLEB
* SET OFF X'Oe*
►* BIT IN THE
* CHECK BYTE
*
•**•**••*****••**
.* CHECK
*. BYTE <
*. X«FO«
*.
*• . *
> Y
• ***
• *
* 03 *->
* •
• ••*
EDN310
1
I****
* *
->* 03 *
*****G3 **********
♦ *
♦SHIFT THE CHECK*
♦ BYTBS 4 BIT ♦
♦ POSITIONS ♦
♦ *
**•***•*••*****•*
•****H4* *********
* *
* SET SPECIAL *
->*CHARACTBB BYTE *
* TO X'DO' *
* •
*******•*••*•••**
♦BOTE CHECK BYTE^
♦ TO THE CARD *
♦ BUFFER *
♦ *
*****************
Chart LK (Part 4 of 4). Linkage Editor Punch Output Processor ($LINKN)
Program Organization 7-53
7-54
Section 4. Directory
Figure 7-9 contains the Directory entries for the Linkage
Editor.
Directory 7-55
Module/Phase Name
Chart ID
Descriptive Name
Entry Point
Function
PASS1 $LINKB
LA
PASS1 Root Phase
DEDABO
•
Mainline entry from Initialization
DEDAB1
•
Data Management entry from overlay
DEDAB2
•
Input record checking
DEDAB3
•
Phase processor entry point
DEDAB4
•
Build error table
DEDAB5
•
Print MAPTBL errors
DEDAB6
•
Data management
DEDAB7
•
Physical I/O linkage
PASS1 $LINKC
LB
INCLD and ENTRY
DEDACO
•
Provides syntax checking
Record Processor
•
•
•
•
Processes INCLD statements
Provides diagnostic messages
Builds ENTRY field in object library
Locates unresolved EXTERNS
PASS1 $LINKD
LC
TEXT-RLD and END
DEDADO
•
Adds relocation factor to TEXT operands
Record Processor
•
Processes END records
PASS1 $LINKE
LD
ESL and OPTNS
Record Processor
DEDAEO
•
•
•
•
•
Locates and provides error messages for multiply
defined names and entry points
Resolves EXTRN cross references
Builds ESL table
Unblocks ESL entries
Sets phase optional attributes
PASS1 $LINKF
LE
PHASE Record
Processor
DEDAFO
•
Interrogates PHASE s statement and builds phase
directory records
PASS2$LINKG
LF
PASS2 Root Phase
DEDAGO
•
Initialization of PASS2 Root Phase
DEDAG1
•
Return point from TEXT-RLD phase ($LINKH)
DEDAG2
•
Build error table
DEDAG3
•
Error and overlay fetch table
DEDAG4
•
•
Print phase ($LINKK) calling routine
Return point from Directory Build Phase
($LINKJ)
PASS2$LINKH
LC
TEXT-RLD
DEDAHO
•
Resolves external RLDs
Conversion Phase
•
•
•
Builds TEXT and RLD work area
Calls error build
Writes RLD and TEXT into object library
PASS2$LINKJ
LH
Directory Build Phase
DEDAJO
•
•
•
Builds an object library directory record for the
load module
Updates the object library volume label sector
for phases with unreserved names
Updates the overlay fetch table for phases with
unreserved names
$LINKK
LI
Error and Overlay Fetch
DEDAKO
•
Prints Supervisor size for Sysgen
Table— Print Phase
•
•
•
Prints the error table
Provides the chain image for Sysgen program
Prints the overlay fetch table for the RPG
overlay program
$LINKM
LJ
ESL Table— Process
DEDAMO
•
Prints unresolved EXTRNS
Phase
•
•
•
Prints the ESL table
Attempts to resolve RPG cross-phase EXTRNS
Compresses the ESL table into high end of
main storage
$LINKN
LK
Punch Processor
DEDANO
•
•
Punches a header card with information required
to use the punched deck as COPY READER or
// LOAD * input
Punches a card deck with Linkage Editor
information normally contained in the object
library
Figure 7-9. Linkage Editor Directory
7-56
mm
: ■•
PART 8.
SYSTEM GENERATION
,">',1
$M<
System Generation 8-1
8-2
Section 1. Introduction
System Generation is the means by which the user can
generate his IBM System/3 Disk Systems to reflect the de-
sired options that are supported by his current machine
configuration. The initial input to the System Generaiton
program consists of these control statements:
Disk System
1. // DATE rnmddyy
2. // CALL $SGPCH,R1
3. // RUN
Model 6 System
1. DATE rnmddyy
2. CALL $SGCAL, Rl
Disk System
After the system reads these user-supplied control cards, it
punches a card deck. The punched deck is then modified
by the user to reflect the desired, supported options. The
user then reloads the punched deck back into the MFCU.
The System Generation program reads and uses this modi-
fied card deck to:
1. Initialize Fl
2. Build the configuration record
3. Call the Linkage Editor to build a new Supervisor
4. Call the Library Maintenance program to copy the
required system control programs
Model 6 System
After reading these user-supplied control statements, the
system calls the procedure $SGKBD to allow the user to
select the appropriate keyboard image table for his key-
board. Procedures $SGINT, $SGCOR, and $SGENB are
then called to initialize Fl, allow the user to save space for
the BASIC system, and to obtain through operator re-
sponses, the user's hardware configuration and any optional
system support desired. The System Generation program
reads and uses the operator responses to:
1 . Build the configuration record
2. Call the Linkage Editor to build a new supervisor
3. Call the Library Maintenance program to copy the
required system control programs
Introduction 8-3
CONTROL RECORDS USED BY SYSTEM GENERATION Keyword Prototype Record
The following control records are used exclusively by the
System Generation program.
LINK— Definition Header Record
The LINK-definition header record denotes the beginning
of a LINK-definition and must appear first in each LINK-
definition. The format of this record is as follows:
Position
1
8
14
Name
Operation
Operand
Not used,
must not
be present
LINK
Not used, must not
be present
A keyword prototype record enables the user to reduce
the number of operands in each LINK-instruction that cor-
responds to the LINK-definition, and to write the operands
in any order. The format for this record is as follows:
Position
14
Name
Operation
Operand
A
A symbol
Operands of the
symbolic
form described.
parameter
separated by
or not
commas or blank
used
Name: The name entry of the prototype statement may
be unused or it may contain a symbolic parameter.
Operation: The symbol in the operation entry is the
mnemonic operation code that must appear in all LINK-
instructions that refer to this LINK-definition.
MEND-LINK-Definition End Record
The LINK-definition end record denotes the end of and
must be placed after, the LINK-definition. The format
for this record is as follows:
Position
1
8
14
Name
Operation
Operand
Not used
MEND
Not used, must not
be present
Operand:
• Each operand must consist of a symbolic parameter, im-
mediately followed by a dash and optionally followed
by a value.
• A value that is part of an operand must immediately
follow a dash. If there is no value, a blank, or comma,
and another keyword operand must follow the dash.
• Anything that may be used as an operand in a LINK-
instruction except variable symbols, may be used as a
value in a keyword prototype record.
• The symbolic parameters are used in the LINK-
definition to represent the name entry and operands of
the corresponding LINK-instruction.
8-4
System Configuration Statement
Operand:
The system configuration statement is used by the user to
specify the values for the keywords that appear in the
operand of the keyword prototype record. The format for
the system configuration statement is as follows:
Position
1
8
14
Name
Operation
Operand
A symbol,
or not used
Mnemonic
Zero or more oper-
ands of the form
described, separated
by commas
Name:
• If a symbolic parameter appears in the name entry of
the keyword prototype record, and the name entry of
the LINK record contains a symbol, the symbolic
parameter is replaced by the symbol. If the name entry
of the LINK record is unused, the symbolic parameter
is replaced by a null character value.
• If a symbolic parameter appears in the operand of the
keyword prototype record, and the LINK record con-
tains a keyword that corresponds to the symbolic
parameter, the value assigned to the keyword replaces
the symbolic parameter.
• If a symbolic parameter was assigned a value by a key-
word prototype record, and the LINK record does not
contain a keyword that corresponds to the symbolic
parameter, the standard value assigned to the symbolic
parameter is replaced by a null value with an undefined
attribute.
• Each operand consists of a keyword immediately fol-
lowed by a dash sign and an optional value. Nested
keywords are not permitted.
• A keyword consists of one through six letters and digits,
the first of which must be a letter.
• The keyword part of each keyword LINK record oper-
and must correspond to one of the symbolic parameters
that appears in the operand of the keyword prototype
record. A keyword corresponds to a symbolic parameter
if the characters of the keyword are identical to the
characters of the symbolic parameter that follow the
ampersand.
• The operands in a system configuration statement may
be written in any order. If an operand appeared in a
keyword prototype record, a corresponding operand
does not have to appear in the system configuration
statements.
The following is an example of a complete LINK-Definition.
Note that the symbolic parameters that are found in the
model records appear in the keyword prototype record and
were originated by the user's system configuration state-
ments. The model records are generated by the system and
change only to reflect the values found in the keyword
prototype record.
Position t
Statement
Header
Prototype
Model
Model
Model
Model
END
14
Name
Operation
Operand
LINK
&NAME
MOVE
&P=&S=&R1=&R2=
&NAME
ST
&R1,&S.(,&R2)
L
&R1,&P.B
ST
&R1,&P.A
L
&R1,&S.(,&R2)
MEND
Introduction 8-5
TABLE Record
ANOP Record-Assembly No Operation
A TABLE record is used to assign a value to its associated
variable symbol. The format for this record is as follows:
Position
14
Not used
TABLE
A variable symbol
D
TABLE Definition Record
The TABLE definition records are used to define the values
that are to be assigned by the TABLE record. At least one
TABLE definition record must follow a TABLE record.
The format for the TABLE definition record is as follows:
Position
13 14
Argument
b
Value
The ANOP record facilitates conditional and unconditional
branching to records named by symbols or variable symbols
located within the name field. The format for the ANOP
record is as follows:
Position
1
8
14
Name
Operation
Operand
A sequence
symbol
ANOP
Not used, must not
be present
AIF Record-Conditional Branch
The AIF record is used to alter conditionally the sequence
in which the LINK-definition records are processed. The
format for the AIF record is as follows:
TEXT Record
The TEXT record must be specified and is used to indicate
the beginning of the conditional processing instructions.
The valid records that can appear ahead of the TEXT record
in the job stream are: LINK, LINK-prototype, GBLB,
LCLB, TABLE and TABLE definition records. If any of
these records appear after the TEXT record, they will be
considered invalid and an error will result. The format for
the TEXT record is as follows:
Position
Position
1
8
14
Name
Operation
Operand
Not used
TEXT
Not used
AGO Record— Unconditional Branch
The AGO record is used to unconditionally alter the se-
quence in which the source library LINK-definition records
are processed by the System Generation Pre-Processor pro-
gram. The format for the AGO record is as follows:
Position
1
8
14
Name
Operation
Operand
A sequence
symbol or
not used
AGO
A sequence symbol
1
8
14
Name
Operation
Operand
A sequence
symbol or
not used
AIF
A logical expression
enclosed in paren-
theses, immediately
followed by a
sequence symbol
The sequence symbol, located within the AIF operand,
must immediately follow the closing parenthesis of the
logical expression. The logical expression in the operand
evaluated to determine if it is true or false. If the expres-
sion is true, the record named by the sequence symbol in
the operand is the next record processed by System Gen-
eration Pre-Processor. If the expression is false, the next
sequential LINK-definition record is processed.
Whenever a compare is issued between operands of the
AIF statement whose lengths (after substitution of vari-
able symbols), are unequal, the compare will be the result
of a length comparison and not the operand contents.
This means that an operand of 001 would be greater than an
operand of 99. Since no attribute checking is done by the
System Generation Pre-Processor for AIF statement oper-
ands (other than for options 1 and 2 below), an operand of
'00 1' would compare equal to an operand of 001. Note also
that the quotes surrounding a character string do not count
toward the length and do not appear in the operand being
compared.
8-6
Option
1 Type Attribute (T') Checking: The following conditions are checked when option 1 is specified.
Note: The user may refer to the type attribute only in the operand of the Al F record.
Condition
AIF(T'&name K NE ) D
W
J
) .A
AIF(T'&name j NE { B ) .B
EQi
AIF(T'&NAME j NE { C ) .D
AIF(T'&NAME ( NE [ " ) .E
<EQ}
Meaning
Al F (T'&name
m r
&NAME1 ) .C
&name numeric?
&name binary?
&NAME character
&NAME specified-i.e. null attribute
Do &NAME and &NAME1 have the
same attributes
Note:
No concatenation of symbols in an AIF operand is supported when T' processing. If
concatenation is specified, it will terminate the Pre-Processor.
2 Binary Condition Checking
3 Value Checking
AIF (& Symbol) . name
Note: Valid only if & symbol is a binary set symbol.
AIF
& symbol
'char string
number
-}
GT
GE
EQ
NE
LT
LE
/ & symbol "j \
< 'char string' > l
v number / /
Note: & symbol = any variable symbol
'char string' = up to 60 characters, enclosed in quotes,
number = up to 60 digits (0-9)
GT = greater than
GE = greater than or equal
EQ = equal
NE = not equal
LT = less than
LE = less than or equal
seq symbol
Introduction 8-7
GBLB or LCLB Set Records
MEXIT Record-Link-Definition Exit
Local set symbols are defined when they appear within the
operand entry of a LCLB record. Global set symbols are
defined when they appear within the operand entry of a
GBLB record. The format for both the LCLB and GBLB
records is as follows:
Position
1
8
14
Name
Operation
Operand
Not used,
must not
be present
GBLBor
LCLB
One or more variable
symbols that are to be
used as global or local
binary SET symbols
separated by commas
SETB Record-Set Binary
The SETB record may be used to assign the binary value of
or 1 to a SETB symbol referenced within the name field.
The format for the SETB record is as follows:
Position
1
8
14
Name
Operation
Operand
A SETB
symbol
SETB
AOor 1
The MEXIT record is used to indicate that processing of a
LINK-definition is to be terminated with this record. The
format for the MEXIT record is as follows:
Position
1
8
14
Name
Operation
Operand
A sequence
symbol or
not used
MEXIT
Not used, must not
be present
MNOTE Record
The MNOTE record may be used to generate a message and
to indicate what error severity, if any, is to be associated
with the printed message. The format for the MNOTE rec-
ord is as follows:
Position
1
8
14
Name
Operation
Operand
A sequence
symbol or
not used
MNOTE
SC or SC,
'message'
L
The operand entry of the MNOTE assembler-instruction may be
written in one of the following forms:
1. Severity-code
2. Severity-code, 'message'
Severity code - a 2-digit response - any characters other than
blank are valid.
Message - up to 60 characters, enclosed in quotes.
Comment Records
The comment record is used to generate comments just as
other model records are used to generate program control,
OCL, or other record types. The format for the comment
record is as follows:
Position
1
8
14
Name
Operation
Operand
* THIS STATEMENT WILL BE GENERATED
* THIS ONE WILL NOT BE GENERATED
Model Records
The model records are those records that are generated by
the System Generation Pre-Processor program to be exe-
cuted in such a manner that the user specified system will
be generated. The format of the model record is as follows:
Position
14
Name
Operation
Operand
Unused,
Any non-
symbol,
LINK
sequence
processor
symbol.
statement
or variable
I J
8-8
SYSTEM RESIDENCE DISK PACK ORGANIZATION
The user of the IBM System/3 Disk Systems can have three
types of disk packs:
1 . A system pack — This disk pack contains the system,
IPL programming and system libraries (object and
source). If the user has ordered co-resident systems
(System/3 BASIC and disk system management for
Model 6 only), both systems reside on the same pack.
See IBM System I 3 Model 6 BASIC Interactive System
Program Logic Manual, LY34-0001.
2. User library pack — This disk pack contains just
libraries without the system.
3. User data pack - This disk pack contains the user's
data without either libraries or the system.
Figure 8-1 illustrates the organization of the user's system
disk pack. This diagram is a directory to the various parts
of this book that describe the individual areas in greater de-
tail.
Cylinder
1-3
IPL Bootstrap-(START)
Configuration Record-See Figure A-5 for Configuration format
Volume Label System Directory— See Figure A-6 for directory format
Error Logging Area
Volume Table of Contents-See Figures A-8 and A-9 for VTOC format
Reserved
Program Logging Sectors
Nucleus Initialization Program— (I PLN IP)
PTF Logging Sector
Alternate Tracks
BASIC System Work Area and BASIC System Program File (co-
resident system). Present only if user has a co-resident system.
Source Library Directory— See Figure A-26 for directory format
Source Library— See Figure A-27 for source library entry format
Scheduler Work Area-See Figure A-7 for SWA format
Object Library Directory— See Figure A-20 for directory format
Object Library— See Part 2 Linkage Editor of this document
User Area
Figure 8-1. Map of the System Residence Organization
Sector
1
2
3-8
9-23
24-35
36-38
39-46
47
+
Introduction 8-9
SYSTEM REQUIREMENTS Model 6 System:
The following devices are required to support the System • One 2275 Keyboard (Model 3)
Generation program.
• One 5213 Printer (Model 3)
Disk System:
• One 5406 Processing Unit (8K)
• One 5203 line Printer (Model Al)
• One 5444 Disk Storage Drive (Model 2)
• One 5410 Processing Unit (Model A13)
• One 5424 Multi-Function Card Unit (Model 1
• One 5444 Disk Storage Drive (Model 2)
8-10
Section 2. Method of Operation
The overall flow of logic for the System Generation pro-
gram is illustrated in Figure 8-2. As indicated, the System
Generation-Phase One ($SGEN for Disk System or
$SGENB for Model 6 System) routine obtains the user's
system configuration from the responses on the control
cards. Phase one in turn passes this information on to the
first phase of the System Generation Pre-Processor Main-
line ($SGROC). This mainline ($SGROC) remains in main
storage throughout phase one of System Generation. The
mainline ($SGROC) calls in five other routines to perform
the following functions:
• $SGMN1 -Builds the variable symbol table
• $SGMN2-Updates the variable symbol table
• $SGMN3-Controls processing of action statements
• $SGAIF— Processes the action control statements
• $SGMST-Translates the model statements
The configuration output from $SGROC is recorded in a
file on disk file Fl . This file is then used as the input to
the System Generation-Phase Two ($SGEN1) routine.
This phase creates a new configuration record, builds the
procedures necessary for any optional SCP support genera-
tion and produces the linkage editor input file ($WORK).
Method of Operation 8-11
From
Scheduler ($$INP2)
START *■»
Disk I
System . I
H_
// CALL $SGPCH, R1
From
Scheduler <$$INP2)
START *»>
Model 6 I
System I
| //CALL $SGCAL, R1 |
$SGPCH
A source library procedure
that punches SYSGEN Card
Deck
=a
System
Generation
Card Deck
//CALL $SGEN, R1
H
Modified
by user
I
$SGCAL
A source library procedure that
calls:
$SGKBD
SSGBSV
SSGENB
$SGKBD Chart MA
Keyboard Selection Routine
• Moves keyboard image selected
by user to Supv.
• BUFR1.BUFR2, BUFR3
$SGEN Chart MC
System Generation — Phase One
• Reads user— modified SYSGEN cards, one
at a time
♦ IF // ENDHBH^^ C
* COMMON, MACOUT
P
$SGBSV Chart MB
Co-Resident System Analyzer
• Reserves area for BASIC,
if requested
* BSAREA, BSBUFF, BSFI LE
$SGENB Chart MD
System Generation — Phase One
• Prompts user for configuration information
• Reads user responses
♦ IF // ENDBMMH^ C
* COMMON, DISPLIO
I
-y
$SGROC Chart NA
SYSGEN Preprocessor Mainline— Phase One
• Transfers control to proper processor:
♦ If global, prototype statement wmmam^^mm
+ If table, table definition statement I
+ If action statement ^■■■■mmh
+ If AIF statement ■■■■^^^^■H
+ If model statement a^^^^^H^^BBMBI^MIM^HH
* COMMON, MACOUT, RDPARM, INBUF, OUTBUF, SWADR
Return To Caller —
f Exit to 1
\^ $$SPEJ J
! End Of Job
Transient
I
| //CALL$SGEN1, R1 |
t
$SGEN1 Chart ME
System Generation— Phase Two
• Processes phase one output
• Creates Linkage Editor input file
• Creates new configuration record on F1
• $WORK, COMMON, MACOUT
t
f Exit to ^
V $$SPEJ j
End of Job
Transient
u
$SGMN1 Chart NB
Preprocessor Mainline— Phase Two
• Directs processing of GBLB, LCLB, prototype, conf ig.
_*_ RDPARM, CO^MOj^VARTAB^SPVROT
"$SGBBL NW "GBLB, LCLB procesTo"
$SGROT NL Prototype processor
$SGOPR NM Operand processor
$SGMN2 Chart NC
Preprocessor Mainline— Phase Three
■ Directs processing of table and table definition
*_ RDPARM,j;pMMON,_BUFFR1
$SGTBL NR Table statement processoT - *
$SGDEF NS Table definition processor
$SGMN3 Chart ND
Preprocessor Mainline— Phase Four
• Directs processing of AGO, SETB, MNOTE
* RDPARM, COMMON, BUFFR1, VARTAB
$SGPGO NT AGO statement processor" ~"
SSGSET NV SETB statement processor
$SGNTT NU MNOTE statement processor
^^\ $SGAIF Chart NN
AIF/Blank Statement Processor
Directs translating variable symbols on Al F
RDPARM^OMMONj BUF F RJ ,_VARTAB_
$SGSUB
$SGAGO
NP Substitute processor
NT AGO statement processor
$SGMST Chart NO
Model Statement Processor
• Directs processing of model statements
-- j^9J'ARM,_COM_MJDN ! _BUFFR 1_, SVPROT
"$SGSUB" NP Substitute processor
LEGEND:
• Major Functions or Objectives
♦ Major Branches
-k Data Areas Used (see Appendix C
for meaning of abbreviations)
Control Flow
=>
Major subroutines are listed under
dashed lines in blocks.
Figure 8-2. Main Logic of System Generation for Disk and Model 6 Systems
| 54040
8-12
Section 3. Program Organization
This section describes in detail the organization of the Sys-
tem Generation routines shown in Figure 8-2. Included in
the following discussions are:
• Description containing: name of the routine, input,
output, function, exits (both normal and error) from
the routine.
• Main storage maps showing the routines that are in main
storage at the same time as the routine being described.
• Flowchart showing the functional flow of the routine
being described.
SYSTEM GENERATION
► Co-Resident System Analyzer ($SGBSV)-Model 6 System
Routine Only
CHART: MB
FIGURE: 8-3
ENTRY POINT: SGBSV
FUNCTION: Determines by OCL SWITCH parameter if a
co-resident system is to be generated and saves space
for BASIC if necessary. A switch setting of X'CO'
means to save space for BASIC. A switch setting of
X'80' means not to save space for BASIC.
INPUT: UPSI switch
OUTPUT: Disk space for BASIC is reserved.
EXIT:
- Normal: End of Job Transient ($$SPE J)
- Error: Supported Halt/Syslog routine
► Keyboard Selection Routine ($SGKBD)-Model 6 System
Routine Only
CHART: MA
FIGURE: 8-3
ENTRY POINT: SGKBD
FUNCTION:
- Allows the user to select the appropriate 64-byte
EBCDIC keyboard image table for the keyboard.
- Moves the chosen table to the keyboard area in the
supervisor.
- Sets the appropriate byte in the configuration record.
INPUT: A response from the operator (a digit of 1 through
9) indicating one of the following tables:
1 . Domestic (English)
2. Austria/Germany
3. Belgium/ France
4. Denmark
5. Norway
6. Finland/Sweden
7. Spain
8. Brazil/Portugal
9. United Kingdom
(See Appendix A Data Area Formats for a complete
listing of the tables.) If no response is given, the de-
fault value is to the image table already in use.
OUTPUT: The appropriate translate table is in the super-
visor.
EXIT:
- Normal: End of Job Transient ($$SPEJ)
- Error: Halt/Syslog Routine
X'OO'
X'100'
Supervisor
I
I Transient Area:
3K
L
J
Variable:
Keyboard Selection Routine ($SGKBD)
or
Co-Resident System Analyzer Routine ($SGBSV)
or
System Generation-Phase Two ($SGEN1)
■\-
Figure 8-3. Main Storage Map for $SGKBD, $SGBSV, or $SGEN1
Program Organization 8-13
► System Generation-Phase One ($SGEN for the Disk
System, $SGENB for the Model 6 System)
CHART: MC (Disk System)
MD (Model 6 System)
FIGURE: 8-4
ENTRY POINT: SYSGEN (Disk System)
SGENB (Model 6 System)
FUNCTION:
- $SGENB prompts and allows the user to modify the
system configuration statements.
- Reads and logs the system configuration statements,
one statement at a time, into the Sysin input buffer
(COMMON).
- Passes the address of this buffer to the Pre-Processor
Mainline ($SGROC).
INPUT:
- Disk System: User-modified system configuration,
card deck read from the MFCU
- Model 6 System: User-modified system configura-
tion statements via the keyboard
OUTPUT: The address of the system generation communi-
cation region (COMMON) is passed to the Pre-
processor Mainline ($SGROC).
EXIT:
- Normal: End-of-Job transient ($$SPEJ) after the
// END statement has been processed
- Error:
1 . If the note error switch (NOTESW) located in
the system generation communication region
(COMMON) is on when control is returned
from the Pre-Processor Mainline ($SGROC),
$SGEN or $SGENB passes control to the sup-
ported Halt/Syslog routine.
2. If there is a read error, $SGEN or $SGENB
halts and displays the error code of '0'.
X'OO'
X'100'
3K
Supervisor
"Transient Area:
I
' Source Library Get ($$SYSG)
System Generation Communication Region
(COMMON)
Data Management (DMCSOP)
System Generation Error Note Processor ($SGNOT)
Pre-Processor Mainline— Phase One ($SGROC)
V
Figure 8-4. Main Storage Map for System Generation- Phase One
($SGEN for Disk System or $SGENB for Model 6)
8-14
• System Generation-Phase Two ($SGEN1)
CHART: ME
FIGURE: 8-3
ENTRY POINT: GEN1
FUNCTION:
- Processes output file MACOUT of Pre-Processor.
- Creates a new configuration record on disk pack Fl .
- Builds the procedure required for any optional SCP
support generation.
- Creates a linkage editor input file ($WORK) used to
obtain a new Supervisor.
INPUT: Records located in the System Generation-Phase
One output work file (MACOUT)
OUTPUT:
- Linkage editor input file ($WORK) is built on disk
pack Fl
- The configuration record built on disk pack Fl
- Procedure containing library maintenance-copy
statements for. optional system control programs
(SCP) built on disk pack Rl
- Sets the SYSGEN byte (NCSGEN) on, this byte is
located in the system communication region
EXIT:
- Normal: End-of-Job transient ($$SPEJ)
- Error: Supported Halt/Sy slog routine
► System Generation Error Note Processor ($SGNOT)
CHART: MF
FIGURE: 8-4
ENTRY POINT: $SGNOT
FUNCTION:
- Loads the parameter list for the supported Halt/Syslog
routine with a severity code and error text (See Halt/
Syslog Procedure in Appendix A. Diagnostic Aids).
- Sets the note error switch (NOTESW) located in the
system generation communication region (COMMON).
INPUT:
- Register 1 contains the address of the system genera-
tion communication region (COMMON).
- The address of the note buffer is located at the label
NERMES within COMMON.
OUTPUT: Address of the halt parameter list (HLTBKT)
located in $SGNOT
EXIT: Calling routine
Program Organization 8-15
PRE-PROCESSOR ROUTINES
► Pre-Processor Mainline-Phase One ($SGROC)
CHART: NA
FIGURE: 8-4,8-5
ENTRY POINT: $SGROC
FUNCTION:
— Acts as the Pre-Processor Mainline driver. Once the
Pre-Processor is called, this routine ($SGROC) is
loaded in main storage and remains there until all the
system configuration statements have been processed.
— Calls five routines ($SGMN1, $SGMN2, $SGMN3,
$SGAIF, and $SGMST) to perform the pre-processor
functions.
— Passes the address of the pre-processor communica-
tion region (RDPARM) to the above routines via
register 1 .
INPUT: Register 1 contains the address of the system gen-
eration communication region (COMMON).
OUTPUT: Translated model statements are written into
the requester's assigned output file (MACOUT),
located on disk pack Fl .
EXIT:
— Normal: Phase one of the System Generation-Phase
One ($SGEN for Disk System or $SGENB for Model
6)
— Error:
1 . Error section (C ALLNP), located in $SGROC ,
if an error is located in the system configuration
statement
2. Error section (SETNOT), located within the
Pre-Processor Mainline ($SGROC), if a pre-
processor error occurs
► Pre-Processor Mainline-Phase Two ($SGMN1)
CHART: NB
FIGURE: 8-5
ENTRY POINT: $SGMN1
FUNCTION: Directs the processing of the GBLB, LCLB,
prototype, and system configuration statement key-
word operands.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the system configuration statement
(located within RDPARM)
- The address of the GBLB, LCLB and prototype pre-
processor statements (located within RDPARM)
OUTPUT: Keyword operands and GBLB entries are placed
within the variable symbol table.
EXIT:
- Normal: Phase one of the Pre-Processor Mainline
($SGROC)
- Error: Error section (SETNOT located within the
Pre-Processor Mainline ($SGROC)
X'OO'
X'100'
3K
Supervisor
Transient Area:
Source Library Get ($$SYSG)
System Generation Communication Region
(COMMON)
System Generation— Phase One ($SGEN for Disk
System or $SGENB for Model 6)
Data Management (DMCSOP)
System Generation Error Note Processor ($SGNOT)
Pre-Processor Mainline-Phase One ($SGROC)
Read Pre-Processor LINK Statement Routine
($SGRED)
Get Variable Symbol Routine ($SGGSY)
Variable Symbol Table— Find/Build Routine
($SGVST)
Pre-Processor Mainline— Phase Two ($SGMN1)
Global Statement Processor ($SGGBL)
Prototype Statement Processor ($SGROT)
LINK Statement Processor ($SGSTM)
• Keyword Operand Processor ($SGOPR) I
' Character String-Check/Build Routine ($SGCSB) I
I Number-Check/Build Routine ($SGNCB) |
(Variable Symbol Table-Value Build ($SGGVA) _j
V^
Figure 8-5. Main Storage Map for Phase Two Routines
8-16
► Pre-Processor Mainline-Phase Three ($SGMN2)
CHART: NC
FIGURE: 8-6
ENTRY POINT: $SGMN2
FUNCTION: Directs the processing of the pre-processor
TABLE and TABLE definition statements.
INPUT:
- The address of the pre-processor communciation
region (RDPARM), in Register 1
- The address (located with RDPARM) of the input
buffer (BUFFR1) that contains the TABLE and
TABLE definition statements
OUTPUT: Updated variable symbol table
EXIT:
- Normal: Phase one of the Pre-Processor Mainline
($SGROC)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
X'OO'
X'100'
3K
Supervisor
Transient Area:
"I
L_
Source Library Get ($$SYSG)
System Generation Communication Region
(COMMON)
System Generation-Phase One ($SGEN for Disk
System or $SGENB for Model 6)
Data Management (DMCSOP)
System Generation Error Note Processor ($SGNOT)
Pre-Processor Mainline-Phase One ($SGROC)
Read Pre-Processor LINK Statement Routine
(SSGRED)
Get Variable Symbol Routine ($SGGSY)
Variable Symbol Table-Find/Build Routine
($SGVST)
Pre-Processor Mainline-Phase Three ($SGMN2)
TABLE Statement Processor ($SGTBL)
TABLE Definition Processor ($SGDEF)
Character String-Check/Build Routine ($SGCSB)
Number-Check/Build Routine ($SGNCB)
Variable Symbol Table-Value Build Routine
(SSGGVA)
^V
Figure 8-6. Main Storage Map for Phase Three Routines
Program Organization 8-17
Pre-Processor Mainline-Phase Four ($SGMN3)
► Get Variable Symbol Routine ($SGGSY)
CHART: ND
FIGURE: 8-7
ENTRY POINT: $SGMN3
FUNCTION: Controls the processing of the AGO, ANOP,
MEXIT, MEND, MNOTE and SETB action (condi-
tional) processing statements.
INPUT:
- The address of the pre-processor communication
region (RDPARM) in Register 1
- The address of the input buffer (BUFFR1) (located
at label BUFF within RDPARM) containing the pre-
processor statement
OUTPUT: The output is dependent upon the statement
processed:
- AGO - Causes the Pre-Processor to read pre-
processor statements from the source
library until a match, for its (AGO)
sequence-symbol, is found.
- MNOTE- An error message is returned via BUFFR1
located in $SGROC.
- SETB - Searches the variable symbol table for the
GBLB and LCLB referred to on the SETB
statement. Sets the binary value of the
found GBLB and LCLB either on or off.
- ANOP - Reads the next pre-processor statement.
- MEXIT - Returns control to caller (indicates logical
end or pre-processor statements for this
source library entry).
- MEND - Returns control to caller (indicates physical
end of pre-processor statements for this
source library entry).
EXIT:
Normal: Phase one of the Pre-Processor Mainline
($SGROC)
Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
CHART: NE
FIGURE: 8-5,8-6,8-7
ENTRY POINT: $SGGSY
FUNCTION:
- Takes a variable symbol and builds it in an output
buffer (OUTBUF). (Variable symbols start with &.)
- Computes the symbol length and stores the length
along with the symbol in the output buffer
(OUTBUF).
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The addresses of the input (BUFFR1) and output
(OUTBUF) buffers are located within the pre-
processor communication region (RDPARM) at the
labels BUFF and OUTBUA
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► Variable Symbol Table-Find/Build Routine ($SGVST)
CHART: NF
FIGURE: 8-5,8-6,8-7
ENTRY POINT: $SGVST
FUNCTION:
- Takes the variable symbol located in the output buf-
fer (OUTBUF) and searches the variable symbol table
for a matching entry.
- If no match is found, the build switch (VSTBSW)
located in the pre-processor switch area is tested. If
the switch is on, the symbol is added to the variable
symbol table.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the variable symbol table, located at
the label VSTST within RDPARM
- The address of the variable symbol buffer (OUTBUF),
located at the label (OUTBUA) within RDPARM
OUTPUT:
- The address of the current symbol entry is placed in
the pre-processor communication region (RDPARM).
- The current symbol entry is placed within the variable
symbol table.
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
8-18
► Variable Symbol Table- Value Build Routine ($SGGVA)
CHART: NG
FIGURE: 8-5,8-6,8-7
ENTRY POINT: $SGGVA
FUNCTION: Takes the value built in the output buffer
(OUTBUF) and places it in the variable symbol table
opposite the corresponding symbol name.
INPUT:
— Trie address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the output buffer (OUTBUF), located
at the label OUTBUA of RDPARM
OUTPUT: The variable symbol table is updated. (The value
is placed in the VST located at label VSTENT within
RDPARM opposite its corresponding variable symbol
name.)
EXIT:
— Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► Number-Check/Build Routine ($SGNCB)
CHART: NH
FIGURE: 8-5,8-6
ENTRY POINT: $SGNCB
FUNCTION: Builds a number, with corresponding length
and attribute, in the output buffer (OUTBUF).
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the first byte of the input number,
located at the label OUTGSY of RDPARM
- The address of the output buffer (OUTBUF), located
at the label OUTBUA of RDPARM
OUTPUT: The output buffer (OUTBUF) contains a num-
ber (0-60 bytes in length) and its corresponding
attribute.
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
X'00'
X'100'
3K
Supervisor
' Transient Area:
Source Library Get ($$SYSG)
l_
J
System Generation Communication Region
(COMMON)
System Generation-Phase One ($SGEN for Disk
System or $SGENB for Model 6)
Data Management (DMCSOP)
System Generation Error Note Processor ($SGNOT)
Pre-Processor Mainline— Phase One ($SGROC)
Read Pre-Processor LINK Statement Routine
($SGRED)
Get Variable Symbol Routine ($SGGSY)
Variable Symbol Table-Find/Build Routine
($SGVST)
Pre-Processor Mainline— Phase Four ($SGMN3)
AGO Statement Processor ($SGAGO)
SETB Statement Processor ($SGSET)
MNOTE Statement Processor ($SGNTT)
Character String-Check/Build Routine ($SGCSB)
A^
Figure 8-7. Main Storage Map for Phase Four Routines
Program Organization 8-19
Character String-Check/Build Routine ($SGCSB)
► Link Statement Processor ($SGSTM)
CHART: NI
FIGURE: 8-5,8-6
ENTRY POINT: $SGCSB
FUNCTION: Builds a character string, with its correspond-
ing attribute and length, in the output buffer
(OUTBUF).
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the starting quote of the character
string, located at the label OUTGSY of RDPARM
- The address of the output buffer (OUTBUF), located
at the label OUTBUA of RDPARM
OUTPUT: The output buffer (OUTBUF) contains the char-
acter string with its corresponding attribute and length.
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
CHART: NK
FIGURE: 8-5
ENTRY POINT: $SGSTM
FUNCTION: Processes the LINK statement and loads the
prototype statement into the save buffer (SVPROT).
The prototype statement resides in SVPROT until all
of the GBLB and LCLB statements have been proc-
essed.
INPUT: Register 1 contains the address of the pre-
processor communication region (RDPARM).
OUTPUT: The prototype statement is loaded into the
save buffer (SVPROT) located at label PROTSV
within RDPARM.
EXIT:
- Normal: Calling routine ($SGMN1)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► Read Pre-Processor Statement Routine ($SGRED)
CHART: NJ
FIGURE: 8-5,8-6,8-7
ENTRY POINT: $SGRED
FUNCTION: Reads the source pre-processor statements
from the appropriate source library entry.
INPUT
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the Source Library-Get transient
($$SYSG), located at the label PA of RDPARM
OUTPUT: The pre-processor statements are read into
the output buffer (BUFFR1) located at label BUFF
within RDPARM from the source library
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
Prototype Statement Processor ($SGROT)
CHART: NL
FIGURE: 8-5
ENTRY POINT: $SGROT
FUNCTION: Directs the building of the prototype state-
ment entries in the variable symbol table.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The prototype statement is located in the save buffer
(SVPROT) located at label PROTSV within RDPARM
OUTPUT: The prototype statement entries are built in the
variable symbol table.
EXIT:
- Normal: Pre-Processor Mainline ($SGROC)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
8-20
► Keyword Operand Processor ($SGOPR)
► AIF Statement Processor ($SGAIF)
CHART: NM
FIGURE: 8-5
ENTRY POINT: $SGOPR
FUNCTION:
— Takes the keyword operands and values from the
PROTOTYPE Statement, located in BUFFR1 and
the system configuration statements, passed from
$SGEN (Disk System) or $SGENB (Model 6) in the
buffer (COMMON).
— Builds the variable symbol table entries.
INPUT:
— Trie address of the pre-processor communication
region (RDPARM), in Register 1
— The address of the prototype statement, located at
the label PROTSV in RDPARM
— The address of the buffer (COMMON) containing the
system configuration statements, located at the label
COMMON within RDPARM
OUTPUT: The variable symbol table contains the entries
and values obtained from the prototype and system
configuration statements.
EXIT:
— Normal: Prototype Statement Processor ($SGROT)
— Error:
1 . Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC) if an error is found in a
prototype statement
2. Error section (CALLNP) of the Pre-Processor
Mainline ($SGROC) if an error is found in a
system configuration statement
CHART: NN
FIGURE: 8-8
ENTRY POINT: $SGAIF
FUNCTION:
— Directs the translating of the variable symbols on the
AIF statement into their respective values.
— Tests to see if the respective values can be resolved
according to the condition stated on the AIF state-
ment.
— Directs the internal conditional processing of the pre-
processor (AIF) statements.
INPUT:
— The address of the pre-processor communication
region (RDPARM), in Register 1
— The address of the AIF statement, located at the label
BUFF in RDPARM
OUTPUT: The output buffer (BUFFR1) contains the next
pre-processor statement to be executed.
EXIT:
— Normal: Pre-Processor Mainline $SGROC
— Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► Model Statement Build Routine ($SGMST)
CHART: NO
FIGURE: 8-8
ENTRY POINT: $SGMST
FUNCTION:
— Reads and analyzes the model statement located in
BUFFR1.
— The variable symbols are replaced by their corres-
ponding values located in the variable symbol table.
— The analyzed model statement is rebuilt, with its re-
placed values, in the save buffer (SVPROT).
INPUT:
— The address of the pre-processor communication
region (RDPARM), in Register 1
— The model statement that is to be analyzed, located
in BUFFR1
OUTPUT: The rebuilt model statement, located in the
save buffer SVPROT
EXIT:
— Normal: Pre-Processor Mainline ($SGROC)
— Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
Program Organization 8-21
► Subfield Analyzer ($SGSUB)
► Table Statement Processor ($SGTBL)
CHART: NP
FIGURE: 8-8
ENTRY POINT: $SGSUB
FUNCTION:
- Analyzes the following data fields, one field at a time.
The following data fields are located on the model
and AIF statements.
Field one— Positions 1-7
Field two— Positions 8-13
Field three— Positions 14-96
- Translates the variables found in the above fields into
their corresponding variable symbol table values.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the first byte of the field to be analyzed,
located at the label INGSY in RDPARM
OUTPUT: The output buffer (SVPROT) contains the
analyzed/translated field.
EXIT:
- Normal: Calling routine
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► Model Statement Output Processor ($SGOUT)
CHART: NQ
FIGURE: 8-8
ENTRY POINT: $SGOUT
FUNCTION: Writes the analyzed model statement into the
output file (MACOUT) designated by the caller
($SGEN for Disk System or $SGENB for Model 6).
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of Data Management, located at the label
ADDMGN within the system generation communica-
tion region (COMMON)
- The address of the DTF output file, located at the
label ADDDTF within the system generation com-
munication region (COMMON)
OUTPUT: The analyzed model statement is located in the
requester's designated output file (MACOUT).
EXIT:
- Normal: Calling routine ($SGMST)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
CHART: NR
FIGURE: 8-5
ENTRY POINT: $SGTBL
FUNCTION: Takes the variable symbol, located in posi-
tions 14-20 on the TABLE statement, and locates or
builds an entry for it in the variable symbol table.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the TABLE statement, located at the
label BUFF within RDPARM
OUTPUT: The address of the variable symbol (found/
built), located at the label VSTENT within RDPARM
EXIT:
- Normal: Calling routine ($SGMN2)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline (SSGROC)
► Table Definition Processor ($SGDEF)
CHART: NS
FIGURE: 8-8
ENTRY POINT: $SGDEF
FUNCTION:
- Using the value from the variable symbol table lo-
cated at label VSTENT, $SGDEF reads the TABLE
definition statements into an input buffer (BUFFR1).
These statements are read until a match is located
(columns 1-12).
- The argument (columns 14-96), on the matched
TABLE definition statement (located in BUFFR1),
replaces the matched value in the variable symbol
table.
INPUT:
- The address of the pre-processor communication
region (RDPARM), in Register 1
- The address of the variable symbol in the variable
symbol table, located at the label VSTENT within
RDPARM
OUTPUT: Updated variable symbol table
EXIT:
- Normal: Calling routine ($SGMN2)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
8-22
X'OO'
X"IOO'
3K
Supervisor
Transient Area:
L_
Source Library Get ($$SYSG)
_J
System Generation Communication Region
(COMMON)
System Generation— Phase One ($SGEN for Disk
System or $SGENB for Model 6)
Data Management (DMCSOP)
System Generation Error Note Processor ($SGNOT)
Pre-Processor Mainline-Phase One ($SGROC)
Read Pre-Processor LINK Statement Routine
(SSGRED)
Get Variable Symbol Routine ($SGGSY)
Variable Symbol Table— Find/Build Routine
($SGVST)
Model Statement Processor ($SGMST) or
AIF Statement Processor ($SGAIF)
Model Statement Output Processor ($SGOUT)
Subfield Analyzer ($SGSUB)
A,
Figure 8-8. Main Storage Map for Various Routines
► AGO Statement Processor ($SGAGO)
CHART: NT
FIGURE: 8-7
ENTRY POINT: $SGAGO
FUNCTION:
— Determines if the sequence symbol, located in posi-
tions 1-6, is valid.
— Performs a forward search through the source library
until a matching sequence symbol is located.
— Passes the corresponding pre-processor statement
from the source library to the Pre-Processor Mainline
($SGROC).
INPUT:
— The address of the pre-processor communication
region (RDPARM), in Register 1
— The address of the sequence symbol, located at the
label INGSY within RDPARM
OUTPUT: The address of the pre-processor statement,
with the sequence symbol, located at the label BUFF
within RDPARM
EXIT:
— Normal: Pre-Processor Mainline ($SGROC)
— Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
► MNOTE Statement Processor ($SGNTT)
CHART: NU
FIGURE: 8-7
ENTRY POINT: $SGNTT
FUNCTION: Passes the pre-processor MNOTE statement
(located in BUFFR1) to the System Generation Error
Note Processor ($SGNOT).
INPUT:
— The address of the pre-processor communication
region (RDPARM), in Register 1
— The address of the Error Note Processor, located at
the label ADNOTE located within the system gen-
eration communication region (COMMON)
OUTPUT: The MNOTE statement, passed to the Error
Note Processor ($SGNOT)
EXIT:
- Normal: Calling routine ($SGMN3)
- Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
Program Organization 8-23
► SETB Statement Processor ($SGSET)
► IPL Bootstrap Modify ($SGPRI)-Model 6 Only
CHART: NV
FIGURE: 8-7
ENTRY POINT: $SGSET
FUNCTION:
— Locates the variable symbol, as specified on the SETB
pre-processor statement, in the variable symbol table.
— Loads the SETB value into this variable symbol table
entry.
INPUT:
— The address of the pre-processor communication
region (RDPARM), in Register 1
— The address of the SETB statement, located at the
label BUFF within RDPARM
OUTPUT: The variable symbol table entry is set to either
(off) or 1 (on).
EXIT:
— Normal: Calling routine ($SGMN3)
— Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
CHART: NX
FIGURE: None
ENTRY POINT: SGPR1
FUNCTION: Modifies the IPL Bootstrap according to the
setting of the UPSI switch:
B'l lOOOOOO'-set BASIC as the primary IPL system.
B'lOOOOOOO'-set DSM as the primary IPL system.
INPUT: UPSI switch
OUTPUT: Modified IPL bootstrap
EXIT:
- Normal: End of Job transient ($$SPE J)
— Error: Supported Halt/Syslog routine
► Global and Local Statement Processor ($SGGBL)
► System Verification Message Routine ($SGIVP)
CHART: NW
FIGURE: 8-5
ENTRY POINT: $SGGBL
FUNCTION: Creates LCLB or GBLB entries in the variable
symbol table.
INPUT:
— The address of the pre-processor communication
region (RDPARM)
— The address of the pre-processor statement (LCLB or
GBLB), located at the label BUFF within RDPARM.
OUTPUT: The GBLB or LCLB entries, built in the variable
symbol table
EXIT:
— Normal: Calling routine ($SGMN1)
— Error: Error section (SETNOT) of the Pre-Processor
Mainline ($SGROC)
CHART: None
FIGURE: None
ENTRY POINT: SGVIP
FUNCTION: Prints the following message:
END OF SYSTEM VERIFICATION
INPUT: None
OUTPUT: Printed message
EXIT:
- Normal: End of Job Transient ($$SPEJ)
— Error: None
8-24
SGKBD
****A •)**** **»**
* *
* ENTER *
+ *
***************
****
* 4
* B1 ♦
* 4
****
«****B1 **********
KBDIO.S
****A3*********
* *
* ENTER *
* *
***************
*****B 3 **********
* * * *
* *DIODSi? IOS * *
* *READ WRITE * *
* ROOD- *
r >*
OPERATION
*. . *
I
*. .*
*. . *
****
* NO-
*
AH *
*
****
'
*****BI»********
*
SET ERROR IN
*
IOS OPEHATION
****AS*********
► *
► RETURN *
t *
***************
TO: CALLER
*****************
V BA/01/A1
****C1 **********
HCENTR *
*****************
♦ BA/01/A1
<i****D1 **********
*HCENTR *
*****q 3 **********
■ ****
* *
L->* AU *
* *
****
****CU**** *****
* *
* EXIT *
* *
***************
TO: SUPPORTED HALT/SYSLOG TRANSIENT
*****************
• *•*
* *
* El *->(
* *
****
El
*. TES .* RESPONSE *
.* >*. MORE THAN 1
.* *. DIGIT .*
♦SET ERROR CODE *
* FOR RESPONSE *
* TOO LARGE *
*****************
«****G1 **********
■>*. RESPONSE <
♦ SET ERROR CODE *
♦FOR RESPONSE TO*
♦ LOW *
♦ *
*****************
V BA/01/A1
->*. RESPONSE <
♦SET ERROR CODE ♦
♦FOR RESPONSE TO*
♦ HIGH ♦
♦ ♦
*****************
*****E5 **********
****************
V BA/01/A1
*****p^ **********
♦NCENTR ♦
*****************
*****S 5*** *******
*****************
****
****H1*********
i> EXIT *
***************
*****************
I****
* *
L->* 01 *
*****************
V NA/01/A3
*****H5**** ******
♦KBDIOS 001A3*
*****************
***** jc, *********
*
* MODIFY CONFIG
♦RECORD WITH OP
* RESPONSE
*
****************
Chart MA. Keyboard Selection Routine ($SGKBD)-Model 6 Only
V HA/0 1/A3
»***KS**********
KBDIOS 001A3*
****************
I
j ****
l- > * HI *
****
Program Organization 8-25
SGBSV
****A 1*********
* 4
* ENTER *
* 4
***************
BA/01/A1
*****B 1 ••*»»****»
♦BCBNTB •
* •
♦GET 1DDBESS OF *
* PBOGBAN LEVEL •
* COH •
*«»«»***♦»•*♦**♦*
*
OPSI
SB- 11
•
*
_*
*. .*
* IBS
.• >*. s»
C2 *.
*.
OPSI *. II
10000000 .*-
BASSAV f BA/01/A1
•****D1 *****'***'**
*ICEITI •
BA/01/A1
*****C3 **********
♦NCEHTR •
* *
>* SOPPOHTED ♦ —
♦ HALT/SISLOG *
* BOtlTIHE *
*»«*ca** *******
* *
* EXIT ♦
* 4
***************
JOB CANCELLED
->* G1 «
4i *
• ••*
*****************
BA/01/A1
1**********
*ICEITB _
•CALL 'OPEN* AND*
* OPEN BI3SATE *
* BA/0VA1
«****pi **********
*NCEITB •
* CALL 'CLOSE' *
* AND CLOSE *
* BISSATI PILE *
•••••* ***** •••••*
****
* *
* G1 •->
• 4i
4f*4i*
SGEZIT
■
•***G1*
i*******
•
* EX]
[T
••**•****•*•••*
TO: END OP JOB
TRANSIENT SSSPEJ
Chart MB. Co-Resident System Analyzer ($SGBSV)-Model 6 Only
8-26
SISOEN
****A1 *********
* *
* EHTEB ♦
* *
***************
****
• 4
► B3 *
* 1
****
*****g 1**********
•PBEALLOCATB AND*
* OPEN *
* PBE-PBOCESSOB *
* DISK PILES *
» *
*****************
*****C 1 **********
» *
♦SET OP TO CALL *
* SOPEBYISOB *
* SODBCE LIME *
* *
*****************
*****D1 **********
* •
•SET SISGBI BITE*
* IB SYSTEM *
* COH80H *
* *
*****************
*****BH* *********
* *
* *
->*LOG OUT BUFFEBS*-
* •
* •
*****************
*****C4***» ******
* •
* INDICATE *
->^ABNOBNAL END OP*
* FILE *
* *
*****•*•*******••
I****
* *
->* G2 *
* *
***•
• ***
• •
► F3*
• *
***•
HA/01/A1
• ***
DGEN . __,_.,_.
•****I1 **********
*$SGBOC *
* PBOCESS *
* PBE-PBOCESSOB *
* STATEHEHTS *
*****************
*****************
****
• *
!■->* G2 *
* *
****
*****C5 **********
*****************
*****D5 **********
* •
•SET UP TO CALL *
* 'END' SOOBCE *
* LINK *
* *
*****************
BB3 V NA/01/A1
♦****E5* *********
♦SSGROC *
****
* *
* F 3 «— -,
'
* * A
• *** V
. *.
SWOFF
. *.
F1 *„
*****P2 **********
F3 *.
.* *.
* *
. * *.
.* NOTE *. IES
* TOBB OFF NOTE *
.* IS *. NO
*. EBBOB .*
>* EBBOB SBITCH *
*. THEBE A .* .
•.SWITCH ON.*
A * *
♦.BESPONSE .* 1
*. .*
1 * *
*. .* 1
*. .*
| *****************
*. .* V
* NO
****
* IES ****
****
* *****
1 * •
• *
* F2 * *
* E1 *
* G1 *->
* * G2 *->
* *
* *
***** *
I ****
****
*••*
STSBED
HALT
BA/01/A1
v
*****ei **********
*****G2 **********
*****G 3 **********
* *
*NCENTB *
* *
* *
♦SYNTAX SCAN THE*
*SET OP FOB BEAD*
* SOPPOBTED *
* KEYWOBD ♦
*
*
* HALT/!
SYSLOG *
♦ *
♦ PBOCESS ♦
♦ PBE-PBOCESSOB ♦
♦ STATEMENTS ♦
*****************
*•*•
* •
* F2*
* *
****
*****************
Y BA/01/A1
•****[) 1 **********
♦NCENTB ♦
*****************
*****************
*****************
*****HH**** ******
******* ********<
*****G5* ********
♦ * *
♦ ♦t$CLOZ IOS ♦
♦ * CLOSE ♦
♦ ♦ ROUTINE ♦
♦ * *
****************
*>**|{ 5**** *****
* *
* EXIT *
* *
***************
E
****
» B3 «
****J2 ********
*
* EXIT
t
**************
JOB CANCELLED
*****J3**********
*****************
****
* *
->* G2 *
* *
****
*****K4**********
* *
* INDICATE *
* INVALID *
* BESPONSE *
* *
*****************
I ****
* *
I— >* G2 *
Chart MC. System Generation-Phase One ($SGEN)-Disk System
Program Organization 8-27
SGENB
****}1 *********
* *
* ENTEB *
* *
***************
*****B1 **********
*PBEALLOCATE AND*
* OPEN *
* PBE-PBOCESSOB *
* DISK FILES *
* *
•••****••*******•
**•*
* *
* A3 *-
A3 *
GOOD
*****B 3 **********
* *
* *
♦LOG OUT BUFFER »
* *
* *
*****************
*****A4* *********
*****************
t**«*
♦ *
->* H3 *
* *
• **•
*****C 1 **********
* *
♦SET SIGE1 BYTE *
* IB STSTEH *
» COHHON *
* •
********•*•**••*•
*****D1 **********
* •
* »
•OPERATOR PBOHPT*
* *
* •
*••**•••**•*•**•*
*****g1 **********
***•••••*•*******
*****f 1 **********
* *
•SET OP TO CALL *
* SDPBBTISOB *
* SOOBCE LINK •
* •
***•••••*****•••*
• •*•
» *
* G1 •->!
► *
• •••
NA/01/A1
***** G 1 **********
•SSGROC *
* •
* PBOCESS *
* PBE-PBOCESSOB *
* STATEMENTS •
•••*•••••••••***•
.* NOTE ».
EBROB
•.SWITCH ON.*
BA/01/A1
*****j i**«* ******
•NCENTB •
* — •
* BEAD PEON *
•SCHEDULES NOBK *
* ABEA *
*****************
**•*
> *
► «
* H2 *
* t
****
****************
END *. IES
STATEHENT .*
. BEAD .*
****•••*•**••*•**
**•*
* *
» D3 *->
* *
• ***
**•****••*•*•***•
BA/01/A1
*****£ 3 **********
•NCENTB •
••**••**•*******•
• •*•
• •
• G1 «
• *
*•••
*****G 3 **********
* *
* NOTE BESPOHSE •
* INTO INPUT *-
* BUFFER *
* *
*•**•*•*•••**•••*
HALT BA/01/A1
****•[] 3* *********
*NCENTR *
«****St)* *********
•••*••••**•*•••••
*****C5 **********
* *
♦SET OP TO CALL *
->* »END« SOOBCE *
* LINK *
* *
*****************
' N A/0 1/11
*****q5**«* ******
*SSGBOC *
* . •
* PBOCESS *
* PBE-PBOCESSOB *
* STATEMENTS *
*•••••**••*•••••*
• *.
E5 *.
.* *.
• ROTE
EBROB
•.SNITCH 01.
*. .*
*. .*
• NO
••••
* •
* B2*
* *
»•*•
I :
•***
• *
• H3 *
* *
****
••*•****•*•******
I****
• *
->• G1 •
*****P5**********
• • • *
♦ *SSCLOZ IOS * *
* ♦ CLOSE * *
* * BOOTINE * *
• * * •
••••••••••* ******
•♦♦*G5*********
► •
* EXIT *
► •
••****•••*•••**
*****H5 **********
• *
♦ SET INVALID *
>• BESPOHSE ♦
* DIAGNOSTIC •
* •
••*•••***••**••*•
I****
• *
->* H3 *
• •
• *••
• ***
* *
* D3 *
* *
****
**** K 3*********
t *
* EXIT *
* *
***************
JOB CANCELLED
Chart MD. System Generation-Phase One ($SGENB)-Model 6
8-28
****i1*********
> 4
' EHTBB «
> *
***************
*****************
*«***C1 **********
*****************
•****D1* *********
* •
* SBT SYSGEH BYTE*
* AMD DISK *
* CAPACITY *
02-» 2 ;5g| %
•«•*
G1READ
*i«r***p1**********
* * * *
* +DWCSIP READ* *
r ->* *RECOB0 PBOH* *
•ODTPUT FILB* *
► * *
****************
• *
* *
***
*•
► PI *
► 4
*•**
*****E2*** *******
* SET KEYBOARD *
•IBDICATOR BTTB *
>* IK CONPIG. *
* RECORD *
* *
*****************
* INDICATE READ *
->* ERROR IN HALT *-
* PARM LIST *
* *
*****************
'*****H2 **********
HALT BA/1/A1
*****q3 **********
♦NENTRY *
****C 4 *********
» *
► EXIT *
» *
***************
*****************
1 *****************
* *
*002*02-F1
* H2*
*****
10 s
•****H 3 **********
* * DIODSP * *
* * HRITE OUT * *
>* * Tn g CONPIG * *-
* * RECORD * *
* * * *
*****************
TO:
SUPPORTED
HALT/SYSLOG
ROUTINE
->*
***** nil**** ******
* * $*cloz * *
* * CLOSE * *
SOURCE * *-
LIBRARY
* *
* *
*****************
BA/1/A1
«****(] 5 **********
•NFNTRY *
•*•*•*******•***•
****J5*********
► 4
► EXIT *
* t
***************
*****
*002*
* A1*
♦REPLACE RECORD *
* IMAGE IN I/O *-
* BUFFER *
* *
*****************
*****K2 **********
* * * *
* * DMCSOP * *
->* * BRITE * *
* * RECORD * *
* * * *
*****************
****
* *
->* F1 *
* *
****
Chart ME (Part 1 of 2). System Generation-Phase Two ($SGEN1)
Program Organization 8-29
. *
CONFIG
r ->*.
CARD
1 *
*. . *
*. . *
*
* HO
* *
♦001*
* Jlf*
*****
'
.*.
B1 *.
* *
. *
1ST
*.
TINE THRU
*
*. .*
*. .*
* IBS
* • *****
***************** *001*
* F1*
*****C1 **********
•INDICATE FIRST *
* TIHE 1ND PISS •
•DIRECTORY ENTRY*
* IHFO *
* *
•**•*****••*•****
G01 V KK/1/A1
*****Q1 **********
*$SSTSP *
**••****••****•**
*SET OP TO PISS *
->*SOOHCE DATA TO *
* ItSTSP *
• •
*****************
**•**; 1 **********
* *
•DETERHINE TYPE *
* ERROR. SET •
* EHROR CODE »
* *
**•*•***•*••*•***
*****
•001*
* G3*
* *
'.02 t KK/1/A1
*****P2 **********
*SSSYSP *
*•**•***•**•*****
*****
•001*
* F1*
* DETERMINE AND •
• INDICATE TYPE *
• OF ERROR *
* •
*****************
*****
*001*
* G3*
Chart ME (Part 2 of 2). System Generation-Phase Two ($SGEN1)
8-30
SSGNOT
****A1 *********
* *
* ENTBY *
* 4
***************
*****Q1**********
* *
* *
♦SAVE BEGISTEBS *
* *
* *
*****************
*****C1 **********
* *
* SET SEVEBITlf *
* CODE III HALT *
* PABAHETEB *
* *
*****************
*****D1 **********
* *
♦MOVE ERBOR TEXT*
* CHABS. INTO *
♦HALT PABAHETEB ♦
* *
*****************
*****E1 **********
* *
♦SET HOTE SHITCH*
*****************
*****************
BRNCH
****G1+^*+*+*++
* *
* BETOBN «
.* *
***************
TO: CALLEB
Chart MF. System Generation Error Note Processor ($SGNOT)
Program Organization 8-31
JSGROC
****A1*********
* *
* ENTER *
* ♦
***************
CALLNP
• ***A l»* ********
* *
* ENTER *
* *
***************
SETHOT
****A5 *********
* *
* EHTEB »
* *
***••**•***•***
*****B1**********
* *
* *
* SAVE REGISTERS *
* *
* *
*****************
*****BI»***» ******
* *
* •
* SET EBBOB HSG *
* *
* *
*****************
*****BS **********
*****************
*****C1**********
* *
« SET UP PARM *
* LIST FOB * *
•SOURCE LIB FIND*
* *
•••**•****••*•***
*****£ ^ **********
* SET 3 OP BOTE *
* BUFFER IK *
* REQUESTOR »
* COMMON *
* *
*****************
CALHK1 V NB/01/A1
*****P1 **********
♦SSGMN1 «
* PROCESS *
« GLOBAL/PBOTO. *
* TTPE STMTS. *
*****************
CALNM2 HC/01/A1
*****G2* *********
**SGMB2 *
*****Ci| **********
*****************
BRNROT V MF/01/11
*****D1! **********
♦SSGHOT *
BA/O 1/» 1
•***cs*********
► *
» EXIT *
* *
•*••*•***••**•*
10: SUPPORTED
BH.T/STSLOG
VIA BCEITB
BB TO
BBQOESTOB'S
**** I
* *
* H1 *->!
**** I
LMN3 V ND/01/M
*****01**********
♦JSGMN3 *
*****************
V NN/01/A1
*****K1**********
*SSGAIF *
*****J3********<
V NO/01/A1
t****K2 **********
*«SGNST *
» 4
* J3 *
► *
****
***************
****jit*********
k *
► RETURN *
» »
***************
TO: SYSTEM
GENERATION
PHASE ONE
*****************
***♦
********
********
****
Chart NA. System Generation Pre-Processor Mainline-Phase One ($SGROC)
8-32
****A 1*********
* *
* ENTER *
* 4
***************
*****B i**********
♦SET ADDRESS OF *
* PRE-PROCESSOR *
♦STATEMENT BEAD ♦
* ROUTINE ♦
* ♦
*****************
**«**C 1 **********
♦GET ADDRESS OP ♦
♦SWITCH AREA AND+
♦ ZERO ALL ♦
♦ SWITCHES BUT ♦
♦ FTSW ♦
*****************
*****D1 **********
♦ ♦
♦ SET GLOBAL ♦
♦ SECTION OF ♦
♦ TABLE TO NULL ♦
♦ *
*****************
****
* *
* B2 ♦
* *
****
*****B2 **********
* ♦
♦SET ERROR CODE ♦
*****************
****C2 ♦♦♦♦♦♦♦♦♦
» 4
♦ EXIT *
* *
***************
*****E2 ******♦♦♦♦
* *
* ADD LENGTH OP ♦
->♦ GLOBAL ENTBI ♦
* (10 BITES) ♦
*****************
i ♦**♦
* *
U>* D1 ♦
* *
****
♦ SET 1ST TIME ♦
♦ SWITCH ON AND ♦
♦SETUP PARM LIST^
♦ ♦
*****************
V BA/01/A1
*****G1 **********
♦ NCENTR ♦
* *
♦ DO A FIND AND ♦
♦ GET ON PBE- ♦
♦PROCESSORS LIB ♦
*****************
*****[] 1**** ******
♦ ♦
♦PUT ADDRESS OF ♦
♦READ TRANSIENT ♦
♦ IN LINE ♦
♦ ♦
*****************
'' BA/01/A1
*****j1 **********
♦NCENTR ♦
* *
♦LOAD $$SYSG AND +
♦READ STMT FROM ♦
♦ SOURCE LIB ♦
*****************
*♦**
♦ ♦
♦ B3 ♦
♦ ♦
♦ ♦**
Nlt/01/AI
*****gq**********
♦SSGSTM ♦
******♦♦♦*♦♦♦♦***
GBLAB1 NW/01/A1
♦SSGGBL ♦
*****B5 **********
*******♦♦♦*♦♦♦♦♦♦
*****************
3T V NL/01/A1
♦♦♦♦*D3 **********
♦$SGBOT ♦
* „ *
♦ PROCESS *
♦ PROTOTYPE ♦
♦ STATEMENT ♦
*****************
*****E3 **********
♦ *
♦ SET INPUT ♦
♦ BUFFER START ♦
♦ ADDRESS ♦
♦ ♦
*****************
F3 ♦->
♦
*♦♦♦
***♦
* ♦
♦ B3 ♦
• ♦
♦ ♦♦♦
RESTOR
• ***pl| *********
* *
>♦ EXIT ♦
* ♦
***************
TO: SSGROC
B RE-PROCESSOR
MAINLINE-
PHASE ONE
GBLAB2 V NW/01/A1
*****g 3*** *******
♦ $SGGBL ♦
*****************
t READ NEXT ♦
* PREPROCESSOR ♦
* STMT ♦
* *
*****************
****
* *
!■->♦ F3 ♦
♦ ***
****************
****
* *
* B2 ♦
* ♦
****
Chart NB. System Generation Pre-Processor Mainline-Phase Two ($SGMN1)
Program Organization 8-33
$SGNN2
****A1*********
* *
* ENTER *
* *
***************
*****B1**********
* SAVE CALLEH>S *
* ARB, XB1, AND *
* XR2 *
*****************
* C1 *->
* *
****
TABSTH t NR/01/A1
*****C1 **********
*****************
BHACB1) V
*****D1**** ******
**•*•****•*****•*
• •**
* *
* E1 »->
* *
.*** |
*****g1** ********
*SSGBED *
* BB1
* PBE-PBC
* STB
D *
CESSOB *
I. *
*****************
.* TABLE
->*. III1T
♦.DEFINED?
•****G1 **********
* *
* *
* SET ERBOB EN *
*****G2 **********
' HS/01/A1
k**** ****** ******
****
****H1*********
• *
• EXIT *
• *
***************
TO: ERROR SECTION
-KLINE
(JSGROC)
k****** **********
• TABLE
DEFN. CNTB.
•. >
TXTCK3
. *.
J2
*
. *
TEXT
STNT
*****************
*•**
* •
l->* El *
► •
****
*****K2**********
k*************
BRNCH
+***K 3 *********
* *
- — >* RETURN *
* *
***************
TO: SSGKOC
PRB-PROCESSOK
MAINLINE PHASE ONE
Chart NC. System Generation Pre-Processor Mainline-Phase Three ($SGMN2)
8-34
ISGMN3
****A1*********
* *
* ENTER *
* 4
***************
*****B1**********
SETBCK
At
*
. *
*.
SETB
STMT
NV/01/A1
*****A5 **********
*$SGSET *
************••*••
l_>* D 1 *
*****************
.* HAVE *.
TES
*. ALREADY
*
*. BEAD .*
*. .*
*. .*
* SO
****
* *
* D1 *->
* •
****
ACR3
*****D1 **********
*
*
* READ
*
* PRE-PROCESSOR
* STAT
SHENT
•
*****************
* SET
ALt *
* SWITCHES OFF *
* *
* *
*****************
****
* *
* F1 *->
* *
**** '
TSTEND .*.
F1 *.
.* *.
.* MEND 01 *.
*. HE
[IT . *
****P2*********
* i
* BETUBN *
* *
***************
TO: SSGBOC
PHE-PBOCESSOB
PHASE ONE
G2 *.
*
VALID
*****q 3**** ******
CU *.
•* AMY *.
.♦OTHEB PBE-
. PBOCESSOB
*. STMT
*****Qil* *********
*****************
****E1* ********
• *
• EXIT *
• *
***************
TO: SBTHOT
ERBOB SECTION
OF SSSBOC
AG01 V NT/01/A1
***** H2 **********
**SGAGO *
* PROCESS AGO
* STATEMENT * I
* * 1
***************** v
N0/01/A1
*****j2 **********
*$SGNTT *
*. YES * *
.* >* PBOCESS MNOTE * —
, * * STATEMENT *
* *
*****************
*****************
****f)3*********
* *
* EXIT *
* *
***************
****
*
F1 *
*
• **
BESTOB
****J3*********
* *
>* BETURN *
» * *
**************
TO: SETNOT IN
PBE-PROCESSOB
(SSGBOC)
i **********<
** TO: ISGROC
► * PRE-PBOCESSOR
* J3 * MAINLINE
* * PHASE ONE
I
V
****
* *
* J3 *
* *
** + *
Chart ND. System Generation Pre-Processor-Phase Four ($SGMN3)
Program Organization 8-35
SSGfiST
****A1********«
*
* ENTER
***************
*****B1**********
*****************
*****C1**********
* *
♦GET POINTEB TO *
* LAST BTTE OF *
* INPUT BUFFEB *
* *
*****************
*****D1**********
*****************
*•*•
.*.
El *.
.♦BEYOND *.
EMD OF *
INPUT
. BUFFER . «
► HAS
DELIHITEB
t. PEBIOD
*****C5***« ******
*****************
BBNCH
****D<4 *********
* *
* BETUBH *
* *
*•*•**•****•***
TO: CALLER
TSTCHB
*****F1 **********
* DETERMINE IF *
* CHAB IS *
* DELIHETEB SEE *
* MOTE 1 *
* *
*****************
1 :
***«
* *
* E2 *
* *
****
LAB1
****************
****F2 *********
* *
* EXIT *
* *
***************
TO: SETHOT OF
EBE-PHOCESSOB
SSGBOC
MOTE 1: VALID DELIHITEBS ABB:
BLANK
PEBIOD
COMU
DASH
PLDS
1BPBRSAND
JOAL SIGN
QUOTE
SLASH
LEFT PABBND
BIGHT PABEND
.* OUTPUT *. YES
*. BUFFER .*
*. FULL .*
1
*. **
*. .*
»
* NO
****
*
* E2
****
*****J1**********
* *
♦MOVE INPUT CHAB*
•TO OUTPUT ABEA *
* *
* *
*****************
1 •***
* *
1— >* El *
* *
****
Chart NE. Get Variable Symbol Routine ($SGGSY)
8-36
*SGVST
****A1 *********
* 4
* EHTRT *
* «
***************
r
****
* *
* A2 *
c 4
**•*
***** Atl **********
*****************
*«***B1 **********
* *
*SBT ADDRESS OF *
*8HD OF VARIABLE*
* SYMBOL TABLE *
* *
*****************
*****C1 **********
*<SET ADDRESS OF *
* LAST EHTRT *
* IHSERTED IK *
* VARIABLE •
* STHBOL/TABLE *
*****************
.*ROOH IH*.
.* TABLE FOR *.
THIS
*. EHTRT .*
*****B5 **********
.*.
BHHCH
SE
D1 *.
• *AT EID *.
****D2*********
„*OF VARIABLE*
TES
* *
*„ STHBOL
>* but *
*. TABLE .*
A * *
*. •*
| ***************
*. .*
1
* iro
**** TO: CALLER
»*** i
• *
* *
* D2 *
* El *->|
* *
* * 1
****
«*** V
TSTEHD .*.
HOFIND .*.
.*.
El *.
E2 *.
E3 *.
.* *.
.* *.
.* *.
.,* AT EHD *
*., OF TABLE
*. EHTRIES .*
YES
.* TABLE *. MO
>*
♦PROCESSING *. TES
STSTEH COHFIG.*
*. STMT .*
A *. .*
*. .*
1 *. .*
*. .*
*. .*
*. .*
*. .*
* MO
**** * YES
* NO
1
* * 1 **•*
* E2 * 1 * *
* * <-^>* A2 *
1
**** * *
V
*•**
. *.
TSTGYS .*.
SETERR f
F1 *.
F2 *.
*****F3 **********
.* *.
.* *.
*
*
.,* NATCH *.
TES
.* GLOBAL *. HO
♦INDICATE ERROR *
*» FOUHD
>*. hade .* •
*
IH HAL1
P PABH *
*****Q1|* *********
*■ inru raoLfi » •
* * I
***************** T
*****************
****
* *
* G3*
* *
**••
*****C5***« ******
******••**•**•**•
****
* *
* H4 *
* •
***•
*****gi| ••***•*••*
*****************
VALID
EHTRT IH
. TABLE
♦GET ADDRESS OF *
*PARN AHD SWITCH*
* AREA *
* *
*****************
*****************
• ***
* *
* G3 *->
* *
**•*
31
****G3 *********
* «
* EXIT ♦
* *
*••••**********
TO: SETHOT OF
PREPROCESSOR
SSGROC
****
* *
* J1 *
* *
»***
GETLRN
*****J1 **********
****•*•**••**•*•*
i **
****
******* ••• ******
*****************
****
* *
I— >* E1 *
» *
****
| ****
* *
L->* J1 *
Chart NF. Variable Symbol Table-Find/Build Routine ($SGVST)
Program Organization 8-37
JSGGVA
****A 1*********
* *
* ENTEB *
* *
***************
*****B1**** ******
* ADD ATTRIBUTE *
♦ENTRT TO END OF*
* TABLE *
* *
*****************
*****************
*****C1 **********
♦SET UP TO MOVE *
♦ATTRIBUTE INTO *
♦VARIABLE SYMBOL*
* TABLE *
* *
*****************
****
* *
* F1 *->
* *
****
E1 *.
.♦ENOUGH *.
> ROOH IN <
TABLE
'. SLOT .<
****«D2 **********
* •
* SET ATTBIBUTE *
>* TO HULL AND ♦-
♦LENGTH TO ZERO *
* *
*****************
BUNCH
* *
— >♦ RETURN ♦
♦ *
***************
TO:CALLBR
****
». NO ♦ *
.♦ >♦ A« ♦
> * *
**♦*
♦*«**cn **********
* HOVE *
♦ CORRESPONDING ♦
♦NAHE TO END OF *
♦ TABLE *
* *
•***•*****•**•***
*****D4 **********
• *
* BLANK OOT THE ♦
• PREVIOUS MADE ♦
♦ ENTRY ♦
* *
*****************
*****£<)**«*****•*
* *
♦SET UP TO LOAD *
♦NEXT fALUB INTO*
♦ TABLE ♦
• •
***•*•*♦*••••****
I****
* ♦
->* ri *
• *
*•*•**•******•***
****C5 *********
k *
* EXIT ♦
* *
****•**•****•••
TO:SETNOT OF
PRE-PROCESSOR
SSOBOC
♦ MOVE ATTR ENTRY^
♦ INTO SLOT OF ♦
♦ TABLE ♦
♦ *
*****************
BRSCH
****G1*********
* *
* RETURN *
* *
***************
TO:CALLEK
Chart NG. Variable Symbol Table-Value Build Routine ($SGGVA)
8-38
$SGNCB
****A1*********
* *
* EHTEB *
* *
***************
*****B1 **********
****
* *
* A4 *
* *
****
Durcjjo • * ■
*. .* V
****
* *
* F2 *
* *
*•**
*****************
*****************
FIBST *
YES
INPUT CHAB .
* ,
. - COHHA .*
1
*. .*
1
*. .*
v
* HO
****
1
*
* G1
(
•
****
****
* *
* HI »
* *
****
FIRST
*
NO
INPUT CHUB
* 1
. » BLANK
*
I
*. .*
1
*. .*
♦
* its
1
*•**
*
* J1
*
*•**
•* END OF *. TES
► . INFO IN .*
*. BUFFEB .* I
SETREG
*****p1 **********
* BESTOBE *
* EOINTEBS TO *
* PABH LIST AND *
* INPUT CHAR *
* *
*****************
****
SETNOL
*****Q1 **********
*****************
****
* *
* H1 *
* *
• ***
BHNCH
****H1*********
* *
* RETURN *
* *
***************
TO:CALLER
****
* *
* J1 * .
**** I
SETPTR V
***4*j 1****4****4
* *
♦SET POINTER TO *
* FIRST VALUE *
* LOCATION *
* *
*****************
****
MOVCHH
*****K1**********
* *
♦MOVE VALUE INTO*
* LOCATION FROM *
* INPUT *
* *
*****************
*****£ 3**********
* •
* SET SNITCH TO *
>* INVALID *
* BESPONCE *
* *
*****************
* NO
****
* *
*■ J 2 ■+'->■
* *
***•
R1
*****P2 **********
*****************
****G2*********
► *
► EXIT *
» 4
**************.*
TO:SETNOT OF
PBE-PBOCESSOB
MAINLINE
tSGBOC
****
* *
* HI *
* •
• •**
* NO ****
I**** * *
* * * H1 *
->* in * * *
• * ****
•**•
Chart NH. Number-Check/ Build Routine ($SGNCB)
Program Organization 8-39
JSGCSB
****A1 *********
*
* ENTER
*
***************
t****B1**** ******
*****************
*****C1* *********
SET OP TO TEST *
FIRST CHARACTER*
OP INPOT BUFFER*
****************
****
*
D1 *->
*
****
.*.
D1 *.
.* *.
.* CHAH = *. YES
QOOTE .*
*****D2 **********
*****************
*****************
BOILD
*****g}* *********
* *
* HOVE OMB *
•CHARACTER FROM *
♦IMPOT TO OUTPOT*
* *
*****************
****
* 4
* F1 *->
* 4
*•••
*****p1* *********
* *
* HOVE OUTPOT *
•POINTER AND ADD*
* ONE TO LENGTH *
* •
*****************
*****E 3 **********
• •
•INDICATE LENGTH*
* OF CHARACTER *
* STRING *
• •
••••*******••**•*
BENCH
****F3 *********
* RETURN *
* *
•**•*•****•*•**
TOzCALLEB
(••*•
• •
->♦ F1 *
* END
OF *
NO
OOTPOT
*
*. BUFFER .*
1
*: .*
*. .*
*
* YES
****
*
* D1
*
****
***[)1** ********
*
NDICATE ERROR
*
IN HAL1
PARH
*
*****************
****J1*********
fc
' EXIT
k
***************
TO:SETNOT OF
PKE-PHOCESSCB
S5GR0C
Chart NI. Character String-Check/Build Routine ($SGCSB)
8-40
ISGRED
****A1*********
* 4
* ENTER *
* 4
***************
*****B1 **********
* SAVE
BETUBN *
* ADDRESS *
* *
* *
*****************
****
• *
* C1 *->
* *
***•
BEAD
*****C1 **********
* *
* SET OP *
♦PARAMETER LIST *
* FOB HEAD *
*****************
V BA/01/A1
*****D1 **********
♦NENTHY *
• *
* GET $$SYSG TO *
* READ SOURCE *
* BECOBD *
*****************
*****E2 **********
*****************
*****P2 **********
END OF *. YES
SOUBCE .*
LIBRARY .*
*****************
****F1*********
* *
* EXIT *
* *
***************
TO: SBTNOT OF
PRE-PBOCESSOR
MAINLINE
SSGROC
TSTCMT
*.
G1 *.
.* *.
.* COMMENT . *. YES
*. CARD .* .
*• .* I
*. .*
*. .* V
* NO ****
*
* C1
*
****
BBNCH
/ "
****H1|*********
* *
* BETDRN *
* *
***************
TO:CALLEH
E
Chart NJ. Pre-Processor Statement-Read Routine ($SGRED)
Program Organization 8-41
SSGSTH
****J1*********
* *
* ENTER »
* *
***************
*****B1 **********
*****************
****
* *
* A4 *— ■
* * A
**•* ¥
L00P1 .*
it
*.
.*
.* SIZE
OF
*. VST <
b<l
*****A5**** ******
* *
*. MO * DECREMENT AND *
.* >*ZERO OOT VST BI»
. * * 64 BYTES *
* *
*****************
AT *.
PRE-PROC .<
.STATEBERT.*
LABL2 V RJ/1/A1
*****D1 **********
♦ISGRED *
* *
* READ MBIT *
* PRE-PROCESSOR *
* STATEMENT *
*****************
*****£ 1 **********
* DETERHIRE IP *
•PHOTOTYPE BASE *
*****C2**********
***•••*******•*•*
• ***
* *
* D2 *->
* •
*•**
3L
****D2 *********
* *
* EXIT *
* «
***************
TO:SETHOT OF
PRE-PROCESSOR
MAINLINE
SSGROC
t****
* *
->* A4 *
****
QOIT
*****B5 **********
* GET ADDR OF *
. IES * PABH LIST *
.* >* PBEPROC STMT *
A »AID PROTO SAVE *
* BOFFBB *
****•***•*••*•*•*
*****C^**** ******
* *
* DECBBHEBT ARD *
♦ZERO OOT VST Bt*
* 1 BITE •
* *
**••**•*********•
*****C5**********
* *
•HOVE PROTOTTPE ♦
* STMT TO SAVE •
* BUFFER •
* *
***•*•*•••*****••
BRRCH
****05*********
* *
* RETURI *
* *
*****•*••******
TO:CALLEE
•***•*****•*•****
*****F2 **********
*****************
I****
* •
->* D2 *
• •
***•
*****************
*****H1 **********
* *
♦PLACE NEB STSIR*
* INDEX VALOE *
* INTO VST *
* *
*****************
*****J1 **********
* FIND AND SAVE *
* THE VST START *
* AND END *
* ADDRESSES *
* *
*******•**••****•
>**********
SIZE OF *. NO
VST < 256 .*
. BYTES .*
* DECREMENT AND *
->*ZERO OUT VST BY*
* 256 BYTES *
* *
*****************
Chart NK. Link Statement Processor ($SGSTM)
8-42
JSGHOT
****A 1 *********
* ♦
* ENTER *
* 4
***************
OPLAB1 NH/01/A1
*****A4* *********
**** *$SGOPR *
* * *
k U * >* PROCESS *
* * PROTOTYPE *
»*** * OPERAND *
*****************
*****B1**********
*****************
*****B4**********
♦GET ADDRESS OP *
* PROTOTYPE *
* STATEMENT *
* BUFFER *
* *
*****************
.♦POSITION 1 *. YES
.OF PROTOTYPE .♦
♦. BLANK .♦
*****C2 **********
****************
*****C3**********
*****************
.* BLANK *
.♦ FOUND IN
. POSITION
POSITION 1
*****D2 **********
*****************
****D 3** *******
*• *
* EXIT *
* *
***************
TO: SETNOT OF
PRE-PROCESSOR
MAINLINE SSGROC
*****D* **********
* *
♦GET ADDRESS AT ♦
* SYSTEM CONFIG *
* STMT BUFFER *
* *
*****************
«****£ 1 **********
****************
GETLAB * NE/01/A1
*****pl **********
*$SGGSY *
.* BLANK *.
FOUND IN *. YES
POSITIOH .* 1
*****************
*****************
*****G1**********
♦SET ADDR OF VST*
♦FIND/BUILD AND *
* SET VST BUILD *
* SNITCH ON *
* *
*****************
VSTLAB
*****H1 *•**
*$SGVST
;' NF/01/A1
* BUILD A VST *
* ENTRY KITH *
* SYMBOL *
*****************
I
V
*****J1 **********
* SET VST BUILD *
* SW OFF. SAVE *
* ADDRESS OF *
♦PROTO-LABEL IN *
* VST *
*****************
****
SETPRO
*****K1 **********
* SET IIP TO *
* PROCESS NEXT *
* OPERAND OF *
* PROTOTYPE *
*****************
GETLB2 # NE/01/A1
•****G4* *********
♦SSGGSY *
*****************
***»*Hf| **********
* *
♦UPDATE VST HITH*
* BEQUESTOB'S *
* PROTO-NAME *
*****************
****
* *
* Jl) *->
* *
*•**
'SETS* '' NM/01/A1
♦JSGOPR *
*****************
BKNCH
****KU*********
* •
* RETURN *
* *
***************
TO: CALLER
Chart NL. Prototype Statement Processor ($SGROT)
Program Organization 8-43
$SGOPR
****A1*********
* *
* ENTER *
* *
******** *******
*****B 1**********
*****
♦002*
* F1*
.* PRE- *.
->*. PROCESSOR .
*.S»ITCH ON.*
*****B4**** ******
**•*•*****•*•*••*
BA/1/A1
*****C1 **********
*N ENTRY *
*****************
* 1010 SSGGVA *
• *
*****************
BA/1/A1
*****D1 **********
♦NENTBY *
* LOAD *SGCSB *
* *
*•***•*•*•*******
' BA/01/A1
•****E1 **********
♦NENTRY *
* LOAD SSGHCB *
• *
•••*****•***•*•**
*****F1* *********
* *
♦DETERMINE TYPE *
* OF STATEMENT *
♦BEING PROCESSED*
* *
*******•****••*•*
COLCHK
*****61 **********
* SET UP *
* PARAMETERS OF *
* AREA TO BE *
* SCANNED *
* *
**•*•*********••*
*****
♦002*
* E2*
****
*002«
* F1
* •**
ERROR
•****D4**********
* *
* INDICATE *
♦INVALID KEYKOHD*
* III HALT PABN *
* *
•***••*••**•***•*
*****gt| **********
* *
•DETERMINE RHICB*
* STATEMENT HAS ♦--
•BEING PROCESSED*
* *
•**•***•***•*•*•*
• ***
* *
* T« *— .
* * I
• **• I
B2 T
LAB2 t NE/1/A1
*****pi| **********
•SSGGSY *
*****************
****£ 5 *********
► *
* EIIT »
* *
***************
TO:CALLNP OF
PRE- PROCESSOR
MAINLINE
S5GH0C
NF/1/A1
****
* At *
¥ *
****
*****************
****K2* ********
► *
► RETURN *
n *
***************
TO:CALLER
*****************
* NEXT
INPUT CHAR
*. = QUOTE .
CCSB NI/1/A1
*****J5 **********
♦SSGCSB *
♦CHARACTER BUILD+
♦ ♦
*****************
*****
♦002+
♦ B1*
* NUMERIC BUILD ♦
* *
*****************
Chart NM (Part 1 of 2). Keyword Operand Processor ($SGOPR)
*****
♦00 2*
* B1*
8-44
*****
*001*
* K«*
BUILD V NG/01/A1
*****B1**********
*SSGGVA *
*****************
*****C1 **********
* *
♦SET POINTER TO *
* CUBBENT *
* CHARACTER *
* *
*****************
*****************
REIT
CHAR =
BLANK
*****D3**********
* 4
* INDICATE •
>* INVALID *
* CHARACTER *
*****************
****E2*********
INDICATE
INVALID
CHARACTER
*•*•*•*•*•*****
*****
♦001*
* D»*
*****
♦001*
* H2*
*****
♦001*
* A«*
*****
♦001*
* D«*
Chart NM (Part 2 of 2). Key work Operand Processor ($SGOPR)
E
Program Organization 8-45
****
* A3 *
SSGAIF
**** A 1*********
* ENTRI *
* *
***************
GETVAL NH/1/A1
" *****A4*******i**
♦SSGNCB *
* *
>* BUILD THIS *
* STHBOL IN *
* BUFFER *
*****************
*****B1**********
* PERFORH *
* HOUSEKEEPING *
* AND LINKAGE *
* FUNCTIONS *
* *
*****************
*****C1**********
* *
* *
♦SET UP BUFFERS *
* *
* *
*****************
*****D1**********
*****************
COL It
HAVE LEFT
. PARENS .
* >*SET ERROR CODE *
t *
► *
*****************
" *****pi**********
*****************
1 *•'
****
k *
» R2 *
* *
****
LAB1
****F2*********
► *
► EXIT *
► *
***************
TO:HAINLINE
(SETNOT)
, YES * ROUTINE, HOVE *
* >* INPUT POINTER *
*****************
HI *.
.* *.
.* T'
*. PROCESSING
*****H2**********
*****************
*****B3**********
* HVC WK. BUFF. *
♦DATA INTO FIELDS
♦ 2, ZEHO OUT ♦
♦ WORK BUFF. *
* ♦
*****************
IVE BINAUI .* ■»
ATTRIB .♦ |
*. .* »
***•
* ♦
* E2*
* *
*•*♦
I ****
* *
L>* Ft *
r>3 *
AT A
BLANK
****«DU*********+
* *
* SET BINARY *
* ATTRIB. TO *<
* FIELD 2 *
* *
*****************
. NP/VA1
*****j1 **********
►SSGSUB *
l->* pa *
*****D<$ **********
* *
« SET FIELD 2 *
* ATTRIB. TO ♦
* CHAR. *
* ♦
*****************
I ****
* *
L->* si| *
*****g3 **********
* BLANK-SKIP *
* ROUTINE, HOSE *
* INPUT POINTER *
* TO NEXT *
♦NON-BLANK SLOT *
*****************
+. YES .* AT ).
, "* >*. DELIMIT
.* A «.
(. I ♦.
*- •'
**** * Y
♦PROCESS FIELD 2*
♦FOR COIPARE AND*
* ATTRIBUTE *
********
*********
► Ft *
* *
♦ ♦♦♦
TSTSN
♦ ***
* *
* E2 *
* *
****
TSTFLD
PROCESSING
FIELD 1 *.
LENGTH =
. FIELD 2 .♦
*****
♦ 002*
* B1*
*****H5***« ******
* *
* *
♦CONPARE VALUES *
* *
* ♦
*****************
*****JU**********
♦ *
♦ COHPAHE ♦
♦ ATTRIBS. OF ♦
♦ FIELDS 15 2 ♦
*****
*002*
* B1*
* *
*****************
«****K2**********
* HVC WK. BUFF. *
♦DATA INTO FIELD*
->*1, 2ERO OUT HK.+
* BUFF *
* *
*****************
****
* *
* A3 »
* *
****
****
» *
* A3 *
* *
****
Chart NN (Part 1 of 2). AIF/Blank Statement Processor ($SGAIF)
846
*****
♦001*
* J»*
CALGO HT/1/A1
*****B2**********
♦SSGAGO *
*****************
READ ? HJ/1/A1
*****C1 **********
♦SSGBED *
* *
* READ NEXT *
* PRE-PROCESS *
* STBT *
*****************
****D1*********
* *
* HETURN *
* , *
***************
TO:CALLER
Chart NN (Part 2 of 2). AIF/Blank Statement Processor ($SGAIF)
E
Program Organization 8-47
SSGMST
****A1*********
,* *
* ENTEB *
* *
***************
*****g 1 **********
*****************
*****C1 **********
* *
* BLANK ODT 96 *
* BITE OUTPUT *
* BUFFER *
* *
*****************
'' BA/1/A1
*****D1 **********
*NENTB* »
* *
* *
* LOAD SSGSUB *
* *
*****************
iiipot =
COMMENT
CABD
****
* *
* ?2 *
***•
•SET UP TO HOVE *
>* COMMENT TO * ■
* OOTPDT BUFFEB * I
****************
* J1 ♦
* *
****
. * END OF *. TES
OUTPUT .* ■
*. BUFFEB
BUFFEB .* I
*. .* I
*. .* ♦
****
* *
* K2 *
* *
****
AT A *. *ES
BLANK .*
*****BS* *********
* *
* INCBBMBNT *
->*BUFFEB POINTEBS*
* BT ONE *
* *
*****************
I **•*
* *
l->* K1 *
* *
****
*****CS **********
*." PBOCESSING .*-
*. FIELD 1 .*
*****************
*. PBOCESSING .
*. FIELD 2 .*
EU
IES
*****D5**********
* SET UP TO *
->*PBOCESS FIELD 3*
*****************
I****
* *
->* E2 *
• *
**••
.* END OF *. IBS
*. EITHBB .*
*. BUFFER .*
'* NO ****
I**** * *
* * * K2 *
->♦ J1 * * *
* * ****
****
*****G1 **********
* *
* SAVE INPUT *
♦BUFFEB POINTER *
*TO COLUMN EIGHT*
* *
*****************
****
t *
* J1 *
* *
****
*****H1**«* ******
* INCREMENT TO *
* COLUMN TEN *
* *
* *
*****************
****
* *
* J1 *->
* *
****
BRNSUB V NP/1/A1
*****j 1**********
*tSGSUB *
* SUBSTITUTION *
* PROCESSOR *
* *
*****************
****
* *
* K1 *->
* *
**** '
ENDIN .*.
ER
K1 *.
.*" END OF "*. VRS
*. B'lF
FER .*
A
****K2*********
KETUKN *
*
***************
**** TO:CALLER
*
K2 *
* \l\ *
* *
****
Chart NO. Model Statement Build Routine ($SGMST)
8-48
tSGSUB
****A1*********
* 4
* ENTER *
* <
***************
MOVCHh
*****A3**********
♦HOVE INPUT CHAR*
♦TO OUTPUT, ADD +
♦ 1 TO OUTPUT ♦
♦ BUPFEK PTR *
♦ *
*****************
****
♦ WORKING
♦. YES
ON FIELD
. * 1
*. ONE
* |
*. . *
1
*. . ♦
V
* NO
****
|
I
♦ D1
i
****
Cl" "*.
.* AIF *.
* STATEMENT
♦. NO
PROCESSING
. ♦ 1
****
ADDPT
****+B 3 *******
*****************
****
* *
* D1 ♦->
* *
****
r
*«***[)1**********
♦SET POINTER TO *
* BUFFER START. ♦
•POINT TO FIRST *
* OUTPUT CHAR ♦
* ♦
*$***************
****
* E1 *->
INPUT
OR
OUTPUT
. ♦
* „
. i
*.
*
*
NO
[.
****
*
>♦
E1
****
TSTVAR .*.
El ♦.
.♦CURRENT*.
••INPUT CHAR *.
*. VARIABLE .<
*. SYMBOL . *
LAB1 V NE/0J/A1
*****p1**********
•JSGGSY •
*****************
LAB2 V NF/01/A1
*****S1**********
♦tSGVST ♦
I
• K2 *
* *
****
V
TSTAIF
.*.
F2 ♦.
* *.
****
AIF
*
NO •
*.
PUOCESS
* >• A3
*
SWITCH ON.
*
*
*. .*
****
**************
TSTPAR .*.
G2 *.
.* INPUT *
• ♦ AT A
*
YES
♦. CLOSING
* ,
*. PARN
*'
I
♦. .*
*■ ./*
V
* NO
****
* *
* K2 *
* *
****
V
. ♦.
112 ♦.
. ♦ *
****
.♦ INPUT
NO * *
♦. AT A UUOTE
* >* A3 *
*. ,
*"
* *
*. .♦
****
****
* *
* D4 ♦
* *
****
,♦ TYPE *. NO
. PROCESSING . ♦ .
♦.SWITCH ON.* I
*****K 1*******4
*****************
.* NEXT *. YES
*. CHAR ALSO A .*
*. ^IIOTE .♦
*****j 3 **********
♦HOVE CHAR FROM *
♦ INPUT TO ♦
->*0[1TPUT, ADJUST ♦
*' POINTERS *
****
* *
* E1 *
* *
****
LOAD1
♦ NO
| ****
1 * *
<-->♦ B3 ♦
* *
*♦**
♦♦♦♦K2 ♦♦***♦♦**
* *
>* RETURN ♦
A * *
| ***************
**** 70;
CALLtii
* ADD LENGTH OF *
* ENTRY TO 9 OF *<
* OUTPUT BUPFER *
* •
*****************
BUFFER
EXTENT
.EXCEEDED
*****pl| **********
♦ *
♦SET COBE BUFFER*
•EXCEEDED ERROR *
* INDICATOB *
• *
*****************
****G4*******«*
♦ *
♦ EXIT *
♦ *
***************
TO: ERROR SECTION
OF MAINLINE
(SETNOT)
INPUT *. MO
POINTEH .*
.ADVANCED .*
•****p5 **********
* •
* ADJUST INPUT •
* BUFFER LEHGtH *
* *
* •
*****************
CHKBUF
*****G5********»*
• BUILD •
•INSTBUCTIOH TO •
•HOVE VALUE FIOH*
♦TABLE TO OUTPUT*
* •
*****************
*****************
,* TYPE *. HO
. PROCESSING .* >
*. SWITCH ON.* |
* YES •*•*
I**** * *
* •* E1*
->* K2 ** *
* * *•••
****
Chart NP. Subfield Analyzer ($SGSUB)
Program Organization 8-49
fSGOUT
****A1 *********
* *
* ENTBT *
* •
**•****•*•***•*
*****£ 1 **********
* PEBPOBH *
* HOOSEKEEPIHG •
* &MD LIHIUGE *
* FDMCTIOIS *
* *
*•********•**••**
*****C1 **********
**••••********••*
* * DHCSOP GO * *
* * TO D1T» * *
* * HGHT * *
* * * *
•*******•****•**•
DISK *. TES *I*DIC»TE EBBOB
I/O EBBOB .* >* IB HiLT PABN
**•••***•****•***
out op
FILE
EXTENTS
BBNCH
****G1 *********
* *
* BETORN *
* *
***************
TO:C*LLEB
*•***•*•*•***•***
****E3*** ******
> *
* EXIT *
« 4
•****•*****•**•
Chart NQ. Model Statement Output Routine ($SGOUT)
8-50
JSGTBL
****A1*********
* 4
* ENTEB *
* 4
***************
*****B1**********
*****************
D1 *.
.♦RECOBD *.
HATE *. NO
VARIABLE .*
SYMBOL
*.
* INDICATE *
->* INVALID TABLE *-
* STATEMENT *
* *
*****************
**«*C3****+*»»*
* •
* BETUBN *
* *
***************
TO: SETNOT OF
FBE-PBOCESSOB
MAINLINE
tSGBOC
.*
GET ¥ NE/1/A1
*****E1 **********
♦ISGGSY *
**•*••*•*********
*****P1**********
*****************
FIND V NF/1/A1
*****g1 **********
*$SGVST *
*****************
*****H1**********
» *
« RESET *
* FIND/BUILD *
* SWITCH *
» *
*****************
BRNCH
V
****J1*********
* 4
* RETURN *
* *
***************
TO: CALLEB
Chart NR. Table Statement Processor ($SGTBL)
Program Organization 8-51
$SGDEF
****4 1*********
* *
+ EHTEB *
* *
***************
*****B1 **********
****
* *
* A« *
* *
****
NH/01/A1
CCSB NI/1/A1
*****A5**********
♦SSGCSB *
*****************
****
» *
* DM *
* *
****
*****************
*****************
■ BlxniDuio -^ ■
♦ . BLANK .* |
*• •* I
• HO
****
**** |
* *
* * |
* J2 *
* D« *->|
* *
* *
*•**
**** I
CGVA » HG/1/A1
*****Dii* *********
♦SSGGVA *
♦PUT STH. VALUE *
* INTO VABIABLB *
* SYHBOL TABLE *
*****************
*••**£<! **********
* *
* INDICATE THAT *
•TABLE EMTBI BAS*-
* BEES DEFINED *
* *
*****************
LOAD1
****E5*********
* *
.__>* BBTUBB «
***************
10: CALLEB
* *
* E5 *
* *
****
1.
.* FIBST *.
* CHAH OF
*
YES
TABLE =
* .
*. BLANK
*"
I
*. .*
1
*. .*
V
* NO
1
***♦
* ♦
* J1 ♦
* *
*•**
V
. *.
HOVE
CONP .*.
G1 *.
*****G2** **♦♦♦♦♦+
G3 ♦.
.* *
♦ *
• ♦ ♦-
* IS
*
NO ♦DETEBHI8E TABLED
.* TABLE ♦. NO
LENGTH OF
♦.TABLE =
*
♦ ♦
*. VALUE ■♦
* . *
****
* *
* J1 *->
* *
****
J1
*****************
BBNCH
*+++H2 *********
* *
>♦ RETOBN ♦
* *
***************
TO: CALLEB
* INDICATE *
->♦ INVALID TABLE ♦
♦ VALUE *
I **** * *
I ♦ ♦ * E5 ♦
l->* J1 * * *
* J2 ♦
* ♦
****
LAdl
****K2*********
* *
* EXIT ♦
***************
TO: setnot of
L-aK-PhOCESSUfl
MAINLINE (-6SGROC)
Chart NS. Table Definition Statement Processor ($SGDEF)
8-52
JSGAGO
****A 1*********
* *
* ENTEB »
* 4
***************
*****B1**********
*****************
' NE/1/A1
*****C1 **********
♦JSGGSY *
*****************
»****q2 **********
.* NAME *. NO
*. LENGTH < = .*
*. 6 .♦
*. .*
* INDICATE *
>* INVALID NAME *
* LENGTH *
* *
*. •*
*****************
* TES
READ
•****E1***« ******
* *
* SAVE KANE FOB *
* COMPABISCN *
* *
LAB
****E2*********
* •
* EXIT *
* *
* *
***************
*****************
****
* *
* pi *->
* *
TO: SETNOT OP
PBE-PROCESSOB
MAINLINE
tSGftOC
****
BEADMC
*****P1*
*$SGBED
NJ/1/A1
*********
♦BEAD NEXT HACBO*
* STATEMENT *
********
*********
.* NAMES
*.
NO
*. EQUAL
•
*
"*. .*
I
*. .*
V
* YES
****
* *
* PI *
• ***
8RNCH
"
****[|1********4
*
*
* KETUBN
*
*
*
**************4
TO: CAL1
,EB
I
Chart NT. AGO Statement Processor ($SGAGO)
Program Organization 8-53
SSGNTT
t*** A 1 *********
* ♦
* ESTER •
* *
***************
*****B1**********
*****************
SEVBBITI
CODE =
. BLINK
*****C2 **********
*****************
*****************
****D2 *********
* *
* EXIT *
* *
***************
TO:
SETNOT OF
PBE-PROCESSOB
MAINLINE
$SGBOC
* »AS
COMHA -
QUOTE
700 ND
CCSB 7 NI/1/A1
*****f 1 **********
♦SSGCSB *
*****************
*SBT UP TO PASS *
♦CONTROL TO NOTE*
* PBOCESSOB *
* *
*****************
H V NF/1/A1
*****H1**********
*$SGNOT *
* PROCESS NOTE *
* *
*****************
k***j1*********
4
RETURN *
*
***************
TO: CALLER
Chart NU. MNOTE Statement Processor ($SGNTT)
8-54
$SGSET
****A 1*********
* *
* EHTEB *
* *
***************
*****B1**********
*****************
COL 1
RAVE TAB
. SIHBOl
COL1«
****
• 4
• C2 *
• *
****
LAB
****************
****
t *
► C2 *
V
****D2 *********
* *
* EXIT *
* *
***************
TO: SETNOT OF
PRE-PROCESSOB
NAINLIME
$SGBOC
* SET OP FOB *
* GLOBAL •
* PBOCESSIMG *
* *
*****************
GET ? HE/1/A1
*****p j* ******'***
*$SGGSY *
* *
* CBEATE GLOBAL *
* NAME *
* *
*****************
FIND ? NF/1/A1
•****G1 **********
♦SSGVST *
*****************
.* DOES *.
NANE HAVE
BINABT
. ATTR
* OK TO *. NO
OSE NAHE AS .* .
►. GLOBAL .* I
BRNCH
*****K1 **********
♦MOVE THE SET B * +*
* VALUE INTO * *
♦VARIABLE STNBOL* >♦
* TABLE *
* *
*+***************
***K2 *********
BETURN *
+
**************
0: CALLER
Chart NV. SETB Statement Processor ($SGSET)
Program Organization 8-55
SSGGBL
****A1 **»*»****
* »
* ENTER *
* *
***************
***** B 1 **********
*****************
► COL 1«
HAVE 1 ¥AB.
► . STHBOL .
*. NO *INDICATE EBBOB
. * >* m HALT PABH
A ~
.L :
► 4
► C2 «
* *
****
*****************
****C3*********
* *
* EXIT *
* *
***************
TO: SETNOT OF
PRE-PBOCESSOB
HAI1LIRE
SSGBOC
*****D2 **********
* *
► . TES * SET OP TO *
. * >*PBOCESS GLOBAL *
• * STATBBEIT *
* *
*****************
*****£ 1 **********
* *
* SET OP TO *
* PROCESS LOCAL *
* STATEHEIT *
* *
*****************
♦SET FIHD/BOILD *
* SWITCH Oil. SET *
*» OF IiPOT STHT*
* *
***••*****•*••**•
****
* *
* G1 *->
* *
****
HE/I/A 1
*****************
FIND * NF/1/A1
***** R 1 **********
♦tSGVST *
**************** 4
NEXT
CHAR =
BLANK
CLEAR
*****K1**** ******
* SET GLOBAL *
* PROCESS AND *
* FIND/BUILD *-
* SWITCHES OFF *
* *
*****************
*. .*
*. .*
* NO
i ****
* «
U>* C2 *
* *
****
3RNCH
****K2*********
* *
-->* RETURN *
* *
***************
TO: CALLER
*****j3**********
* *
* INCBE8ENT TO *
->* FIBST CHAR OF *
♦VARIABLE SYMBOL*
* *
*****************
i ****
* *
U>* r,1 *
* *
****
Chart NW. Global and Local Statement Processor ($SGGBL)
8-56
SGPRI
****A1*********
* H
* EHTEB *
* *
***************
JA/01/A1
♦GET ADDRESS OP *
* PBOG COHH *
* REGION *
*****************
SGBAS
*****D1 •*•*••**•*
♦WCENTR
BA/01/A1
AtelU* 1
*****************
* SUPPORTED *-
* HALT/STSLOG *
* ROUTINE *
*****************
* *DIODSP READ* *
>* * IN F1 * *-
* * BOOTSTRAP » *
* * * *
*****************
****D3 *********
* *
* EIIT ♦
* *
***************
JOB CANCELLED
BASERR __,..,_.
*****B2** ***'***'**
♦BCENTH
*U1V"
*****************
*****P1 **********
* * * *
* *DIODSP READ* *
* * IN F1 * *
* * BOOTSTRAP * *
* * * *
*****************
«**«*Q1 **********
* *
♦HODIFY TO CALL *
* BASIC AT IPL *
* TINE *
* *
*****************
*****f|1 **********
* * DIODSP * «
* * WRITE OOT * *
* * F1 * *
* * BOOTSTRAP * ♦
* * * *
*****************
***** j 1 **********
* * * *
* *DIODSP READ* *
* * IN R1 * *
* * BOOTSTRAP * *
* * * *
******* **********
*****CH **********
*****************
*****D4 **********
* * * *
* * DIODSP * *
* *»BITBOUT P1* *
* * BOOTSTRAP * *
* * * *
*****************
*****B<t********»*
* * * *
* *DIODSP BEAD* *
* * IN 11 * *
* * BOOTSTRAP * *
* * * *
•***••*•*********
*****rn**********
*****************
*****G4**********
* * DIODSP * *
* * BRITB OOT * *
* * 81 * *
* * BOOTSTRAP * *
* * * *
*****************
I •••*
*****K1**********
* *
♦MODIFY TO CALL *
* BASIC AT IPL ♦-
* TINE *
* *
*****************
*****K2 **********
* * DIODSP * *
* * WRITE OOT * *
>* * R1 * *-
* * BOOTSTRAP * *
* * * *
*****************
PRIEOJ
****K3**+******
>* EXIT *
A * 4
I ***************
****
* *
* K3 *
Chart NX. IPL Bootstrap Modify ($SGPRI)-Model 6 Only
Program Organization 8-57
8-58
Section 4. Directory
Figure 8-9 contains the Directory entries for System Gen-
eration.
Module/Phase Name
Chart ID
Descriptive Name
Entry Point
Function
$SGKBD
(Model 6 only)
MA
Keyboard Selection
Routine
SBKBD
• Allows user to select appropriate keyboard
image table
$SBBSV
(Model 6 only)
MB
Co-resident System
Analyzer Routine
SGBSV
• Reserves space for BASIC system
$$GEN
(Disk system)
MC
System Generation
SYSGEN
• Obtains system configuration
$SGENB
(Model 6 only)
MD
• Passes responses to pre-processor
$SGEN1
ME
System Generation
GEN1
• Processes pre-processor output file
• Creates new configuration record on F1
• Builds procedures for SCP support generation
• Creates linkage editor input file ($WORK)
$SGNOT
MF
Note Processor
$SGNOT
• Loads halt transient parameter list
• Sets note error switch on
$SGROC
NA
Mainline Phase One
$SGROC
• Acts as pre-processor mainline driver
• Calls $SGMN1,$SGMN2, and $SGMN3,
$SGMST, $SGAIF
$SGMNI
NB
Mainline Phase Two
SSGMN1
• Directs processing of global, prototype, and
pre-processor input statement keyword
operands
$SGMN2
NC
Mainline Phase Three
$SGMN2
• Directs the processing of TABLE and TABLE
definition statements
$SGMN3
ND
Mainline Phase Four
$SGMN3
• Controls processing of action (conditional
processing) statements
$SGGSY
NE
Get/Build Variable
Symbol
$SGGSY
• Builds variable symbol in output buffer
• Computes symbol length and attribute
$SGVST
NF
Variable Symbol
Table— Find/Build
SSGVST
• Searches variable symbol table for variable
symbol matches
• Adds symbol to table if no match is found
and symbol meets conditions
$SGGVA
NG
Variable Symbol
Table— Value/Build
$SGGVA
• Places value of variable symbols in variable
symbol table
$SGNCB
NH
Number— Check/Build
$SGNCB
• Builds a number with length and attribute
in output buffer
Figure 8-9. System Generation Directory (Part 1 of 2)
Directory 8-59
Module/Phase Name
$SGCSB
$SGRED
$SGSTM
$SGROT
$SGOPR
$SGAIF
$SGMST
$SGSUB
$SGOUT
$SGTBL
$SGDEF
$SGAGO
$SGNTT
$SGSET
$SGGBL
$SGPRI
$SGIVP
Chart ID
Nl
NJ
NK
NL
NM
NN
NO
NP
NQ
NR
NS
NT
NU
NV
NW
NX
Descriptive Name
Character String—
Check/Build
Read Pre-processor
Statement
LINK Statement
Processor
Prototype Statement-
Processor
Keyword Operand
Processor
AIF Statement
Processor
Model Statement
Build
Subfield Analyzer
Model Statement Output
File/Build Routine
TABLE Statement
Processor
TABLE Definition
Processor
Entry Point
AGO Statement
Processor
MNOTE Statement
SETB Statement
Processor
Global and Local
Statement Processor
I PL Bootstrap
Modify Routine
Installation Verification
Message Routine
$SGCSB
$SGRED
$SGSTM
SSGROT
$SGOPR
SSGAIF
$SGMST
$SGSUB
$SGOUT
$SGTBL
$SGDEF
$SGAGO
SSGNTT
$SGSET
$SGGBL
SGPRI
SGVIP
Function
Builds character string, with length and
attribute in output buffer
Reads pre-processor statements from source
library
Processes LINK statement and puts
prototype in save buffer
Controls building of prototype statement
entries in variable symbol table
Builds variable symbol table entries from
keyword operands and values from prototype
and pre-processor— call statements
Translates variable symbols into values for
AIF statements
Analyzes model statement, rebuilds it in
another buffer
Replaces variable symbols with values
Analyzes fields of data
Translates variable symbols in the fields into
values
Writes analyzed model statement into caller's
output file
Finds or builds entry for variable symbol on
a table statement in variable symbol table
Matches value from table definition statement
to argument and if equal, places value in
variable symbol table
Scans pre-processor statements until a match
for variable symbol passed to this routine is
found
Passes System Generation MNOTE statement
to requestor's note processor
Takes the value from the SETB statement
and places the SETB value in variable symbol
table entry
Creates local or global entries in the variable
symbol table
Allows user to select primary I PL system
when he has both BASIC and DMS systems
Prints out a message if a system has been
generated properly
Figure 8-9. System Generation Directory (Part 2 of 2)
8-60
PART 9.
MAINTENANCE PROGRAMS
Maintenance Programs 9-1
9-2
Section 1. Introduction
The following programs are supplied to the user for the
maintenance of his IBM System/3 System Control Programs
(SCP). The following sections have been omitted from this
discussion: Method of Operation, Directory.
Introduction 9-3
9-4
Section 2. Program Organization
The following section describes, in detail, the organization
of the Maintenace programs. Included in the following dis-
cussions are:
• Descriptions containing: name of the routine, input,
output, function, and exits (both normal and error) from
the routine.
• Main storage maps showing the routines that are found
in main storage at the same time as the routine being
described.
• Flowcharts showing the functional flow of the routine
being described.
OUTPUT:
— Patched modules, replaced in original positions on
disk after PTF is applied
— The directory entry for each module that has been
patched is updated.
EXIT:
— Normal: After the entire PTF has been applied and
logged, control is passed to the End of Job transient
($$SPEJ).
— Error: In case of terminal error, control is passed to
the supported Halt/Syslog routine.
► Field Engineering Maintenance Program ($SGPTF)
CHART: PA
FIGURE-: 9-1
ENTRY POINT: $SGPTF
FUNCTION:
— Temporarily patches other programs.
— Takes appropriate action with the relocation directory
if the patch affects it.
— Keeps a record, on disk, of all PTFs (program tem-
porary fixes) which have been applied to the system
disk pack.
— Sets bit 6 of ATTRI in the directory entry for each
module patched.
INPUT: Five control statements:
1 . HDR (format-HDR PTFID, CKSUM, UNIT1
(,UNIT2))
2. PTF (format-PTF OMODULE NAME, LEVEL,
CKSUM)
3 . DATA (format-DATA CKSUM, DISP, HH,
HHHH(R)
END (format-END CKSUM)
4.
5.
/'
X'OO'
X'100'
3K
Supervisor
| Transient Area:
jllll;: Fiel d E ngi neeri ng Maintenance Program .($SGPTF)_;i;i
^v
Figure 9-1. Main Storage Map for Field Engineering Maintenance
Program ($SGPTF)
Program Organization 9-5
► PTF Logging Program ($SGPTG)
► System Maintenance ($SGMNT)
CHART: PB
FIGURE: 9-2
ENTRY POINT: $SGPTG
FUNCTION: Logs the PTFID into the PTF log sector after
the PTF has been successfully applied.
INPUT: Register 1 contains the address of a table contain-
ing the Q-code of the disk pack in which the PTF was
applied, the PTF number, and the last five characters
of each module that was patched.
OUTPUT: A 6-byte entry in the PTF log sector, recording
that a PTF had been applied to the system disk pack
EXIT:
— Normal: Control is returned to the Field Engineering
Maintenance Program ($SGPTF).
— Error: Control is passed to the supported Halt/Syslog
routine which in turn will issue an immediate cancel.
CHART: None
FIGURE: None
ENTRY POINT: $SGMNT
FUNCTION: Places $MAINT (Library Maintenance) in the
maintenance mode and then passes control to it.
INPUT: None
OUTPUT: None
EXIT:
— Normal: Control is passed to the Library Mainline
($MAINT).
— Error: Control is passed to the supported Halt/Syslog
routine.
X'OO'
X'100'
3K
supervisor
j Transient Area:
I
I
llll p T F Logging Program ($SGPTG)I;
Field Engineering Maintenance Program ($SGPTF)
Figure 9-2. Main Storage Map for PTF Logging Program ($SGPTG)
9-6
SSGPTF
****A1*********
* *
* EMTEB *
* 4
***************
*****B1 *********
****************
*****
♦ 002*
* G2*
. BA/01/A1
***** At* *********
♦NENTRY *
*****************
HEADBB *. NO
COITBOL .*
.STATEMENT.*
HDRSNS
*****D1 **********
♦PEHFOHH SYNTAX *
* SCAB FOBCTION *
* 01 HEADBB •
* STATEHEHT *
* *
•***••****•**•***
BA/01/A1
*****C2 **********
♦NENTBY *
1 :
HALT/SYSLOG *
****************
* YES
*••*
* •
* C2 *
• *
• *•*
"
• *.
C« *.
•* PTF *
.* LEVEL*
*.
BO
. DIBECTOBY
*
*. LEVEL
•
BA/01/A1
*****C5* *********
•NENTBY *
* HALT/SYSLOG *
•*•***•*•••*•*•*•
♦002*
* Gl*
*****
•***D2 *********
► *
♦ BUT *
► •
**•••**••*•*•*•
TO: SOPPOBTED
HALT/SYSLOG
BOOTINE
*****22**********
* *
•SET OP FOB DISK*
->*BEAD GET FIBST *-
* BECOBD *
* *
*****************
HDBSBS
*****E3 **********
* PEBFOBH A *
* HEADBB SYNTAX *
— >* SCAN OB FIBST *
* BECOBD *
*****************
*****pi**********
* *
* LOCATE A *
* STOBAGB SPACE *
* OB DISK *
* *
•**•*•***•••***•*
*****Q 1 **********
*****************
*•••*******•****•
***•
♦002*
* F3 *->
* *
****
*****p!l* *********
***********•••*•*
D5 *.
.* *
CONTINUE
****g5 *********
* «
* EXIT «
* *
***************
TO: SOPPOBTED
HALT/SYSLOG
BOOTINE
****
* *
* J1 *->
* *
****
PTFSNS
*****J1 **********
* *
* PERFORM A *
♦SYNTAX SCAN ON *
♦THE PTF BECOBD *
* *
*****************
BA/01/A1
*****D2**********
♦NENTFY *
* HALT/SYSLOG *
* *
*****************
****J2*********
» *
* EXIT *
K *
***************
CHKPRV .*.
m *.
.* *.
.* HAS *.
*. LAST RECORD .
*. DATA .*
*. .*
NO
* -*
I
*. .*
V
* YES
****
* C2
IS THIS
A PTF
RECORD
* PEBFOBH A *
->*SYNTAX SCAN ON *
♦THE DATA BECOBD*
* *
•***•****•*•••*•*
*****({ 5*** ******
****************
*****j 5 **********
* *
* CONVERT THE *
* DATA TO ♦
* HEXADECIMAL ♦
* *
*****************
*****
♦ 002^
* A3*
♦ CALCULATE UND ♦
♦CHECK TBE CHECK +
♦ SDH ♦
♦ ♦
*****************
IS THIS
AN END
RECOHD
*****
♦002+
♦ A1*
Chart PA. Field Engineering Maintenance Program ($SGPTF) (Part 1 of 2)
Program Organization 9-7
* PEBFOBH A *
[->*SYNTAX SCUM ON *
♦ END BECORD *
*****************
*****
♦ 001*
* J5*
* *
* A3 * .
****** I
***** A3 **********
*****************
♦001*
* K»*
*****
* BEPLACI THE *
* NODULES THAT *
* HEBE PTP'D *
* *
*****************
*****8 3 **********
*****************
*****C1 **********
* INDICATE IN *
♦DIBECTOBY THAT *
* PTP HEBE *
* APPLIED *
* *
*****************
• ***
* •
* Dl *->
* •
****
V BA/01/A1
*****D 1 **********
♦NENTBY *
* *
*$SGPTG- LOG PTF*
♦ID'S OP PATCHED*
* HODOLES •
**••***•*••*****•
*••••£ 1 **********
*****************
*****C3 **********
*****************
.♦.
OVEPCH . *.
D3 *.
D» *.
.* *.
.* *.
ONE *.
YES
. ♦ PATCB *. YBS
BYTE PII
>*. AFFECT BLD .*
.*
*. .*
*. .*
*. .*
*. •*
*. .*
* NO
1
* NO
* •
L->* P5 *
1
* •
?
***•
.*.
BTTPCH .*.
E3 *.
E4 *.
.* TNO *.
.* *.
BYTE *.
YES
.* PATCB *. 10
RELOCATABLE
>*. APPECT BLDS .* .
FIX . *
*. .* 1
*****D 5**** ******
*****************
*****£5***« ******
.*.
THOPCH
i.
F1 *.
*****F2*** *******
F3 *.
.* *.
* *
.* *.
. * HEADEB *. YES
* PEBFOBH A *
.* PATCH *. YES
. STATEHENT . *
— >* HEADEB SYITAX *
*. AFFECT BLDS .*■
*. .*
* SCAN *
*. .*
1
*, . *
* *
*. .*
1
•. •*
***•*•*•***•*****
*. . *
7
* NO
* NO
• ***
•
♦ Dl
♦
♦ ♦♦♦
.*. CALCSH
'
G1 *.
*****G2 **********
*****G3»* ********
.* *.
* •
* *
.* /* *. NO
. STATBHENT .* •
* CALCULATE AND *
* BEAD IN AND *
*CHECK CHECK SUH*
♦PATCH BLD TABLE*
*. .* 1
* *
• *
*. .* I
* •
* *
*. .* V
*****************
*****************
* YES *****
|
• 001*
* C2*
I
* *
V
•
*****
♦001*
BN/01/A1
* At*
"
' "
* *
•*««*H3**********
****H1*********
•
* *
•
♦ HEPLACE BLD ♦
EXIT *
♦ TABLE ♦
*
* *
***************
* •
*****************
TO: JISPEJ
|
END OF JOB
1 ****
TRANSIEA
T
* *
*****P4 **********
•**•**•****••*••*
*****Gtt**** ******
*****************
1****
* ♦
->* Dl *
• *
• •*•
* BEPLA(
:e BLD *
"1
* TABLE *
1
• *
1
• *
♦
*****************
• *•*
*
• ***
di t
• *
T*
* T5 *->
**•*
* *
••*•
• *.
rs *•
.* AMY *.
.* TEXT *.
**.. P iI?f ES .*•*■
*****
♦ 001*
* p«*
* •
****
• *
• A3^
• *
• **•
Chart PA. Field Engineering Maintenance Program ($SGPTF) (Part 2 of 2)
9-8
*SGPTG
♦ ♦♦♦A 1*********
* ENTER *
* *
***************
*****31 ******* **t
*****************
*****Cj **********
* *
* COHVEBT PTF *
* NUMBER INTO *
* HEXADECIMAL *
* *
*****************
* ****D 1 **********
* *
♦POINT TO FIRST *
* NAHE IN INPOT *
* TABLE *
* *
*****************
****
E1 *->
*
• **•
.*.
El *.
.*
.* AT END
. OF T«
BLB
*****E2** ********
*****************
****E3*******«*
• *
* BETORN *
t *
***************
TO: CALLEB
*****P1 **********
* *
♦COMPARE SEN PTF*
* ID TO LOG *
♦SECTOR ENTRIES *
* *
*****************
* HAS *
PTFID
ALBEADY
LOGGED
♦♦♦♦♦HI**********
* *
♦INSERT THE NEW *
* PTFID INTO *
* TABLE *
* ♦
***********♦♦♦♦♦*
♦♦♦♦♦J1 ♦♦*♦*****♦
♦ ♦
♦ INCREMENT TO ♦
♦ NEXT ENTRY IN ♦
♦ TABLE ♦
♦ ♦
*****************
I *♦*♦
* *
l->* El *
♦ *
♦ ♦♦♦
Chait PB. PTF Log Program ($SGPTG)
Program Organization 9-9
9-10
APPENDIX A.
DATA AREAS
Data Areas A-l
A-2
Disk System Dedicated Supervisor Data Area Formats
The following data areas are used by more than one pro-
gram.
Supervisor Entry Points
This is an 1 8-byte area that is referenced by four LOAD
IAR instructions located at absolute main storage addresses.
Absolute Number
Address of Bytes Contents
X'OO'
X'04'
X'08'
X'OC
x'ir
Load IAR for Dump Linkage
program (CDUMPD)
Load IAR for General Entry
(NENTRY)
Load IAR for IOS program
(DIODSP)
Load IAR for the IOS Wait
program (DIODWT)
Address of the system com-
munication area (SYS)
Transient Area
This 768-byte data area begins at X'100' and is used to
contain the transient routines that are loaded into main
storage.
o
Chain I mage Area
This 1 20-byte data area is located at X'400' and is for the
5203 Line Printer. This area is maintained by the
// IMAGE control card.
X'400'
A
X'477'
System Communication Region— NCPL1
This area is used to pass information between system pro-
grams. Figure A-l shows the name of each entry, its dis-
placement from the entry point (NCPL1), its byte count
and its contents. The address of this communication
region is located at X'll'.
X'100'
X'3FF'
Program Level Communication Region— N1COMIM
This region is used to pass information between system pro-
grams within the same program level. Figure A-2 shows
the name for each entry, its displacement from the entry
point (NPIOB), its byte count, and its contents.
The address of this area is returned in XR2 after the user
branches to General Entry with a request indicator byte
(RIB) of X'00'.
□
Disk System Dedicated Supervisor Data Area Formats A-3
Name
Hexadecimal
Displacement
Number of Bytes
Contents
NCPL1
NCPL2
NCXTAB
NCFCTR
NCSGEN
1
3
5
2
2
2
1
1
Address of program level 1 communication area
Address of program level 2 communication area (Disk System),
X'0000' (Model 6)
Address of transient scheduler tables
Fetch trace I.D.
Sysgen byte
X'01' — Indicates to the Linkage Editor that Sysgen has
control and wants the current chain image placed
in the new supervisor
X'80' - Indicates that $SGNPP has read the first record
from SWA.
NCPRTZ
NCLPSZ
NCRPSZ
NCSYSL
NCSLOG
1
8
9
A
D
1
1
1
1
3
Printer size
Left tractor page size
Right tractor page size
System List I.D.
Syslog indicator C/S/device (Halt/Syslog)
X'CO' - Console
X'00' - Printer
NCSWRK
NCSYSQ
F
10
2
1
Cylinder/sector address of scheduler work area
Q byte for system pack from I PL routine
X'AO'- R1
X'A8'- F1
NCOLIB
NCSCH1
12
13
2
1
Cylinder/sector address of system object library
Scheduler switches
X'80' — Log device status
X'40' — System date received
X'20' - DPF system
X'10' — Scheduler interlock for program level 1
X'08' — Scheduler interlock for program level 2
X'04' - Date format
Indicator Off = MM/DD/YY
Indicator On = DD/MM/YY
X'02' 1 > _. , . .
v,i««. I t Disk drive configuration
X 01 1 )
00 = F1.R1
01 =F1, R1, R2
11 = F1,R1, R2, F2
NCSMV1
14
1
' Data management/scheduler switches (Program level 1)
X'80'- IPL successful
X'04' — Consecutive multivolume files on R2
X'08' — Consecutive multivolume files on R1
X'01 ' - Other type of file on R2
X'02' - Other type of file on R1
NCSMV2
15
1
Data management/scheduler switches (Program level 2)
X'04' — Consecutive multivolume files on R2
X'08' — Consecutive multivolume files on R1
X'01 ' - Other type of file on R2
X'02'- Other type of file on R1
Figure A-l. System Communication Region (Part 1 of 2)
A-4
Name
Hexadecimal
Displacement
Number of Bytes
Contents
NCSCH
NCDSKQ
NCSCH2
NCMBSV
NCXTA
NCSTOR
NC@CIO
NCRCSS
16
18
19
1A
1B
2F
31
34
1
2
1
1
1
20
2
3
Scheduler byte
X'80' — Printer interlock bit (printer has been opened)
X'20' — Conversational Mode
X'40' — Rollin now processing
X'10' — Input for I -type program
X'08' — Inquiry handled
X'04' - PARTITION statement received
X'02' — Rollout now processing
X'01'— Inquiry pending
Disk drive #1 I/O queue
Partition value for level 2 (number of sectors)
Model 6 control byte
Reserved
Transient storage area
Main storage address of keyboard interrupt routine
C/S/# of Rollout area
•:-:::-:?:::::^
NCSXR1
NCSXR2
NCSPSR
NCSNS
NCHALT
NC@PIO
NCLPLC
NCRPLC
NCPEL
36
38
3A
3B
3D
36
37
38
39
2
2
2
1
2
2
1
1
1
XR1 }
XR2 / This is a storage area for interrupt level
PSR /
Reader select switch sense information
X'80' - On = level 1
Off = level 2
X'40' - Cancel
X'20' - MFCU
X'10'- AUX reader
X'08' - Printer keyboard
Address of resident halt routine (NPHALT)
Address of printer IOB active
Left page line count
Right page line count
Print element location
Figure A-l. System Communication Region (Part 2 of 2)
Disk System Dedicated Supervisor Data Area Formats A-5
Name
NPIOB
NPCHAN
NIOCMP
NIOQB
NIORB
NIOCB
NIOSB
NIONB
NIODAT
NIOSNS
NIOERR
NIOFLG
NIOOBR
NPDTF@
NPRIB
NPBEG
NPEND
NPQ
NPRLF
NPCYL
NPOLIB
NPXR1
NPXR2
NPNSI
NPORLF
NPTXT
NPTEMP
Hexadecimal
Displacement
NPCS
NP#S
NPLNK
NPRLD
NPENT
NPLOD
NPEOJ
NPUPSI
NPNAME
NPRELS
NPDATE
NPSYS1
1
2
3
4
5
6
7
g
B
c
D
11
13
14
16
18
19
1B
1D
1F
21
23
25
27
29
2B
Number of Bytes
Contents
2
1
1
1
1
1
1
2
2
1
1
4
2
1
2
2
1
2
2
2
2
2
2
2
2
2
Entry for program level IOB
IOS chain pointer (disk IOS)
Completion code (disk IOS)
IOB Q byte
IOB R byte
IOB cylinder byte
IOB sector byte
Number of sectors to be read-1
Data buffer address
Sense bytes (disk IOS)
IOS error retry counter
Flag bits (disk IOS)
OBR - SDR transient routine save areas for the caller's ARR,
XR2 registers
First DTF address
Program request indicator byte (RIB)
Program level beginning address
Program level end address
Program level Q byte (as in the // LOAD statement)
Program relocation factor
C/S of load name for this program level
C/S of program object library
Register 1 save area ^ Used gs gave grea for the program
Register 2 save area , ti general entry (NENT RY)
Return address /
Overlay relocation factor supplied by loader
Overlay text address supplied by relocation program
Temporary storage for resident loader (NLOADR)
Parameter List for the Resident Loader (NLOADR)
2D
2E
30
31
33
35
36
37
3D
3E
44
48
C/S address of module to be loaded
Number of sectors to be read
Linkage edited address
Displacement of relocation directory (RLD)
Address of entry point of loaded module
Load address
End of job I.D.
X'40' -
Successful IPL
X'20' -
Library maintenance
X'10'-
Cancel pending
X'OE' -
RPG
x'or-
Rollout bit
UPS I switches
Program name that is currently being executed
Release level
Program date
SYSIN indicator (C/S/number of sectors/device info)
'FO' - Hopper 1 MFCU
'F8' - Hopper 2 MFCU
'F4' - 1442
'CO' - Console I/O
Figure A-2. Program Level Communication Region (Part 1 of 3)
A-6
Hexadecimal
Name
Displacement
Number of Bytes
Contents
Scheduler parameters
NPSCH1
49
1
Reader/Interpreter switches
X'OT- I PL mode
X'02' - INTER mode
X'04'- INTRA mode
X'08' — Override request
X'10'— Procedure being processed
X'20' - // SWITCH received
X'40' - // COMPI LE received
X'80' - // DATE received (INTRA)
NPSCH2
4A
1
Scheduler switch
X'01' — Controlled cancel
X'02' — Immediate cancel
X'04' — Clear Sysin device
X'08' - End of job halt
X'10'— A file statement received
X'20'- // READ from Sysin device
X'40' — Utility control cards in scheduler work area
X'80' — Continuation of OCL statement
NPSCH3
4B
1
Scheduler switches
X'80' — Tag sort required
X'40' — Allocate transient required
X'20' — Source required by RPG compiler
X'10'- Logging (Halt/Syslog)
Indicator Off — logging specified
Indicator On — logging not specified
Statement origin
X'08' - MVF file allocated
X'04' — Additional procedure statement
X'02' — Override statement from Sysin device
X'0 1 ' — Progra m I eve I
Indicator Off — level 1
Indicator On — level 2
NPOBJQ
4C
1
Object deck output Q code
NPBPSD
4D
1
Selected status of Sysin device
X'80' - MFCU Disk System, Data Recorder Model 6
X'40' - Console I/O
X'20' - 1442
X'1 0' — AUX on reader select switch
X'08' — Console on reader select switch
X'01 ' — Nested procedure
NPSCH4
4E
1
Allocation information
X'80' — This program level is active
X'40' - // IMAGE received
X'20' - //FORMS received
X'10' — F1 needed for allocation
X'08'— R1 needed for allocation
X'04' — F2 needed for allocation
X'02' — R2 needed for allocation
X'01 ' — EOJ scheduler bit
On — Initial EOJ logic has been performed
Off — Initial EOJ logic has not been performed
c
Figure A-2. Program Level Communication Region (Part 2 of 3)
Disk System Dedicated Supervisor Data Area Formats A-7
Name
Hexadecimal
Displacement
Number of Bytes
Contents
NPSCH8
4F
1
Type of files needed
X'80' — Reader statement received
X'40' — Console in use by Data Management
X'20' — Valid FILE card received
X'10' - Shared I/O program
X'08' — 'I' or 'B' type program
X'04' — Allocate unsuccessful
X'02' — Maximum number of tracks for allocation are available
X'01 ' — Minimum number of tracks for allocation are available
NPSCH5
50
1
Reader Select switch setting, DPF only
X'80' - Level 1
X'10'- AUX position
X'08' — P-KB position
X'20' - MFCU position
NPSCH6
NPSCH7
NPWKB
NPSCH9
52
53
55
56
2
1
2
1
Save area for IAR pointer
Save of last Sysin assignment
Disk I OS workarea
Disk log unit ID for EOJ
X'80' - F2 \
vMQ' po I
> These units are logged only once
/\ 2\J ~" rl l
X'10'-R1 /
X'08'-F2 \
Y'Q4» po (
w,««. -.. / All these units are logged at end of job
X'02 -F1 (
X'01'-R1 )
: : : : : : :?ft : : : ft : : : K : s : ft::::j!:$S
'^^^^^S^SS!^^^!^
areas ^are'iiis^
; : : : : : : : : : : : : : : : : : ; : : : : : : : : : : : : : : :^^
WfiT.Hk .! 9 ! !?.W! Hfl $kik
NPHALT
NPHLTQ
NPHLTR
NPHBCH
NPHXR2
NPHTRN
NPHQSV
NPUTIL
57
58
59
5D
5F
67
84
85
1
1
1
4
2
8
29
1
Program level HPL
Q code for HPL
R code for HPL
Branch for Resident Halt Routine (NPHALT)
Parameter save area
Transient storage area
Transient queue save area
Utility interlock byte. The utilities related to this byte are:
$COPY, $INIT, $ALT, and $BUI LD
X'80' - F2 allocated
X'40' - R2 allocated
X'20' - F1 allocated
X'10'- R1 allocated
X'08' - F2 in use
X'04' - R2 in use
X'02' - F1 in use
X'01' - R1 in use
NPSAVE
NPJUSV
87
8F
2
8
IAR save area used on cancel condition
Used to save registers on a 'JU' Halt
Figure A- 2. Program Level Communication Region (Part 3 of 3)
A-8
Model 6 Supervisor Data Area Formats
The following data areas are used by more than one Super-
visor program.
Supervisor Entry Points
This is an 1 8-byte area that is referenced by four LOAD
IAR instructions located at absolute main storage addresses.
Transient Area
This 768-byte data area begins at X'100' and is used to
contain the transient routines that are loaded into main
storage.
X'3FF'
|
X'100'
Absolute Number
Address of Bytes Contents
X'OO'
X'04'
X'08'
x'oe
x'lr
Load IAR for Dump Linkage
program (CDUMPD)
Load IAR for General Entry
(NENTRY)
Load IAR for IOS program
(DIODSP)
Load IAR for the IOS Wait
program (DIODWT)
Address of the system com-
munication area (SYS)
Keyboard Translate Table
This 64-byte data area is located at X'400' and is for the
Keyboard Printer. This area is initialized during system
generation to one of the nine possible translate tables. See
System Generation, Keyboard Selection Routine ($SGKBD).
System Communication Region— NCPL1
This area is used to pass information between system pro-
grams. Figure A-3 shows the name of each entry , its dis-
placement from the entry point (NCPL1), its byte count
and its contents. The address of this communication region
is located at X'll'.
D
Model Supervisor Data Area Formats A-9
Name
Hexadecimal
Displacement
Number of Bytes
Contents
NCPL1
NCPL2
NCXTAB
NCFCTR
NCSGEN
1
3
5
SI
2
2
2
1
1
Address of program level 1 communication area
Address of program level 2 communication area (Disk System),
X'0000' (Model 6)
Address of transient scheduler tables
Fetch trace I.D.
Sysgen byte
X'01 ' — Indicates to the Linkage Editor that Sysgen has
control and wants the current chain image placed
in the new supervisor.
X'80' — Indicates that $SGNPP has read the first record
from SWA.
NCPRTZ
NCLPSZ
NCRPSZ
NCSYSL
NCSLOG
7
8
g
A
D
1
1
1
1
3
Printer size
Left tractor page size
Right tractor page size
System List I.D.
Syslog indicator C/S/device (Halt/Syslog)
X'CO' - Console
X'OO' - Printer
NCSWRK
NCSYSQ
F
10
2
1
Cylinder/sector address of scheduler work area
Q byte for system pack from I PL routine
X'AO'- R1
X'A8'- F1
NCOLIB
NCSCH1
12
13
2
1
Cylinder/sector address of system object library
Scheduler switches
X'80' — Log device status
X'40' — System date received
X'20' - DPF system
X'10' — Scheduler interlock for program level 1
X'08' — Scheduler interlock for program level 2
X'04' - Date format
Indicator Off = MM/DD/YY
Indicator On = DD/MM/YY
wj««i I r Disk drive configuration
00 = F1,R1
01 = F1,R1, R2
11 = F1,R1, R2, F2
NCSMV1
14
1
Data management/scheduler switches (Program level 1 )
X'80'- I PL successful
X^' — Consecutive multivolume files on R2
X'08* — Consecutive multivolume files on R1
X'01 ' - Other type of file on R2
X'02' - Other type of file on R1
NCSMV2
15
1
Data management/scheduler switches (Program level 2)
X'04' — Consecutive multivolume files on R2
X'08' — Consecutive multivolume files on R1
X'01'— Other type of file on R2
X'02' - Other type of file on R1
Figure A-3. System Communication Region (Part 1 of 2)
A-10
Hexadecimal
Name
Displacement
Number of Bytes
Contents
NCSCH
16
1
Scheduler byte
X'80' — Printer interlock bit (printer has been opened)
X'20' — Conversational mode
X'40' — Rollin now processing
X'10' — Input for I -type program
X'08' — Inquiry handled
X'04' - PARTITION statement received
X'02' — Rollout now processing
X'OT— Inquiry pending
NCDSKQ
18
2
Disk drive #1 I/O queue
NCSCH2
19
1
Partition value for level 2 (number of sectors)
NCMBSV
1A
1
Model 6 control byte
NCXTA
1B
1
Reserved
NCSTOR
2F
20
Transient storage area
NC@CIO
31
2
Main storage address of keyboard interrupt routine
NCRCSS
34
3
C/S/# of Rollout area
:E;E£:£i;E;;;Ei:;$$r;riE;:;;=Ei:;;;$^i=£;
jijijijijijThe following data
areas are used oniy by a DPF system i^^^^M^M^^^M^^-M^^-^^M^^-^^i
NCSXR1
36
2
XR1 ■)
NCSXR2
38
2
XR2 > This is a storage area for interrupt level
NCSPSR
3A
2
PSR /
NCSNS
3B
1
Reader select switch sense information
X'80' - On = level 1
Off = level 2
X'40' - Cancel
X'20' - MFCU
X'10'- AUX reader
X'08' — Printer keyboard
NCHALT
3D
2
Address of resident halt routine (NPHALT)
NC@PIO
36
2
Address of printer IOB active
NCLPLC
37
1
Left page line count
NCRPLC
38
1
Right page line count
NCPEL
39
1
Print element location
Figure A-3. System Communication Region (Part 2 of 2)
Program Level Communication Region— N1COMN
This region is used to pass information between system pro-
grams. Figure A-4 shows the name for each entry, its dis-
placement from the entry point (Nl COMN), its byte count,
and its contents.
The address of this area is returned in XR2 after the user
branches to General Entry with a request indicator byte
(RIB)ofX'00\
Model Supervisor Data Area Formats A- 1 1
Name
Hexadecimal
Displacement
Number of Bytes
Contents
NPIOB
NPCHAN
NIOCMP
NIOQB
NIORB
NIOCB
NIOSB
NIONB
NIODAT
NIOSNS
NIOERR
NIOFLG
NIOOBR
NPDTF@
NPRIB
NPBEG
NPEND
NPQ
NPRLF
NPCYL
NPOLIB
NPXR1
NPXR2
NPNSI
NPORLF
NPTXT
NPTEMP
1
2
3
4
5
6
7
9
B
C
D
11
13
14
16
18
19
IB
1D
1F
21
23
25
27
29
2B
2
1
1
1
1
1
1
2
2
1
1
4
2
1
2
2
1
2
2
2
2
2
2
2
2
2
Entry for program level IOB
IOS chain pointer (disk IOS)
Completion code (disk IOS)
IOB Q byte
IOB R byte
IOB cylinder byte
IOB sector byte
Number of sectors to be read -1
Data buffer address
Sense bytes (disk IOS)
IOS error retry counter
Flag bits (disk IOS)
OBR - SDR transient routine save areas for the caller's ARR,
XR2 registers
First DTF address
Program request indicator byte (RIB)
Program level beginning address
Program level end address
Program level Q byte (as in the // LOAD statement)
Program relocation factor
C/S of load name for this program level
C/S of program object library
Register 1 save area ) , , . , ^.
_ . f Used as save area for the program
Register 2 save area > , imcm-tox/i
„ . , i requesting general entry (NENTRY)
Return address )
Overlay relocation factor supplied by loader
Overlay text address supplied by relocation program
Temporary storage for resident loader (NLOADR)
Parameter List for the Resident Loader (NLOADR)
NPCS
NP#S
NPLNK
NPRLD
NPENT
NPLOD
NPEOJ
NPUPSI
NPNAME
NPRELS
NPDATE
NPSYSI
2D
2E
30
31
33
35
36
37
3D
3E
44
48
2
1
2
1
2
2
1
1
6
1
6
4
C/S address of module to be loaded
Number of sectors to be read
Linkage edited address
Displacement of relocation directory (RLD)
Address of entry point of loaded module
Load address
End of job I.D.
X'40' - Successful I PL
X'20' — Library maintenance
X'10' — Cancel pending
X'OE' - RPG
X'01'- Rollout bit
UPS I switches
Program name that is currently being executed
Release level
Program date
SYSIN indicator (C/S/number of sectors/device info)
'FO' - Hopper 1 MFCU
'F8' - Hopper 2 MFCU
•F4' - 1442
'CO' - Console I/O
Figure A-4. Program Level Communication Region (Part 1 of 3)
A-12
Hexadecimal
Name
Displacement
Number of Bytes
Contents
Scheduler parameters
NPSCH1
49
1
Reader/Interpreter switches
X'01'- I PL mode
X'02'- INTER mode
X'04' - INTRA mode
X'08' — Override request
X'10'— Procedure being processed
X'20' - // SWITCH received
X'40' - // COMPI LE received
X'80' - // DATE received (INTRA)
NPSCH2
4A
1
Scheduler switch
X'01'— Controlled cancel
X'02' — Immediate cancel
X'04' — Clear Sysin device
X'08' - End of job halt
X'10' — A file statement received
X'20'- // READ from Sysin device
X'40' - Utility control cards in scheduler work area
X'80' — Continuation of OCL statement
NPSCH3
4B
1
Scheduler switches
X'80' — Tag sort required
X'40' — Allocate transient required
X'20' - Source required by RPG compiler
X'10' - Logging (Halt/Syslog)
Indicator Off — logging specified
Indicator On — logging not specified
Statement origin
X'08' - MVF file allocated
X'04' — Additional procedure statement
X'02' — Override statement from Sysin device
X'01'— Program level
Indicator Off — level 1
Indicator On — level 2
NPOBJQ
4C
1
Object deck output Q code
NPBPSD
4D
1
Selected status of Sysin device
X'DO' - Data Recorder (Model 6)
X'BO' - CRT (Model 6)
X'AO' - Matrix Printer (Model 6)
X'80' - MFCU
X'40' - Console I/O
X'20' - 1442
X'1 0' — AUX on reader select switch
X'08' — Console on reader select switch
X'01'— Nested procedure
NPSCH4
4E
— .
1
Allocation information
X'80' — This program level is active
X'40' - // IMAGE received
X'20' - // FORMS received
X'10' — F1 needed for allocation
X'08' — R1 needed for allocation
X'04' — F2 needed for allocation
X'02' — R2 needed for allocation
X'01 ' - EO J scheduler bit
On - Initial EOJ logic has been performed
Off — Initial EOJ logic has not been performed
Figure A-4. Program Level Communication Region (Part 2 of 3)
Model Supervisor Data Area Formats A- 1 3
Name
Hexadecimal
Displacement
NPSCH8
NPSCH5
NPHALT
NPHLTQ
NPHLTR
NPHBCH
NPHXR2
NPHTRN
NPHQSV
NPUTIL
NPSAVE
NPJUSV
4F
50
Number of Bytes
NPSCH6
52
NPSCH7
53
NPWKB
55
NPSCH9
56
Contents
Type of files needed
X'80' - Reader statement received
X'40' — Console in use by Data Management
X'20'- Valid FILE card received
X'10' - Shared I/O program
X'08'- 'I'or'B' type program
X'04' - Allocate unsuccessful
X'02' - Maximum number of tracks for allocation are available
X'01' — Minimum number of tracks for allocation are available
Reader Select switch setting, DPF only
X'80' -
X'10' -
X'08' -
X'20' -
Level 1
AUX position
P-KB position
MFCU position
Save area for IAR pointer
Save of last Sysin assignment
Disk I OS work area
Disk log unit ID for EOJ
X'80' - F2
X'40' - R2
X'20'-F1
X'10'-R1
X'08' - F2
X'04' - R2
X'02'-F1
X'01'-R1
I
These units are logged only once
All these units are logged at end of job
The 'followTng data areas are' used I only by the '^}dei}j:'^^^^^'^i^^^l v"^£!^Sv!3J.Ill
57
58
59
5D
5F
67
84
85
1
1
1
4
2
8
29
1
87
8F
Program level HPL
Q code for HPL
R code for HPL
Branch for Resident Halt Routine (NPHALT)
Parameter save area
Transient storage area
Transient queue save area
Utility interlock byte. The utilities related to this byte are:
$COPY, $INIT, $ALT, and $BUI LD
X'80' - F2 allocated
X'40' - R2 allocated
X'20' - F1 allocated
X'10'- R1 allocated
X'08' - F2 in use
X'04' - R2 in use
X'02' — F1 in use
X'01' - R1 in use
IAR save area used on cancel condition
Used to save registers on a 'JU' Halt
Figure A-4. Program Level Communication Region (Part 3 of 3)
A-14
Scheduler Data Area Formats
The following data areas are used by more than one
Scheduler routine.
Configuration Record
The configuration record consists of 4-byte segments. Each
segment is allocated to a different device that can be sup-
ported by the System/3 Disk Systems. The first byte of
each segment indicates to the system if the device is sup-
ported and if it is currently being used. The remaining three
bytes reflect unique characteristics of that device. Figure
A-5 shows the devices that might be supported by the Sys-
tem/3 Disk Systems and their unique characteristics. Ref-
erence is made to the significance of bits in the configura-
tion record. For example, X'80' indicates that the bit is
the indicator; X'40' indicates that bit 1 is the indicator, and
so forth. The system configuration record is located at C/S
address 00/04 on the system pack.
E
Scheduler Data Area Formats A- 1 5
Label
Hex Displacement
Number of Bytes
Content and Possible Byte Settings
MFCU
00
MFCU
X'80' — Device supported
Three bytes not used
PRNTR
04
22LC Line Printer
X'80' — Device supported
X'04' - DFC
X'02' 1 j Print
X'01' n \ Positions
00 - 96 PP
01 -120PP
11 -132PP
Three bytes not used
#5471
08
Console I/O (Keyboard-Printer)
X'80' — Device supported
Three bytes not used
#1442
0C
1442 80-Column Card Reader
X'80' — Device supported
Three bytes not used
DISK
10
Device supported
BASIC
Full capacity
Vz capacity
I Disk drive
-i ) configuration
00-F1,R1
01 -F1,R1, R2
11 -F1, R1, R2, F2
(i) { X'40' — Overlap supported
— Full capacity
— % capacity
- F1,R1,R2
- F1,R1,R2, F2
MTXPTR
14
Matrix Printer
/ X'08'
<3)l x ' 04 '
\1S\ X'02'
' x'or
Device supported
BASIC
Line mode
22 inch/200 print positions
13 inch/132 print positions
DFC
VFC
Pin
BASIC
Matrix printer
Line printer
22 inch (MP)/200 print positions
13 inch (MP)/132 print positions
One byte not used
Figure A-5. Configuration Record Formats (Part 1 of 3)
A-16
Label
Hex Displacement
Number of Bytes
Content and Possible Byte Settings
KEYBRD
18
4
Keyboard
/7\ j X'80' — Device supported
^ ( X'40' - BASIC
/t\ { X'80'— 16 command keys
v-' ( X'40' — 8 command keys
National Languages
. X'01'- Domestic (English)
/ X'02' — Austria/Germany
I X'03' — Belgium/France
) X'04' - Denmark
(?) < X'05' - Norway
J X'06' — Finland/Sweden
/ X'07' - Spain
y X'08'- Brazil/Portugal
X'09' — United Kingdom
One byte not used
LCD
1C
4
Ledger Card Device
X'80' — Device supported
Three bytes not used
DATREC
20
4
Data Recorder
X'80' — Device supported
X'40' - BASIC
Three bytes not used
BSCA
24
4
Binary Synchronous Communications Adapter
Qj { X'80' — Device supported
/ X'80' - EBCDIC
@< X'40'- ASCII
I X'20' - RJE (Disk System Only)
Two bytes not used
CRT
28
4
Cathode Ray Tube
X'80' — Device supported
X'40' - BASIC
Three bytes not used
#5475
2C
4
Data Entry Keyboard
X'80' — Device supported
Three bytes not used
MICR
30
4
Magnetic Ink Character Reader
X'80' — Device supported
Three bytes not used
38
1
End of devices indicator (X'FF')
CONSOL
(DPF)
39
2
Console on reader select switch
X'80' — Device supported
Device selected
/ X'OO'- MFCU1
2nd ) X'01'- MFCU2
Byte J X'02' - Console
V X'03' - 1442
G
Figure A-5. Configuration Record Formats (Part 2 of 3)
Scheduler Data Area Formats A- 1 7
Label
Hex Displacement
Number of Bytes
Content and Possible Byte Settings
AUX
(DPF)
3B
2
AUX on reader select switch
X'80' — Device supported
Device selected
/ X'OO'- MFCU1
2nd \ X'01'- MFCU2
Byte \ X'02' - Console
\ X'03'- 1442
BISCOR
3D
1
BASIC Core Size
X'01'- 8K
X'02' - 12K
X'04' - 16K
Available space in configuration record
SIAM
F8
1
Shared I/O Access Method
X'80' - Supported
TYPE
F9
1
System type
X'OO' - Disk System
X'40' - BASIC, Model 6
X'80' - Model 6 (Commercial)
BITS
FA
1
Bit significant indicators
X'80' - Reserved
X'40' — Inquiry
X'20' - DPF
DATFMT
FB
1
Date format
X'04' - DDMMYY World Trade
X'OO' - MMDDYY Domestic
LINEPP
FC
1
Lines/page
CO RSI Z
FF
3
Main storage size
XL3'002000'- 8K
XL3'003000'- 12K
XL3'004000' - 16K
XL3'006000' - 24K
XL3'008000' - 32K
Figure A-5. Configuration Record Formats (Part 3 of 3)
A-18
Volume Label
Scheduler Work Area (SWA)
This is a one sector (256-byte) area located in the third
sector of cylinder on any disk pack. Figure A-6 shows
the contents of this sector. The system directory (bytes
11-255) reflects the status and location of the source and
object libraries.
This data area is 48 sectors (two tracks) if the system is
dedicated, 96 sectors (four tracks) if operating within a
DPF system. Figure A-7 shows the contents of the dedi-
cated system's 48 sectors. When in a DPF system, two
tracks are dedicated to each program level. Each set of
tracks has the same format as the tracks for the dedicated
system with the exception that sector is not used on the
second cylinder. An additional data area of 48 sectors
(two tracks) is added if roll-in, roll-out is supported.
Decimal
Hexadecimal
Displacement
Displacement
Number of Bytes
Contents
0-2
0-2
3
Label identifier (VOL)
3-8
3-8
6
Volume identifier, 1-6 characters
9-10
9-A
2
Volume table of contents (VTOC) pointer C/S
11-12
B-C
2
Source directory pointer C/S
13-14
D-E
2
Next available library sector C/S
15-16
F-10
2
End of library C/S
17-18
11-12
2
Number of directory sectors
19-20
13-14
2
Number of permanent library sectors
21-22
15-16
2
Number of active library sectors
23-24
17-18
2
Number of available library sectors
25-36
19-24
12
Reserved
37-38
25-26
2
Object directory pointer C/S
39-40
27-28
2
End of directory C/S
41-42
29-2A
2
Start of library C/S
43-44
2B-2C
2
Allocated end of library C/S
45-46
2D-2E
2
Extended end of library C/S
47-48
2F-30
2
Number of available permanent directory entries
49-50
31-32
2
Number of available temporary directory entries
51-53
33-35
3
First temporary directory entry (C/S/D)
54-56
36-38
3
Next available temporary directory entry (C/S/D)
57-58
39-3A
2
Next available library sector for perms C/S
59-60
3B-3C
2
Next available library sector for temps C/S
61-62
3D-3E
2
Number of available library sectors for perms (after last perm)
63-64
3F-40
2
Number of available library sectors for temps
65-66
41-42
2
Number of active library sectors
67-68
43-44
2
Number of active O. type permanent sectors
69-70
45-46
2
Number of active R. type permanent sectors
71
47
1
Valid system indicator (X'80\ commercial system)
72-73
48-49
2
Rollin/rollout pointer C/S
74
4A
1
Rollin/rollout size
75-76
4B-4C
2
Scheduler work area pointer C/S
77
4D
1
Scheduler work area size
78-81
4E-51
4
Start and end of libraries (F1) C/S C/S
82-91
52-5B
10
Owner identification
92-105
5C-69
14
Device constants
106-117
6A-75
12
Alternate track assignments
118-168
76-A8
51
Available tracks, format 5
169-180
A9-B3
11
Copypack save area
181-205
B4-CD
26
Unused
206-21 5
CE-D7
10
Scientific system file indicator
216-239
D8-EF
24
Suspected defective track indicators
240-255
FO-FF
16
Scientific system indicators
Figure A-6. Volume Label Format
Scheduler Data Area Formats A-l 9
Sector
Track 1
(Track 3)
Sector
23
Sector
24
Track 2
(Track 4)
Sector
47
Sector
Name
Displacement (Hex)
Bytes
Contents
6
System date, EBCDIC characters from the DATE control statement
6
14
System temporary configuration record maintained by the IOS Open
routines.
Bytes relative to the start of the configuration area displacement:
00 - MFCU
01 - Printer
02 - 5471 Console I/O
03 - 1442
04 — Disk Drive
05 — Matrix Printer
06 - Keyboard
07 — Ledger Card Device
08 — Data Recorder
09 - BSCA
0A - Cathode Ray Tube
0B - 5475 Data Entry Keyboard
0C — Magnetic Ink Character Reader
14
52
These bytes are not used
1
FORMT1
2
Cylinder/sector of the first sector that contains the format one
images used by the Scheduler and Data Management
2
2
Cylinder/sector address of the last sector containing the format one
images
4
2
Cylinder/sector address of the last sector that information was read
from
6
1
Displacement into the last format one sector from which information
was read
7
2
Cylinder/sector address of the last format one sector into which
information was written
9
1
Displacement into the last format one sector into which information
was written
UTILCC
A
2
Cylinder/sector address of the first sector that contains the utility
control statements
C
2
Cylinder/sector address of the last sector containing the utility
control statements
E
2
Cylinder/sector address of the last utility control card sector that
information was read from
10
1
Displacement into the last utility control card sector from which
information was read
Figure A-7. Scheduler Work Area Format (Part 1 of 6)
A-20
Sector
Name
INITAB
MISCEl.
CONFIG
F0RMT5
Displacement (Hex)
11
13
14
16
18
1A
1B
1D
1E
20
22
24
25
27
28
68
6A
6C
72
73
74
Bytes
58
2
2
6
1
1
1
Contents
Cylinder/sector address of the last utility control statement
sector into which information was written
Displacement into the last utility control statement sector into
which information was written
Cylinder/sector address of the first sector that contains the
initiator table
Cylinder/sector address of the last sector containing the initiator
table
Cylinder/sector address of the last initiator table sector that
information was read from
Displacement into the last initiator table sector from which
information was read
Cylinder/sector address of the last initiator table sector into
which information was written
Displacement into the last initiator table sector into which
information was written
Cylinder/sector address of the first sector that contains miscel-
laneous work area for the Scheduler and Data Management
Cylinder/sector address of the last sector containing the miscel-
laneous work area
Cylinder /sector address of the last miscellaneous work area
sector that information was read from
Displacement into the last miscellaneous work area sector from
which information was read
Cylinder/sector address of the last miscellaneous work area
sector into which information was written
Displacement into the last miscellaneous work area sector into
which information was written
This area contains the program's temporary configuration record.
This record is used with the system configuration record to main-
tain proper feature checking. (See sector 0, with the displacement
of 6.)
Cylinder/sector address of the format 5's for the mounted packs
The attributes of the current program (these attributes are the
same as those found in the directory)
Source name from the COMPILE control statement
Source Unit from the COMPILE control statement
Sector where last format seven was placed
Displacement into sector where last format seven was placed
Figure A-7. Scheduler Work Area Format (Part 2 of 6)
Scheduler Data Area Formats A-21
Sector
Name
F5PACK
F5ATTB
F5CNTR
Displacement (Hex)
E
40
80
CO
Bytes
64
6
1
1
5
51
64
64
64
Contents
F5 image for fixed - one (F1) as follows:
Pack ID
Bit - Not used
- 1 Not used
Bit 1 - Not used
- 1 This unit is dedicated to this level
2 - Not used
- 1 This is this level's program or system disk pack
3 - Not used
- 1 This program level is using this disk pack
4 - Not used
- 1 Not used
5 - Not used
- 1 Not used
6 - Not used
- 1 Not used
7 - Not used
- 1 Not used
This byte contains the number of OPEN files
Not used
Format 5 for this disk pack
Format 5 image for removable 1 (R1) same format as bytes 0-63
Format 5 image for fixed - 2 (F2) same format as bytes 0-63
Format 5 image for removable - 2 (R2) same format as bytes 0-63
3-15
F1TAG
F1CHAN
F1LABL
F1 DATE
F1RTIN
1
3
B
11
Tag ID of index pointer
Chain address
File label
System date
Retain type
Figure A-7. Scheduler Work Area Format (Part 3 of 6)
A-22
Sector
3-15
Name
F1TYPE
F1RECL
F1KEYL
F1KEY0
F1 LSTR
F1LSTK
F1STDA
F1ENDA
F1STIX
F1ENIX
F1RECN
F1SEQN
F1PACK
F1NAME
F1UNIT
Displacement (Hex)
12
14
16
17
19
1C
1F
21
23
25
27
2A
2B
31
39
Bytes
Contents
File type
Left byte
Hex value Meaning
80
40
20
10
08
04
02
01
Right byte
ISAM
Consecutive
Direct
MVF
Input
Output
Update
Add
Hex value Meaning
80
40
20
10
08
04
02
01
ISAM
Consecutive
Direct
MVF
Last pack for consecutive MVF
Sequential add
Random add
Unordered add
Record length
Key length
Key location
C/S/D of last record
C/S/D of last key
C/S of start key
C/S of end data
C/S of start index
C/S of end index
Number of records at creation
Volume sequence number for MVF
Pack ID for this file
File name
Unit address of this file
Figure A-7, Scheduler Work Area Format (Part 4 of 6)
Scheduler Data Area Formats A-23
Sector
Name
Displacement (Hex)
Bytes
Contents
3-15
F1ATT1
3A
1
Attribute byte 1 as follows:
Bit 1 (X'80") - Offline - Pack and units not equal
1 — Online - Pack and units are equal
Bit 2 (X'40') - File processed
1 — File not processed
Bit 3 (X'20') - Not deferred mount
1 — Deferred mount
Bit 4 (X'10') 0- Not multivolume file
1 — Multivolume file
Bit 5 (X'08') 0-Old
1 — New
Bit 6 (X'04') - No location given
1 — Location given
Bit 7 (X'02') — Space and location not equal
1 — Space and location given and equal
Bit 8 (X'OT) Q- Unique labels
1 — Two labels are the same
F1ATT2
3B
1
Attribute byte 2 as follows:
Bit 1 (X'80') 0— Not primary pack of a multivolume file
1 — Primary pack of MVF
Bit 2 (X'40') 0-
1 - RETAIN-A on FILE card
Bit 3 (X'20') 0-
1 - Remove F1 from VTOC at EOJ
Bit 4 (X'10') 0- Not open
1 — Open
Bit 5 (X'08') 0- Not closed
1 - Closed
Bit 6 (X'04') — Reassigns as usual at end of job
1 — Do not reassign at end of job
Bit 7 (X'02') 0- Not used
1 — Not used
Bit 8 (X'01 ') - File not allocated
1 — File allocated
F1ATT3
3C
1
Attribute byte 3 as follows:
Bit 1 (X'80') - F1 not used
1 — F1 used
Bit 2 (X'40') - F2 not used
1 - F2 used
Bit 3 (X'20') - R1 not used
1 - R1 used
Bit 4 (X'10') - R2 not used
1 - R2 used
Bit 5 (X'08') - Not load to old file
1 — Load to old file
Bit 6 (X'04') 0- Not used
1 — F7 image given for this file
Bit 7 (X'02') - No DTF supplied for this file
1 — DTF supplied for this file
Bit 8 (X'01') - Special F1 image not used
1 — Special F1 image used
F1INDX
3D
1
DTF scheduler work area index
Figure A-7. Scheduler Work Area Format (Part 5 of 6)
A-24
Sector
Name
Displacement (Hex)
Bytes
Contents
3-15
F1UPSI
3E
1
Save area for Open routine
F1BYTE.
3F
1
Save area for Open routine
:•: Note: Format s
F7TAG
evens are loaded begin n
ing at the ena or secxor i o.
1 Format seven tag number
®&ffi^$888M
F7CHAN
1
2
Sector/displacement of corresponding format one
F7KEYL
3
1
Key length minus one
F7INDX
4
1
Format one index number
F7SEQN
5
1
Format one sequence number
F7L0KE
6
29
Low key
F7HIKE
35
29
High key
— —
16-28
Initiator table
29-32
Work area for miscellaneous usage
— .
— — — .
— — —
_ .
— — —
—
33-47
Utility control statement storage area
Figure A-7. Scheduler Work Area Format (Part 6 of 6)
Scheduler Data Area Formats A-25
Volume Table of Contents— VTOC
A volume table of contents (VTOC) resides on every disk at
location cylinder / sectors X'24'-X'27\ This table is com-
posed of file labels and an index. The index contains an
entry for each file label, and the file labels are used to
describe each file maintained on the disk pack. Figure A-8
describes the format of the VTOC index. Figure A-9 de-
scribes the format of the VTOC file labels.
c/s
0024
0028
6 Bytes
10 Bytes
Sector Displacement
Not Used
1
58 FF
58 3F
File Label
File Label
58 BF
File Label
1
54 FF
File Label
54 3F
File Label
1
50 7F
Label
I
48 FF
48 3F
5C 7F File Label
w
File Label
58 7F
File Label
54 BF
File Label
50 FF
File Label
50 3F
4C BF File Label
File Label
48 BF
File Label
1
44 FF
File Label
File Label
1
40 7F
Label
1
3CBF
38 3F
5C 3F File Label
File Label
File Label
54 7F
File Label
T
50 BF
File Label
1
4C FF
4C7F File Label
File Label
48 7F
File Label
44 BF
44 3F File Label
File Label
40 3F
File Label
1
3C7F
38 FF File Label
File Label
I
34 FF
File Label
34 3F
File Label
1
30 7F
Label
1
2CBF
File
4C 3F File Label
File Label
File Label
44 7F
40 FF File Label
40 BF
File Label
I
3CFF
File Label
"1
3C3F
38 BF File Label
File Label
34 BF
File Label
1
30 FF
File Label
1
30 3F
File Label
1
2C7F
File
File Label
38 7F File Label
File Label
"I
34 7F
File Label
File Label
File Label
Note: The first byte of the file label is set to one of the
following hexadecimal values:
X'OO' — F1 entry is not used.. (No file name is
present within the tag.)*
X'20' — F1 entry is used. The file name is con-
tained within a name list chain or the
system scratch list (S list). (No file name
is present within the tag.)*
X'40'
or
greater— F1 entry is used. The actual file name
is contained within the tag.
S/D address of the
first member on the
S list (two bytes)
Number of Format 1's
on the S list (one byte)
Number of free tags
in the VTOC index
(Note: Only P and
T formats are con-
sidered not free)
(one byte)
S/D address of the
last member on the
S list (two bytes)
•When a file name is not present, bytes 2-8 of
the file label are zeros.
Figure A-8. Volume Table of Contents-Index Format (Part 1 of 2)
A-26
c/s
002C
0030
0034
0038
003C
0040
Tag
II D
32
31
30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
1E
1D
1C
1B
64-Byte Records
S/D
2C
3F \
2C
7F \
2C
BF \
2C
FF
30
3F
30
7F
30
BF
30
FF
34
3F
34
7F
34
BF
I
34
38
FF
3F
\ Format 1 's
38
7F
'
38
BF
38
FF
3C
3F
3C
7F
3C
BF
3C
FF
40
3F
40
?F J
40
BF /
40
FF /
C/S
0044
0048
004C
0050
0054
0058
005C
Tag
ID
64-Byte Records
S/D
1A
44
3F \
19
44
7F *
18
44
BF
17
44
FF
16
48
3F
15
48
7F
14
48
BF
13
48
FF
12
4C
3F
11
4C
7F
10
4C
BF
F
4C
FF
E
D
50
50
3F
7F
\ Format 1 's
C
50
BF
B
50
FF
A
54
3F
9
54
7F
8
54
BF
7
54
FF
6
58
3F
5
58
7F
4
58
BF
3
58
FF
2
5C
3F
1
5C
7F /
First Format Seven
Second Format Seven
5C
5C
80
CO
> Format 7's
Figure A-8. Volume Table of Contents-Index Format (Part 2 of 2)
Note: See Figure A-9, Volume Table of Contents-File
Label Format for a description of the 64-byte records.
Scheduler Data Area Formats A-27
Hexadecimal
Displacement
Number of Bytes
Name
Contents
1
Tag ID
Tag identification
1
2
Chain address
Sector number/displacement into sector
3
8
File name
File name
B
6
Date
Date of file
11
1
Retain
Retain indicator for file
12
2
File type
Data Management File type*
14
2
Record length
The number of bytes within this record
16
1
Key length
The number of bytes within the record key
17
2
Key location
Displacement of the key within the record
19
3
Last record
Address (C/S/D) of the last record
1C
3
Last key
Address (C/S/D) of the last key
1F
2
Data start
Address (C/S) of the start of data
21
2
Data end
Address (C/S) of the end of the data
23
2
Index start
Address (C/S) of the start of the index
25
2
Index end
Address (C/S) of the end of the index
27
1
Rec/trks
X'80' On X'O' -# of tracks
Off XT -# of records
28
2
Rec/trks §
Number of records/tracks created (See previous byte)
2A
1
Vol seq #
Volume sequence number
2B
2
Back ptr
Back S pointer
2D-3F
19
.....
Not used
*See F1 TYPE, Figure A-7.
Figure A-9. Volume Table of Contents-File Label Format
System Communication Region
This data area can be located in the Dedicated Supervisor
Data Area Formats.
Program Level Communication Region
This data area can be located in Dedicated Supervisor Data
Area Formats.
Reader/Interpreter Work Area (RDIWA)
This is a 108-byte data area that is loaded just before the
Reader/Interpreter Mainline ($$RDML). The Reader/
Interpreter uses this data area as a communication region
for passing information between the Reader/Interpreter
Mainline and the control statement processors. Figure A- 10
contains the format for this work area.
A-28
Label
Hex Displacement
Contents
RDIWA
00
Beginning of the Reader/Interpreter work area
M1
01
A 2-byte constant of —1
P1
03
A 2-byte constant of 1
P3
05
A 2-byte constant of 3
FOUR
07
A 2-byte constant of 4
P10
09
A 2-byte constant of 10
INFO
OA
Logic switches
LOADRQ
X'80' — Indicates // LOAD required in procedure
CRIC
X'40' — Indicates invalid comment message
FNDOVR
X'20' — Indicates override being sought
*
X'10'- Not used
•
X'08' - Not used
PRNTED
X'04' — Print status of OCL statement in main storage
RETREQ
X'02' - Indicates do not return to caller from $$STHB
SABORT
X'OV — Controlled cancel temporary indicator
CINFO
OB
Logic switches for the CCP routines
SOURCE
X'80' — Source parameter not specified for the COMPILE record
UNIT
X'40' -I Unit not specified for the COMPILE record
SUBL
X'20' — Sublist being processed for the COMPILE record
CPROCS
X'10' — Current processing of COMPILE record
ON — Object parameter being processed
OFF — Unit parameter being processed
SPLTSL
X'08' — Split sublist on continue
*
X'04' — Not used
LAST
X'02' — Indicator for the last LOAD parameter
ASTISK
X'OV - // LOAD * specified
CBTABL
OC
Control byte table (DS CL10)
CKINFO
16
Logic switches for the $$RDML scan logic
SI GST
X'80' - Non-blank after // COMMENT record
BLKFND
X'40' - Blank found
COMENT
X'20' — Indicates comment found
CRCONT
X'10' — Continuation
ENDSCN
X'08' — Indicates end of scan
VRBFND
X'04' — Verb found on statement being scanned
NAMSCN
X'02' — Indicates searching for // FILE name
NOFIND
X'OV — Keyword or verb not valid
CKINF1
17
Logic switches for the $$RDML scan logic
KEYWRD
X'80' — Keyword found
*
X'40' - Not used
EQUL
X'20' — Parameters matched
CKDASH
X'10' -Dash (-) found
CKCOMA
X'08' — Comma (,) found
SUBLST
X'04' — Sublist being encoded
CKQUOT
X'02' - Quote (') found
SUBLND
X'OV — End of sublist found
FINFO
18
Switches for // FILE processing
*
X'80' - Not used
*
X'40' - Not used
RECSP
X'20' — Records specified
TKSSP
X'10' — Tracks specified
PACKSP
X'08' — Pack specified
UNITSP
X'04' — Unit specified
NAMESP
X'02' — Name specified
LOCSP
X'OV — Location specified
INF01
19
Logic Switches
NOPARM
X'80' — Null parameter being processed
WRTZRO
X'40' — Encoded // Fl LE statement loaded in format one area
NOPMER
X'20' — No parameters found on the statement
*
X'10'- Not used
«
X'08' - Not used
*
X'04' - Not used
*
X'02' - Not used
■»
X'01 ' - Not used
Figure A-10. Reader/Interpreter Work Area (RDIWA) Format (Part 1 of 3)
Scheduler Data Area Formats A-29
Label
Hex Displacement
Contents
INF02
1A
Logic switches for // FILE processing
FRSTPT
X'40' — First time put
UNITS
1B
Units specified on the // FILE statement
F1
X'80' — F1 specified in the unit parameter
*
X'40' — R1 specified in the unit parameter
*
X'20' — R2 specified in the unit parameter
F2
X'10' — F2 specified in the unit parameter
INFOID
1C
Input device indicator
CONSOL
X'CO' — Indicates that the console is input device
INFOP1
1D
NPSCH1 (Taken from the program level communication region)
DAT R EC
X'80' - // DATE received (INTRA mode)
CPLREC
X'40' - // COMPILE received
SWREC
X'20' - // SWITCH received
PROCMG
X'10' — Procedure merge indicator
OVRIDE
X'08' — Override statement in process
INTRA
X'04' — Mode indicator
INTER
X'02' — Mode indicator
IPL
X'01' — Mode indicator
INFOP2
1E
NPSCH2 (Taken from the program level communication region)
CONTNU
X'80' — Continuation
UTILCC
X'40' — Utility control cards in the scheduler work area
SLASHA
X'20' — A slash was read from Sysin device
FILREC
X'10' — // FILE statement received
EOJHLT
X'08' — End of job halt indicator
FLUSH
X'04' — Flush the Sysin device
H ABORT
X'02' — Immediate cancel
SABRT
X'01' — Controlled cancel
INFOP3
1F
NPSCH3 (Taken from the program level communication region)
*
X'80' - Not used
*
X'40' - Not used
*
X'20' - Not used
LOG
X'10' — Logging specification
ON — Do not log error
OFF — Log error
*
X'08' - Not used
ADSTMT
X'04' — Add statement processing indicator
•
X'02' - Not used
PGMLVL
X'01' — Program level indicator
ON - Level 2
OFF - Level 1
PARMS3
20
Parameter list for $$RDS3 (function byte)
©BEGIN
22
Beginning address for the scan
@END
24
End address of the scan
@ENCOD
26
Address of the encoded parameters
@HS1
28
Address of the Halt/Syslog print parameter list
@BGNEN
2A
Start address for encoding the statement
PARMHS
31
Halt/Syslog parameter list
@PLCR
33
Address of the program level communication region
@CBSAV
35
Address of the control byte being processed
NAMLEN
36
Length-1 of file name
FLNAME
3E
File name
#UNITS
3F
Number of unit parameters on the // FILE statement
# PACKS
40
Number of disk packs requested for this job
NUMPKS
41
Number of disk packs for the // Fl LE statement
ENDCNT
42
Counters used by the // DATE Control Card Processor ($$RDDT)
BTCNT
43
Counter used by the // DATE Control Card Processor ($$RDDT)
#LOC
44
Number of track parameters specified
#TKS
45
Number of track parameters specified
#REC
46
Number of record parameters specified
Figure A-10. Reader/Interpreter Work Area (RDIWA) Format (Part 2 of 3)
A-30
Label
Hex Displacement
Contents
RTRNAD
48
$$RDMK return address to $$RDML
ADPRC1
4A
Address of the procedure get parameter list
ER#SAV
4B
Temporary save area for the error number
ERROR#
4C
Error number to be logged
RTNID
4E
Two-byte ID for identifying the module calling $$STHB
VRBID
4F
Keyword scan information
0CL1
51
Prefix for OCL statements (//)
CKSEND
53
End of scan
CKSTRT
55
Start of scan
CS#SG
57
C/S/# of Source Library-Get ($$SYSG)
BUFEND
59
Address of blank past buffer one
ENCODE
5B
Address of present encoding
ERRRTN
5D
Address of the linkage to the error routine
SYSIN1
5E
Sysin parameter list (flag byte)
@BUF1
60
Address of the Sysin buffer
62
Address of the Sysin buffer
@WORK
64
Address of the work area for Sysin
ADST01
65
Scheduler Work Area-Get ($$SSGT) parameter list
65
Utility cards/first time/this level
66
Length of get (96)
67
Completion code
69
Address of the I/O area
6B
Transient save area
LOGERR
Go to ML 1000 without changing the ARR
REINIT
80
Indicator to read after logging error
ARR
08
Address return register
IAR
10
Instruction address register
Figure A-10. Reader/Interpreter Work Area (RDIWA) Format (Part 3 of 3)
Initial Halt/Syslog Parameter Table
The initial Halt/Syslog parameter table is loaded with
$$STHB and is located at the end of $$STHB. The table
contains the following information:
• Name of the module currently processing the control
statement.
• Routine cylinder/sector address of the correct table
($$STH0, $$STH1, $$STH2, $$STH3, or $$STH4) to
be loaded.
• A value to modify the error number.
• Valid modes and a wrong mode error number.
Figure A-l 1 shows the format of the ini