Skip to main content

Full text of "ibm :: system3 :: plm :: SY21-0502-2 System3 SystemControlProgram PLM Mar71"

See other formats


•••• 
•••• 



•••• 
•••• 



•••• 
•••• 



•••• •••• •••• 

•••• •••• •••• 

•••• •••• •••• 

•••••••••••••••••• 

•••••••••••••••••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&LT/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