cdc:nos2.source:opl871:sfp
Table of Contents
SFP
Table Of Contents
- [00009] SFP - SCOPE FUNCTION PROCESSOR.
- [00088] MACRO DEFINITIONS.
- [00090] EMESS - GENERATE ERROR MESSAGE
- [00168] ENTRY - DEFINE OVERLAY ENTRY POINT.
- [00183] FCN - DEFINE FUNCTION PROCESSOR.
- [00213] LDA - FORM ABSOLUTE CM ADDRESS.
- [00234] OVERLAY - GENERATE OVERLAY CONSTANTS.
- [00264] DIRECT LOCATION ASSIGNMENTS.
- [00296] ERR - PROCESS ERROR.
- [00311] MSR - PROCESS MASS STORAGE ERROR.
- [00337] SUBROUTINES WHICH MAY BE OVERLAID.
- [00339] PRS - PRESET PROGRAM.
- [00406] TFCN - TABLE OF FUNCTION CODE PROCESSORS.
- [00474] TSTS - TABLE OF STS FUNCTIONS PROCESSORS.
- [00489] SES - SET EXIT STATUS.
- [00866] SDT - SET *SCOPE 3.4* DEVICE NAME/TYPE.
- [01206] MESSAGE CODE TABLE.
- [01214] TABLE 1 (000 - 177 MESSAGE CODE)
- [01271] TABLE 2 (200 - 277 MESSAGE CODE) (SIS MESSAGES)
- [01344] TABLE 3 (300 - 377 MESSAGE CODES)
- [01382] MESSAGE AREA.
- [02216] CKP - CHECKPOINT REQUEST.
- [02227] REQ - REQUEST EQUIPMENT ASSIGNMENT.
- [02238] DEP - DUMP EXTENDED MEMORY FIELD LENGTH.
- [02249] DMP - DUMP CM FIELD LENGTH.
- [02305] ISP - INITIALIZE SPCW.
- [02399] NFE - NON-FATAL ERROR PROCESSOR.
- [02440] SNM - SET NAME IN MESSAGE.
- [02480] SPN - SET PACKAGE NAME.
- [02644] PIM - PROCESS MESSAGE INSERTIONS.
- [02773] NFE - NON-FATAL ERROR PROCESSOR.
- [02792] SES - SET EXIT STATUS.
- [02812] ICS - INSERT CHARACTER STRING.
- [02854] IDM - ISSUE DAYFILE MESSAGE.
- [02924] SST - SEARCH FOR SYMBOL TABLE.
- [02972] PMS - PROCESS MICRO SEARCH.
- [03033] CMP - COMPARE MICRO NAME.
- [03055] GNT - GET NEXT BLOCK.
- [03093] FPB - FILL PP BUFFER.
- [03172] PRESET.
- [03174] PRS - PRESET ROUTINE.
- [03338] TFIN - TABLE OF FUNCTION CODE TRANSLATIONS.
Source Code
- SFP.txt
- IDENT SFP,SFP
- PERIPH
- BASE MIXED
- QUAL$ EQU 1 DEFINES UNQUALIFIED COMMON DECKS
- SST
- SYSCOM
- *COMMENT SFP - SCOPE FUNCTION PROCESSOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE SFP - SCOPE FUNCTION PROCESSOR.
- SPACE 4,10
- ***** SFP - SCOPE FUNCTION PROCESSOR.
- * D. J. TAYLOR. 72/09/27.
- SPACE 4,10
- *** *SFP* IS A FUNCTION PROCESSOR WHICH IS CALLED BY THE
- * PPR SUBROUTINE *PLL* WHENEVER *PLL* IS UNABLE TO FIND A
- * REQUESTED PP PROGRAM. *SFP* WILL CHECK THE REQUESTED PP
- * PACKAGE AGAINST A TABLE OF ACCEPTABLE PP PACKAGE CALLS AND,
- * IF LEGAL, WILL CALL THE ASSOCIATED FUNCTION PROCESSOR TO
- * PROCESS THE REQUEST. THE FUNCTION PROCESSORS ARE DESIGNED
- * TO PROVIDE *SCOPE 3.4* CAPABILITY.
- SPACE 4,10
- *** CALL.
- *
- *
- * *SFP* IS CALLED DIRECTLY BY THE PPR SUBROUTINE *PLL*.
- SPACE 4,10
- *** ENTRY CONDITIONS.
- *
- *
- * (IR - IR+4) = ORGINAL PP PROGRAM CALL.
- * (PLLA - PLLA+1) = PP PACKAGE BEING CALLED.
- SPACE 4,10
- *** FUNCTIONS.
- *
- * THE FOLLOWING ARE THOSE PP PACKAGES WHO HAVE A ASSOCIATED
- * FUNCTION PROCESSOR -
- *
- * STS - *SCOPE 3.4* STATUS PACKAGE
- * MSD - *SCOPE 3.4* SDA/SIS MESSAGE GENERATOR
- * PFE - *SCOPE 3.4* EXTEND/ALTER FUNCTION
- * ACE - *SCOPE 3.4* ADVANCE COMMAND.
- * CKP - *SCOPE 3.4* CHECKPOINT
- * REQ - *SCOPE 3.4* REQUEST CALL
- * DMB - DUMP CM/EXTENDED MEMORY FIELD LENGTH IN BINARY.
- * DMM - DUMP MACHINE MEMORY.
- * DMP - DUMP FIELD LENGTH
- * DMD - DUMP FIELD LENGTH - DISPLAY CODE
- * DEP - DUMP EXTENDED MEMORY FIELD LENGTH
- * DED - DUMP EXTENDED MEMORY FIELD LENGTH - DISPLAY CODE
- * PRM - *SCOPE 3.4* PERMISSION CHECKING FUNCTION
- * D00 - *SCOPE 3.4* ERROR TEXT PROCESSOR
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- *
- * *XXX NOT IN PP LIB.*
- * THE PP PACKAGE, XXX, WAS NOT FOUND IN THE PPU
- * LIBRARIES.
- *
- * *XXX NOT IN PP LIB. CALLED BY YYY.*
- * THE PP PACKAGE, XXX, WAS CALLED BY THE PP PROGRAM,
- * YYY, AND WAS NOT FOUND IN THE PPU LIBRARIES.
- *
- * * SFP CALL ERROR.*
- * *SFP* WAS CALLED DIRECTLY AND NOT BY *PLL*.
- *
- * * SFP/XXX PARAMETER ERROR.*
- * THE PARAMETER ADDRESS SPECIFIED IN THE INPUT REGISTER
- * IS OUT OF RANGE. THE PROGRAM BEING CALLED IS XXX.
- *
- * *MONITOR CALL ERROR.*
- * THIS MESSAGE IS DETECTED BY *SFP* BUT IS ISSUED BY
- * *1AJ*.
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMSMSC
- *CALL COMSMSP
- QUAL COMSMTX
- *CALL COMSMTX
- QUAL *
- *CALL COMSPIM
- *CALL COMSWEI
- TITLE MACRO DEFINITIONS.
- EMESS SPACE 4,20
- ** EMESS - GENERATE ERROR MESSAGE
- *
- * EMESS TYPE,KEY,ERR,COM,RET,CODE,(MESSAGE)
- *
- * TYPE ERROR TYPE. MUST BE EITHER *FA* - FATAL OR
- * *TR* - TRIVAL.
- *
- * KEY KEY PROCESSING. MUST BE EITHER *KY* - KEY
- * PROCESSING REQUIRED, OR *NK* - NO KEY
- * PROCESSING REQUIRED.
- *
- * ERR MESSAGE CODE ORDINAL MINUS TABLE OFFSET. THIS
- * PARAMETER MUST BE 3 CHARACTERS LONG IN MACRO
- * CALL.
- *
- * COM COMMENT TO ERROR FILE. MUST BE EITHER *CM* -
- * COMMENT TO ERROR FILE, OR *NC* - NO COMMENT TO
- * ERROR FILE.
- *
- * RET RETURN FLAG. MUST BE EITHER *RT* - USER EXITS
- * ROUTINE AT ENTRY POINT, OR *NR* - USER EXITS
- * BY A JUMP INSTRUCTION.
- *
- * CODE RETURN CODE. A FOUR LETTER RETURN CODE
- * INFORMING THE USER OF AN ERROR.
- *
- * MESSAGE ERROR MESSAGE. NO LEADING BLANKS ALLOWED.
- * IF FIRST CHARACTER A BLANK, MESSAGE MUST
- * START IN COLUMN 2 OF A FOLLOWING CONTINUATION
- * COMMAND.
- PURGMAC EMESS
- EMESS MACRO TY,KE,ER,CT,RC,CD,MS
- .K MICRO 1,1,*MS*
- IFC NE,*".K"* *
- .K MICRO 1,,*MS*
- ELSE 4
- .K MICRO 34,1,*MS*
- IFC EQ,*".K"**,1
- ERR * -MESSAGE- NOT STARTED IN COL 2 OF CONT. LINE.*
- .K MICRO 34,,*MS*
- IFC EQ,*TY*FA*
- VFD 1/1
- ELSE 3
- IFC NE,*TY*TR*,1
- ERR * INCORRECT -TYPE- PARAMETER.*
- VFD 1/0
- IFC EQ,*KE*KY*
- VFD 1/1
- ELSE 3
- IFC NE,*KE*NK*,1
- ERR * INCORRECT -KEY- PARAMETER.*
- VFD 1/0
- IFC EQ,*ER**,1
- ERR * UNDEFINED -ERR- PARAMETER.*
- VFD 9/ER
- IFC EQ,*CT*CM*
- VFD 1/1
- ELSE 3
- IFC NE,*CT*NC*,1
- ERR * INCORRECT -COM- PARAMETER.*
- VFD 1/0
- IFC EQ,*RC*RT*
- VFD 1/0
- ELSE 3
- IFC NE,*RC*NR*,1
- ERR * INCORRECT -RET* PARAMETER.*
- VFD 1/1
- IFC EQ,*CD**,1
- ERR * UNDEFINED -CODE- PARAMETER.*
- VFD 2/0
- VFD 9/CD
- DATA C*".K"*
- EMESS ENDM
- ENTRY SPACE 4,10
- ** ENTRY - DEFINE OVERLAY ENTRY POINT.
- *
- * ENTRY NAME
- *
- * NAME NAME OF ENTRY ADDRESS
- PURGMAC ENTRY
- ENTRY MACRO NAME
- QUAL
- NAME EQU *+1R".M"*10000
- QUAL ".O"
- ENTRY ENDM
- FCN SPACE 4,10
- ** FCN - DEFINE FUNCTION PROCESSOR.
- *
- *
- * CALL FCN NAME,CHECK
- *
- * CALL NAME OF CALLING PP PACKAGE.
- *
- * NAME NAME OF ASSOCIATED FUNCTION PROCESSOR.
- *
- * CHECK IF DEFINED, A VALID PARAMETER ADDRESS IS
- * CONTAINED IN BITS 0 - 17 OF CALL.
- PURGMAC FCN
- MACRO FCN,A,B,C
- NOREF .I
- .I SET 0
- LOC .I/3
- IFC EQ,*C**
- VFD 1/1
- ELSE 1
- VFD 1/0
- VFD 5/B/10000
- .J MICRO 1,,*A*
- VFD 18/3L".J"
- CON B-B/10000*10000
- .I SET .I+3
- ENDM
- LDA SPACE 4,10
- ** LDA - FORM ABSOLUTE CM ADDRESS.
- *
- * LDA X,M
- *
- * X DIRECT CELLS CONTAINING RELATIVE ADDRESS
- *
- * M IF SPECIFIED, ONLY LOWER 17 BITS OF (X - X+1)
- * ARE USED.
- PURGMAC LDA
- LDA MACRO X,M
- LDD X
- IFC NE,*M**,1
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD X+1
- LDA ENDM
- OVERLAY SPACE 4,10
- ** OVERLAY - GENERATE OVERLAY CONSTANTS.
- *
- * OVERLAY (TEXT)
- *
- * TEXT TEXT OF SUBTITLE.
- PURGMAC OVERLAY
- * OVERLAY CONTROL.
- .N SET 0
- OVLB MICRO 1,, 2S BASE OVERLAY NAME
- OVERLAY MACRO TEXT
- QUAL
- .N SET .N+1
- .M MICRO .N,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
- .O MICRO 1,3, "OVLB"".M"
- QUAL ".O"
- TTL SFP/".O" - TEXT
- TITLE
- IDENT ".O",OVL TEXT
- *COMMENT SFP - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVL
- LJM *
- UJN *-2
- OVERLAY ENDM
- TITLE DIRECT LOCATION ASSIGNMENTS.
- * DIRECT LOCATION ASSIGNMENTS.
- FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
- CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
- PN EQU 35 - 36 PACKAGE NAME (2 LOCATIONS)
- PI EQU 37 PARAMETER AREA INDEX
- EI EQU 46 ERROR NUMBER
- OC EQU 47 JOB ORGIN CODE
- FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
- FA EQU 57 ADDRESS OF FNT ENTRY
- SP EQU 60 - 64 COMMAND POINTER (5 LOCATIONS)
- SFP TITLE MAIN PROGRAM.
- ** MAIN PROGRAM.
- ORG PPFW
- SFP PSN ENTRY FROM *PPR*
- PSN SPACE FOR RETURN JUMP FROM *EXR*
- RJM PRS PRESET (ENTRY FROM *EXR*)
- SFP1 LDC 0
- SFPA EQU *-1 (OVERLAY NAME)
- ZJN SFP2 IF NO OVERLAY REQUIRED
- LMC 2L"OVLB" LOAD OVERLAY
- RJM EXR
- SFP2 LJM * PROCESS REQUEST
- SFPB EQU *-1
- SFPX MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- ERR SPACE 4,10
- ** ERR - PROCESS ERROR.
- *
- * ENTRY (A) = ERROR NUMBER.
- ERR STD EI
- LDC ERP
- STM SFPB SET ERROR PROCESSING ENTRY
- SHN -14
- STM SFPA SET OVERLAY NAME
- UJN SFP1 LOAD ERROR PROCESSING OVERLAY
- ERRA BSS 5 STORAGE FOR ERROR TEXT DECK NAME
- ERRB BSS 1 STORAGE FOR ERROR TEXT MESSAGE NUMBER
- MSR SPACE 4,10
- ** MSR - PROCESS MASS STORAGE ERROR.
- *
- * ENTRY (T5) = EST ORDINAL OF DEVICE WITH ERROR.
- *
- * EXIT TO *SFPX* IF ERROR IS NOT RECOVERABLE OR ROLLABLE.
- * TO *1RJ* TO ROLL JOB IF ERROR IS RECOVERABLE AND
- * JOB IS ROLLABLE.
- MSR BSS 0 ENTRY
- LDM RDCT CHECK FOR NON-RECOVERABLE ERROR
- SHN 21-12
- MJN MSR1 IF NON-RECOVERABLE MASS STORAGE ERROR
- LDM MSD CHECK FOR SUBSYSTEM
- SHN 21-13
- PJN MSR1 IF SUBSYSTEM, RETURN ERROR
- LDD T5 EST ORDINAL OF DEVICE
- STD IR+4
- EXECUTE 1RJ ROLL JOB
- * LJM PPR DOES NOT RETURN
- MSR1 MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT
- USE OVERLAY
- OVL EQU *+10
- TITLE SUBROUTINES WHICH MAY BE OVERLAID.
- PRS SPACE 4,30
- ** PRS - PRESET PROGRAM.
- *
- * CHECKS THE PP PACKAGE FOR WHICH *PLL* COULD NOT FIND
- * THE ASSOCIATED ROUTINE AGAINST A TABLE OF SPECIAL FUNCTIONS
- * ACCEPTABLE. IF PACKAGE ACCEPTABLE AS SPECIAL FUNCTION, A
- * CHECK IS PERFORMED FOR VALID FUNCTION CODE AND PARAMETER
- * ADDRESS WITHIN USER AREA.
- *
- * ENTRY (IR) = ADDRESS OF REQUESTING PP PROGRAM.
- * (PLLA) = FIRST CHARACTER OF PP PACKAGE BEING CALLED.
- * (PLLB) = SECOND AND THIRD CHARACTERS OF PACKAGE NAME.
- *
- * EXIT *SFPA* = FUNCTION PROCESSOR NAME.
- * *SFPB* = FUNCTION PROCESSOR ENTRY ADDRESS
- * (PN - PN+1) = PACKAGE NAME.
- *
- * USES T6, PN - PN+1.
- *
- * MACROS PAUSE.
- PRS SUBR ENTRY/EXIT
- LDM PLLA STORE PACKAGE NAME
- STD PN
- LDM PLLB
- STD PN+1
- * CHECK FOR LEGAL PP PACKAGE CALL.
- LDC TFCN-3 SET START OF FUNCTION TABLE
- STD T6
- PRS1 LDN 3 ADVANCE TABLE ADDRESS
- RAD T6
- LDI T6
- LPN 77
- ZJN PRS4 IF NOT IN TABLE
- LMD PN COMPARE NAME
- SHN 14
- LMM 1,T6
- LMD PN+1
- NJN PRS1 IF NO MATCH
- * SET PROCESSOR PARAMETERS.
- LDM 2,T6 SET PROCESSOR ADDRESS
- STM SFPB
- LDI T6 SET OVERLAY
- SHN -6
- LPN 37
- STM SFPA
- LDI T6 CHECK PARAMETER PRESENT
- SHN -13
- NJN PRS5 IF NO PARAMETER CHECK
- LDD IR+3 CHECK PARAMETER ADDRESS
- LPN 77
- SHN 14
- LMD IR+4
- SHN -1
- ZJN PRS3 IF INCORRECT REQUEST
- SHN -5
- SBD FL
- MJN PRS5 IF ADDRESS IN FL
- PRS3 LDN /ERR/PAE&/ERR/PCE *SFP/XXX PARAMETER ERROR.*
- PRS4 LMN /ERR/PCE *MONITOR CALL ERROR.*
- LJM ERR
- PRS5 LJM PRSX RETURN
- TFCN SPACE 4,10
- ** TFCN - TABLE OF FUNCTION CODE PROCESSORS.
- *
- * ENTRY 3 WORDS.
- *
- *T 1/ C,5/ OV,18/ PP PACKAGE,12/ ADDR
- *
- * PP PACKAGE - NAME OF LEGAL PP PACKAGE CALL
- * OV OVERLAY NAME
- * ADDR ADDRESS OF FUNCTION PROCESSOR
- * C 0 IF TO CHECK PARAMETER ADDRESS
- TFCN BSS 0
- STS FCN STS,C STATUS PROCESSOR
- MSD FCN EMG,C SDA/SIS MESSAGE GENERATOR
- PFE FCN PFE,C *ALTER* FUNCTION
- ACE FCN ACE,C ADVANCE COMMAND
- PRM FCN PRM,C PERMISSION CHECKING FUNCTION
- CKP FCN CKP *SCOPE 3.4* CHECKPOINT REQUEST
- REQ FCN REQ,C *SCOPE 3.4* REQUEST
- DMB FCN DMP DUMP CM/ECS FIELD LENGTH REQUEST - BINARY
- DMM FCN DMP DUMP MACHINE MEMORY REQUEST
- DMP FCN DMP DUMP FIELD LENGTH REQUEST
- DMD FCN DMP DUMP FIELD LENGTH REQUEST - DISPLAY CODE
- DEP FCN DEP DUMP EXTENDED MEMORY FIELD LENGTH REQUEST
- DED FCN DEP DUMP ECS FL REQUEST - DISPLAY CODE
- D00 FCN D00,C ERROR TEXT PROCESSOR
- FIN FCN FIN,C FILE INFORMATION REQUEST
- SFP FCN ERR DETECT INCORRECT DIRECT CALL
- ERRNZ /ERR/SCE-0 INSURE DIRECT CALL ERROR IS ZERO
- LOC *O
- CON 0 TERMINATE TABLE
- OVERFLOW
- OVERLAY (STS - STATUS PROCESSOR.)
- STE SPACE 4
- ENTRY STS ENTRY
- LDA IR+3
- CRD SP READ STATUS HEADER
- LDN 0
- STD SP+2 CLEAR RETURN LENGTH
- LDD SP+1
- NJN STS2 IF LIST LENGTH .NE. 0
- STS1 LDN /ERR/PAE
- LJM ERR *PARAMETER ERROR*
- STS2 LDD IR+3
- SHN 14
- LMD IR+4
- ADD SP+1 CHECK LIST LENGTH
- ADN 1
- SHN -6
- SBD FL
- PJN STS1 IF END OF LIST BEYOND FL
- LDD IR+2
- NJN STS4 IF FUNCTION CODE .NE. 0
- STS3 LDN /ERR/IAF * SFP/STS INCORRECT FUNCTION CODE.*
- LJM ERR PROCESS ERROR
- STS4 SBN TSTSL
- PJN STS3 IF FUNCTION OUT OF RANGE
- LDM TSTS-1,IR+2
- STD T2 SET PROCESSOR ADDRESS
- LJM 0,T2
- ** TSTS - TABLE OF STS FUNCTIONS PROCESSORS.
- *
- *T 12/ ADDR
- *
- * ADDR FUNCTION ADDRESS
- TSTS BSS 0
- LOC 1
- CON STE
- CON STF
- CON STP
- TSTSL EQU * *TSTS* TABLE LENGTH
- LOC *O
- SES SPACE 4,10
- ** SES - SET EXIT STATUS.
- *
- * EXIT FUNCTION SET COMPLETE.
- *
- * USES SP+4.
- *
- * MACROS LDA.
- SES LDN 1
- STD SP+4 SET FUNCTION COMPLETE
- LDA IR+3
- CWD SP
- LJM SFPX RETURN
- EJECT
- STE SPACE 4,30
- *** FUNCTION 01 - RETURN MASS STORAGE DEVICES STATUS.
- *
- * RETURNS STATUS OF MASS STORAGE DEVICES STARTING AT
- * ADDRESS+1 OF ADDRESS CONTAINED IN BITS 0 - 17 OF PROGRAM
- * CALL. RETURN AREA IS DEFINED BY ADDRESS -
- *
- *
- *T ADR 12/ ,12/ LL,12/ LR,23/ ,1/A
- *
- * LL NUMBER OF WORDS, EXCLUDING THIS HEADER WORD, TO BE
- * USED FOR RETURN INFORMATION; MUST BE SET BY USER TO
- * OTHER THAN 0.
- *
- * LR NUMBER OF STATUS WORDS RETURNED.
- *
- * A AUTO RECALL REPLY; SET TO 0 BY USER AND SET TO 1 WHEN
- * REQUEST IS COMPLETE.
- *
- *
- * THE MASS STORAGE DEVICE STATUS IS RETURNED, 1 WORD
- * PER DEVICE, IN THE FOLLOWING FORMAT -
- *
- *
- *T ADR+N 3/ ,9/ STATUS,12/ DEV TYPE,12/ EST ORD,6/ CHAN,6/ EQ,12/ PRUS
- *
- * STATUS 000 - NOT AVAILABLE, OFF, NOT IN USE
- * 040 - UNLOADED PACK
- * 120 - *NOS* SYSTEM ROUTINES
- * 140 - *NOS* SYSTEM ROUTINES ON PACK
- * 620 - CONTAINS PERMANENT FILES
- * 640 - PACK WITH PERMANENT FILES
- * 700 - *NOS* SYSTEM AND PERMANENT FILES
- * 740 - *NOS* SYSTEM AND PERM FILES ON PACK
- *
- * DEV TYPE *SCOPE 3.4* HARDWARE MNEMONIC IN DISPLAY CODE.
- * AZ - 844-41 DISK SYSTEM
- *
- * PRUS NUMBER OF PRUS/100 OCTAL OF SPACE REMAINING ON THE
- * DEVICE. A VALUE OF 7777 INDICATES AT LEAST 262,100
- * PRUS AVAILABLE.
- STE BSS 0 ENTRY
- LDC =C$ **** ENDING SUPPORT OF STS FUNCTION 01 ****.$
- RJM DFM
- LDN ESTP
- CRD T6 READ EST POINTER
- LDD T6+3 SET LAST MASS STORAGE ORDINAL + 1
- STD T7
- LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD CN+2
- STE1 ZJN SES IF END OF LIST
- STE2 AOD CN+2
- LMD T7
- ZJN SES IF END OF MS ENTRIES
- SFA EST,CN+2 READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM CHECK MS DEVICE
- SHN 21-13
- PJN STE2 IF NOT MASS STORAGE
- SHN 13-6
- PJN STE3 IF DEVICE AVAILABLE
- LDN 0
- STE3 SHN -1 FORM INDEX TO STATUS TABLE
- LPN 5
- STD T2
- LDD CM+4 CHECK PERMANENT FILE STATUS
- SHN 3
- ADN PUGL
- CRD FN
- LDD FN+3
- LPN 17
- ADD FN+4
- ZJN STE4 IF NOT A PERMANENT FILE DEVICE
- LDN 2
- RAD T2
- STE4 LDM TSTE,T2 SET DEVICE STATUS
- STD CN
- LDD CM+2
- LPC 7000 EXTRACT EQUIPMENT
- SHN 3
- LMD CM+1 MERGE CHANNEL
- SHN 6
- STD CN+3 STORE CHANNEL/EQUIPMENT
- RJM SDT
- STD CN+1 SET DEVICE MNEMONIC
- LDD CM
- LPN 3
- ZJN STE5 IF DEVICE LOGICALLY *ON*
- LDN 0
- STD CN CLEAR STATUS BYTE
- STE5 LDD CM+4
- SHN 3 READ MST FOR DEVICE
- ADK TDGL
- CRD CM
- LDD CM
- SHN 14 FORM AVAILABLE SECTOR COUNT
- LMD CM+1
- SHN -6 SECTOR COUNT / 100B
- STD CN+4
- AOD SP+2 BUMP WORDS RETURNED COUNT
- LDA IR+3
- ADD SP+2 COPY ENTRY TO CM
- CWD CN
- LDD SP+1 CHECK FOR END OF LIST
- LMD SP+2
- LJM STE1 LOOP
- TSTE CON 0 TABLE OF DEVICE STATUS RETURNED
- LOC 0
- VFD 12/0040 UNLOAD PACK
- VFD 12/0620 CONTAINS PERMANENT FILES
- VFD 12/0640 PACK WITH PERMANENT FILES
- VFD 12/0120 *NOS* SYSTEM ROUTINES
- VFD 12/0140 *NOS* SYSTEM ROUTINES ON PACK
- VFD 12/0700 *NOS* SYSTEM AND PERMANENT FILES
- VFD 12/0740 *NOS* SYSTEM AND PERM FILES ON PACK
- LOC *O
- STF SPACE 4,30
- *** FUNCTION 02 - RETURN FILE STATUS.
- *
- * RETURNS TO THE CALLING PROGRAM THE FNT/FST ENTRIES
- * OF FILES REQUESTED WHOSE NAMES ARE SET IN EVERY THIRD
- * LOCATION STARTING WITH PARM+1 OF ADDRESS CONTAINED IN THE
- * *PARM* FIELD OF THE CALLING PROGRAM. IF THE FILE EXISTS,
- * THE FILE NAME WILL BE REPLACED BY THE FNT/FST OF *NOS*
- * MAPPED INTO THE *SCOPE 3.4* FNT/FST. IF THE FILE
- * DOES NOT EXIST, THE FILE NAME WILL BE ZEROED OUT.
- *
- * FORMAT OF LOCATION POINTED TO BY *PARM* -
- *
- *
- *T PARM 12/ ,12/ LL,12/ LR,23/ ,1/A
- *
- * LL NUMBER OF WORDS, EXCLUDING THIS HEADER WORD, TO BE
- * USED FOR RETURN INFORMATION; MUST BE SET BY USER TO
- * A MULTIPLE OF THREE.
- *
- * LR LENGTH OF STATUS AREA RETURNED.
- *
- * A AUTO RECALL REPLY - SET TO ZERO BY USER AND SET TO ONE
- * WHEN REQUEST IS COMPLETE.
- *
- * FORMAT OF MAPPED 3 WORD *NOS* FNT/FST.
- *
- *T 42/ FILE NAME, 18/ 0
- *T, 12/ DEVT, 48/ 0
- *T, 36/ 0, 4/ PERM, 20/ 0
- STF BSS 0 ENTRY
- LDN SSTL CHECK LOGGING ENABLED
- CRD CM
- LDD CM+3
- SHN 21-4
- MJN STF0 IF ANALYST LOGGING DISABLED
- LDC =C$ **** USE *FILINFO* IN PLACE OF *STS* CALL ****.$
- RJM DFM
- STF0 LCN 1 INITIALIZE PARAMETER INDEX
- STD PI
- STF1 LDN 3 ADVANCE PARAMETER INDEX
- RAD PI
- LDA IR+3
- ADD PI READ FILE NAME
- CRD FN
- RJM SAF SEARCH FOR ASSIGNED FILE
- NJN STF3 IF FILE FOUND
- LDN ZERL
- CRD FN
- CRD FS CLEAR FNT/FST RETURN
- CRD CN
- STF2 LDA IR+3
- ADD PI
- CWD FN WRITE FNT TO CENTRAL
- ADN 1
- CWD FS COPY FST
- ADN 1
- CWD CN
- LDN 3 ADVANCE WORDS RETURNED COUNT
- RAD SP+2
- ADN 2 CHECK - END OF PARAMETER AREA
- SBD SP+1
- MJN STF1 IF NOT END OF PARAMETER AREA
- LJM SES SET ERROR STATUS
- STF3 NFA FA,R
- CRD FN READ FNT
- ADN FSTL
- CRD FS READ FST
- LDD FN+3
- LPN 77 SAVE FILE CONTROL BITS
- STD T7
- LMD FN+3 CLEAR CONTROL BITS FROM FNT
- STD FN+3
- LDN 0 CLEAR REMAINING DATA
- STD FN+4
- LDD FS
- SFA EST READ EST ENTRY FOR DEVICE
- ADK EQDE
- CRD CM
- RJM SDT TRANSLATE DEVICE MNEMONIC/TYPE
- STD T4 SET DEVICE MNEMONIC
- SHN -14
- STD T3
- LDD T4
- LMC 2RNT
- ZJN STF6 IF 9 TRACK TAPE
- LMC 2RMT&2RNT
- NJN STF9 IF NOT TAPE
- STF6 LDD FS+2 CHECK TAPE FORMAT
- SHN -10
- LMN /COMSMTX/TFSI
- ZJN STF8 IF SI FORMAT
- LMN /COMSMTX/TFI&/COMSMTX/TFSI
- ZJN STF8 IF *I* FORMAT
- LMN /COMSMTX/TFS&/COMSMTX/TFI
- ZJN STF7 IF S FORMAT
- LMN /COMSMTX/TFL&/COMSMTX/TFS
- NJN STF8 IF NOT *L* TAPE
- LDN 20
- STF7 ADN 40
- STF8 ADC 4002 FORCE DENSITY TO 800 BPI ALWAYS
- STD FS
- LDD T3 SET NT/MT BIT
- LPC 100
- RAD FS
- LDD FS+4 SET LABELED FLAG
- SHN -13
- SHN 2
- RAD FS
- UJN STF10 CONTINUE
- STF9 LDD T3
- SHN 6
- STD FS STORE DEVICE TYPE
- STF10 LDN 0 CLEAR DATA FIELDS
- STD FS+1
- STD FS+2
- STD FS+3
- STD FS+4
- LDN ZERL
- CRD CN
- LDD T7 CHECK FILE CONTROL BITS
- LPN 35
- ZJN STF14 IF NO CONTROLS
- SHN 21-2
- PJN STF11 IF NOT *EXECUTE ONLY*
- LDN 0
- UJN STF15 SET *EXECUTE ONLY*
- STF11 SHN 21-0-21+2
- PJN STF12 IF NOT *READ ONLY*
- LDN 1
- UJN STF15 SET *READ ONLY*
- STF12 SHN 21-3-21+0+22
- MJN STF13 IF ALTER ONLY
- LDN 3
- UJN STF15 SET STATUS
- STF13 LDN 7
- UJN STF15 SET STATUS
- STF14 LDN 17
- STF15 SHN 10
- STD CN+3 STORE FILE CONTROL
- LJM STF2 RETURN INFORMATION TO CM
- STP SPACE 4,30
- *** FUNCTION 3 - RETURN PRU COUNT OF FILE(S).
- *
- * RETURNS TO THE CALLING PROGRAM THE NUMBER OF PRUS OF
- * THE FILES REQUESTED WHOSE NAMES ARE SET IN EVERY SECOND WORD
- * STARTING AT *PARM+1* OF ADDRESS CONTAINED IN THE *PARM* FIELD
- * OF THE CALLING PROGRAM. IF THE FILE EXISTS, THE PRU COUNT
- * WILL BE RETURNED IN BITS 0 - 23 OF THE SECOND WORD. IF THE
- * FILE DOES NOT EXIST, THE SECOND WORD WILL BE ZEROED.
- *
- * FORMAT OF LOCATION POINTED TO BY *PARM*.
- *
- *
- *T PARM 12/ ,12/ LL,12/ LR,23/ ,1/A
- *
- * LL NUMBER OF WORDS, EXCLUDING THIS HEADER, TO BE USED;
- * MUST BE SET BY USER TO A MULTIPLE OF 2.
- *
- * LR LENGTH OF STATUS REPLY AREA.
- *
- * A AUTO RECALL REPLY - SET TO ZERO BY USER AND SET TO ONE
- * WHEN REQUEST IS COMPLETE.
- STP BSS 0 ENTRY
- LDN SSTL CHECK LOGGING ENABLED
- CRD CM
- LDD CM+3
- SHN 21-4
- MJN STP0 IF ANALYST LOGGING DISABLED
- LDC =C$ **** USE *FILINFO* IN PLACE OF *STS* CALL ****.$
- RJM DFM
- STP0 LDN ZERL CLEAR SECTOR COUNT RETURN
- CRD CN
- LDN 1 INITIALIZE PARAMETER INDEX
- STD PI
- STP1 LDA IR+3
- ADD PI READ FILE NAME
- CRD FN
- RJM SAF SEARCH FOR ASSIGNED FILE
- NJN STP3 IF FILE FOUND
- STP2 STD CN+4
- SHN -14
- STD CN+3 SET SECTOR COUNT FOR FILE
- STP2.1 LDA IR+3
- ADD PI
- ADN 1
- CWD CN
- LDN 2
- RAD SP+2 ADVANCE WORDS RETURNED COUNT
- ADN 1
- STD PI ADVANCE PARAMETER INDEX
- SBD SP+1
- MJN STP1 IF NOT END OF PARAMETER AREA
- LJM SES SET ERROR STATUS
- STP3 NFA FA,R
- ADN FSTL
- CRD T5 READ FST
- SFA EST,T5 READ EST FOR DEVICE
- ADK EQDE
- CRD CM READ EST FOR DEVICE
- LDD CM
- SHN -13
- ZJN STP7 IF NOT MASS STORAGE
- LDD T5+2
- ZJN STP7 IF FILE UNUSED
- LDD FS+4 CHECK FOR DIRECT ACCESS FILE
- SHN -6
- LMN PMFT
- NJN STP5 IF NOT DIRECT ACCESS
- LDD FS+3 CHECK FOR SPECIAL ACCESS MODE
- LPN 30
- ZJN STP4 IF NOT SPECIAL ACCESS MODE
- LDD TH SET RETURN-ON-INACCESSIBLE OPTION
- RAD T5
- LCN 1
- STP4 ADN 1
- STP5 RJM SEI SEARCH FOR EOI
- MJP MSR IF DEVICE INACCESSIBLE
- LDD T2 SET SECTOR COUNT
- STD CN+3
- SOD T3 DECREMENT FOR EOI SECTOR
- PJN STP6 IF NO UNDERFLOW
- SOD CN+3
- LCN 0
- STP6 STD CN+4
- LJM STP2.1 LOOP
- STP7 LJM STP2 RETURN FILE STATUS
- SDT SPACE 4,10
- ** SDT - SET *SCOPE 3.4* DEVICE NAME/TYPE.
- *
- * ENTRY (CM - CM+4) = EST ENTRY
- *
- * EXIT (A) = *SCOPE 3.4* DEVICE TYPE/MNEMONIC
- *
- * USES T4.
- SDT4 LDC 140000B+2RAZ
- SDT SUBR ENTRY/EXIT
- LDD CM
- SHN 0-13
- NJN SDT4 IF MASS STORAGE
- STD T4 TABLE INDEX
- SDT1 LDM TKDT,T4 SEARCH DEVICE TABLE FOR MATCH
- ZJN SDT3 IF END OF TABLE
- LMD CM+3
- ZJN SDT2 IF MATCH FOUND
- AOD T4 GET NEXT ENTRY
- UJN SDT1 LOOP
- SDT2 LDD T4
- SHN 1 ORDINAL*2
- ADC TSDT ADD TABLE ADDRESS
- STD T3
- LDM 1,T3 LOAD DEVICE TYPE
- SHN 6
- LMI T3 MERGE DEVICE MNEMONIC
- UJN SDTX EXIT
- SDT3 LDN /ERR/IDC UNKNOWN DEVICE TYPE/NAME
- LJM ERR ERROR EXIT
- TKDT SPACE 4,10
- * TKDT - TABLE OF *NOS* DEVICE NAMES/TYPES.
- TKDT BSS 0
- LOC 0
- CON 2RMT 7 - TRACK TAPES
- CON 2RNT 9 - TRACK TAPES
- CON 2RCT CARTRIDGE TAPES
- CON 2RAT ACS CARTRIDGE TAPES
- CON 2RCR CARD READER
- CON 2RCP CARD PUNCH
- CON 2RLP LINE PRINTER
- CON 2RLQ LINE PRINTER (512)
- CON 2RTT TIME-SHARING TERMINAL
- CON 2RLR LINE PRINTER (580)
- CON 2RRD EST ORDINAL 0
- CON 2RNE NULL EQUIPMENT
- CON 0 END OF TABLE
- LOC *O
- TSDT SPACE 4,10
- * TSDT - TABLE OF *SCOPE 3.4* DEVICE NAMES/TYPES.
- TSDT BSS 0
- LOC 0
- CON 2RMT,4000 7 - TRACK TAPES
- CON 2RNT,4100 9 - TRACK TAPES
- CON 2RNT,4100 CARTRIDGE TAPES (TREATED AS 9-TRACK)
- CON 2RNT,4100 ACS CARTRIDGE TAPES (TREATED AS 9-TRACK)
- CON 2RCR,6000 CARD READER
- CON 2RCP,7000 CARD PUNCH
- CON 2RLP,5000 LINE PRINTER
- CON 2RLQ,5000 LINE PRINTER (512)
- CON 2RTA,6100 TIME-SHARING TERMINAL
- CON 2RLR,5000 LINE PRINTER (580)
- CON 0,0 EST ORDINAL 0
- CON 0,0 NULL EQUIPMENT
- LOC *O
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPCTI
- SEI$ EQU 1 MAKE INTERLOCKING AVAILABLE
- *CALL,COMPSEI
- *CALL COMPSAF
- *CALL COMPSTI
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (MSD - SDA/SIS MESSAGE GENERATOR.)
- EMG SPACE 4,10
- *** MSD - SDA/SIS MESSAGE GENERATOR.
- *
- * RETURNS MESSAGES TO SDA/SIS AS REQUESTED BY A
- * MESSAGE CODE CONTAINED IN THE PP CALL PARAMETER AREA. EMG
- * PERFORMS THE FUNCTION OF THE *SCOPE 3.4* PP PROGRAM *MSD*.
- *
- * ENTRY (IR - IR+4) = CALL TO *MSD* WITH THE FORMAT -
- *
- *
- *T, 24/ *MSD* ,18/MESSAGE CODE,18/ RETURN ADDRESS
- *
- *
- * MESSAGE CODE = MESSAGE ORDINAL OF MESSAGE TO BE RETURNED.
- *
- * RETURN ADDRESS = CM ADDRESS TO RETURN MESSAGE BEGINNING AT
- * (RETURN ADDRESS+1).
- *
- * EXIT (RETURN ADDRESS) .NE. 0. UPON COMPLETION OF MESSAGE
- * TRANSFER, (RETURN ADDRESS) IS SET
- * TO -
- *
- *T 12/ MESS CODE,12/MESS SIZE-1,12/MESS SIZE,23/ ,1/1
- *
- *
- * MESS CODE = MESSAGE CODE ISSUED IN *MSD* CALL.
- * MESS SIZE = MESSAGE SIZE IN CM WORDS OF MESSAGE RETURNED.
- SPACE 4,10
- * RETURN CODES.
- C001 EQU 445
- C002 EQU 446
- C003 EQU 6
- C004 EQU 50
- C005 EQU 50
- C006 EQU 50
- C007 EQU 100
- C010 EQU 117
- C011 EQU 147
- C012 EQU 352
- C013 EQU 147
- C014 EQU 166
- C015 EQU 167
- C016 EQU 170
- C017 EQU 170
- C020 EQU 170
- C021 EQU 170
- C022 EQU 171
- C023 EQU 253
- C024 EQU 300
- C025 EQU 301
- C026 EQU 302
- C027 EQU 304
- C030 EQU 352
- C031 EQU 352
- C032 EQU 370
- C033 EQU 356
- C034 EQU 357
- C035 EQU 421
- C036 EQU 426
- C037 EQU 441
- C040 EQU 447
- C041 EQU 150
- C042 EQU 0
- C043 EQU 0
- C044 EQU 0
- C045 EQU 0
- C046 EQU 0
- C047 EQU 452
- C050 EQU 170
- C051 EQU 135
- C052 EQU 136
- C053 EQU 252
- C055 EQU 52B
- C175 EQU 175
- C176 EQU 176
- C201 EQU 0
- C202 EQU 0
- C203 EQU 416
- C204 EQU 445
- C205 EQU 6
- C206 EQU 50
- C207 EQU 50
- C210 EQU 50
- C212 EQU 100
- C213 EQU 147
- C214 EQU 147
- C215 EQU 147
- C216 EQU 166
- C217 EQU 167
- C220 EQU 170
- C221 EQU 170
- C222 EQU 170
- C223 EQU 170
- C224 EQU 253
- C225 EQU 300
- C226 EQU 301
- C227 EQU 302
- C230 EQU 352
- C231 EQU 352
- C232 EQU 352
- C233 EQU 352
- C234 EQU 352
- C236 EQU 417
- C237 EQU 420
- C240 EQU 421
- C241 EQU 423
- C242 EQU 425
- C243 EQU 441
- C244 EQU 441
- C245 EQU 441
- C246 EQU 441
- C247 EQU 441
- C250 EQU 441
- C251 EQU 441
- C252 EQU 442
- C253 EQU 443
- C254 EQU 444
- C255 EQU 446
- C256 EQU 447
- C257 EQU 360
- C260 EQU 360
- C261 EQU 360
- C262 EQU 360
- C264 EQU 360
- C265 EQU 360
- C266 EQU 360
- C267 EQU 360
- C270 EQU 422
- C271 EQU 424
- C272 EQU 425
- C273 EQU 360
- C274 EQU 356
- C275 EQU 360
- C276 EQU 0
- C277 EQU 0
- C300 EQU 150
- C301 EQU 135
- C302 EQU 136
- C303 EQU 252
- C304 EQU 352
- C305 EQU 357
- C307 EQU 0
- C313 EQU 50
- C314 EQU 0
- C315 EQU 417
- C316 EQU 104
- C317 EQU 110
- ZERO EQU 0 NO CODE STATUS
- EMG SPACE 4,10
- ENTRY EMG
- LDD IR+3 LOAD MESSAGE CODE ORDINAL
- SHN -6
- STD T7
- LDD IR+2 LOAD MESSAGE CODE TABLE ORDINAL
- SBN 4
- MJN EMG2 IF ORDINAL WITHIN TABLE SET
- EMG1 LDC ERRMSG SET ERROR MESSAGE RETURN
- UJN EMG6 SET WRIT MESSAGE POINTER
- EMG2 ADN 1
- MJN EMG3 IF NOT *300* LEVEL MESSAGE
- LDC TEMG3L CHECK ORDINAL
- SBD T7
- MJN EMG1 IF ORDINAL NOT WITHIN BOUNDS
- LDC TEMG3 SET TABLE SET FWA
- UJN EMG5 LOAD MESSAGE ADDRESS
- EMG3 ADN 1
- MJN EMG4 IF LESS THAN *200* LEVEL MESSAGE
- LDC TEMG2L
- SBD T7
- MJN EMG1 IF ORDINAL NOT WITHIN BOUNDS
- LDC TEMG2 SET TABLE SET FWA
- UJN EMG5 LOAD MESSAGE ADDRESS
- EMG4 LDC TEMG1L
- SBD T7
- MJN EMG1 IF ORDINAL NOT WITHIN BOUNDS
- LDC TEMG1 SET TABLE SET FWA
- EMG5 STM EMGA
- LDM *,T7 LOAD
- EMGA EQU *-1
- EMG6 STM EMGB STORE MESSAGE ADDRESS
- ADN 1
- STD T1 PRESET ZERO BYTE SEARCH
- LDN ZERL PRESET HEADER RETURN
- CRD CM
- LDD IR+2 SET MESSAGE CODE
- SHN 6
- ADD T7
- STD CM
- AOD CM+4
- LDN 2
- * SET NUMBER OF LINES TO BE WRITTEN.
- EMG7 STD T2 PRESET CM BYTE COUNT
- AOD CM+2 UPDATE CM WORD COUNT
- EMG8 AOD T1 INCREMENT MESSAGE BYTE POINTER
- LDI T1
- ZJN EMG10 IF MESSAGE TERMINATED
- LPN 77
- NJN EMG9 IF CHARACTER PRESENT
- LDN 1R INSERT SPACE
- RAI T1
- EMG9 AOD T2 INCREMENT CM WORD BYTE COUNT
- SBN 5
- MJN EMG8 IF NOT END OF CM WORD
- LDN 0
- UJN EMG7 LOOP
- EMG10 LDD T2
- SBN 4
- ZJN EMG12 IF LAST BYTE OF CM WORD
- EMG11 LDC 2R INSERT FIELD INTO NEXT CM BYTE
- STI T1
- AOD T1
- AOD T2 INCREMENT CM WORD BYTE POINTER
- SBN 4
- MJN EMG11 IF NOT LAST BYTE OF CM WORD
- LDN 0
- STI T1
- EMG12 LDD CM+2 SET TOTAL CM WORD COUNT
- SBN 1
- STD CM+1
- LDD IR+3 VALIDATE RETURN ADDRESS
- LPN 37
- SHN 14
- ADD IR+4
- ADD CM+2
- SHN -6
- SBD FL
- MJN EMG13 IF ADDRESS VALID
- LDN /ERR/PAE *PARAMETER ERROR.*
- LJM ERR PROCESS ERROR
- EMG13 LDD IR+3 SET USER RETURN ADDRESS
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- ADN 1
- CWM *,CM+2 SEND MESSAGE TO USER
- EMGB EQU *-1
- SBD CM+2 SEND MESSAGE HEADER
- SBN 1
- CWD CM
- LJM SFPX EXIT
- TITLE MESSAGE CODE TABLE.
- ** MESSAGE CODE TABLE.
- *
- * CONSISTS OF SET OF TABLES WHOSE POSITION CORRESPONDS
- * TO A MESSAGE CODE NUMBER CONTAINED IN (IR+2 - IR+3). THE
- * ADDRESS CONTAINED IN EACH TABLE ENTRY CORRESPONDS TO THE
- * FWA OF THE MESSAGE ASSOCIATED WITH THE CALLING MESSAGE CODE.
- SPACE 4,10
- ** TABLE 1 (000 - 177 MESSAGE CODE)
- TEMG1 BSS 0
- LOC 0
- CON ERRMSG
- CON TS1M1 KEY NOT FOUND
- CON TS1M2 DUPLICATE KEY FOUND
- CON TS1M3 FILE CONTENT NOT COMPATIBLE
- CON TS1M4 OPEN FILE LIMIT
- CON TS1M5 EXISTING FILE
- CON TS1M6 FILE ILLEGALLY EXTENDED
- CON TS1M7 EOI ENCOUNTERED
- CON TS1M8 PUT, OR REPLACE ERROR
- CON TS1M9 CHECKSUM ERROR-DATA
- CON ERRMSG
- CON TS1M11 CHECKSUM ERROR-FSTT
- CON TS1M12 INCOMPLETE FIT
- CON TS1M13 RECORD LENGTH ERROR
- CON TS1M14 RECORD LENGTH ERROR
- CON TS1M15 MINIMUM RECORD SIZE ERROR
- CON TS1M16 KEY POSITION RANGE ERROR
- CON TS1M17 RELATIVE KEY POSITION RANGE ERROR
- CON TS1M18 INCORRECT HASHING ROUTINE
- CON TS1M19 FILE LIMIT REACHED
- CON TS1M20 NO READ PERMISSION
- CON TS1M21 NO MODIFY PERMISSION
- CON TS1M22 NO EXTEND PERMISSION
- CON TS1M23 ILLEGAL OVERFLOW BLOCK CREATION
- CON TS1M24 UNKNOWN CLOSING FILE
- CON TS1M25 UNEQUAL NUMBER OF FILES/FITS
- CON TS1M26 FATAL I-O ERROR
- CON TS1M27 TRIVAL ERROR LIMIT REACHED
- CON TS1M28 NOT ENOUGH BUFFER SPACE
- CON TS1M29 UNSPECIFIED WSA
- CON TS1M30 ILLEGAL GETN
- CON TS1M31 HASH KEY OUTSIDE HOME BLOCK
- CON TS1M32 UNSEPCIFIED KEY ADDRESS
- CON TS1M33 FILE NOT ON MASS STORAGE
- CON TS1M34 ILLEGAL GETN AFTER EOI
- CON TS1M35 ILLOGICAL SUCCESSIVE SEEKS
- CON TS1M36 ILLEGAL CHECKSUM
- CON TS1M37 ILLOGICAL KEY CHANGE
- CON TS1M38 EMPTY HOME BLOCK
- CON TS1M39 FILE ALREADY OPEN
- CON TS1M40 MINIMUM RECORD SIZE ERROR
- CON TS1M41 RMS READ PARITY ERROR
- CON TS1M42 RMS WRITE PARITY ERROR
- CON TS1M43 RMS LIMIT EXCEEDED
- CON TS1M44 BLOCK SIZE TOO LARGE
- CON TS1M45 FILE NOT CLOSED AFTER UPDATE
- CON TS1M46 MRL/MAXRECSZ CONFLICT
- LOC *O
- TEMG1L EQU *-TEMG1 LENGTH OF TABLE
- SPACE 4,10
- ** TABLE 2 (200 - 277 MESSAGE CODE) (SIS MESSAGES)
- TEMG2 BSS 0
- LOC 0
- CON ERRMSG
- CON ERRMSG
- CON TS2M2 BOI ENCOUNTERED
- CON TS2M3 ONLY PUT ALLOWED
- CON TS2M4 KEY NOT FOUND
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON TS2M10 ILLEGAL SEQUENTIAL PROCESSING
- CON ERRMSG
- CON TS2M12 CHECKSUM ERROR-INDEX
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON TS2M17 RECORD SIZE NEGATIVE
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON TS2M26 PTREE OVERFLOW
- CON TS2M27 BAD FIT ADDRESS
- CON TS2M28 INTERNAL ERROR
- CON ERRMSG
- CON TS2M30 ONLY REPLACE .EQ. SIZE RECORDS
- CON TS2M31 NO REWIND
- CON ERRMSG
- CON TS2M33 CANNOT DELETE ACTUAL RECORDS
- CON TS2M34 CANNOT SKIP BACKWARDS
- CON TS2M35 MAJOR KEY WITH SYMB KEY ONLY
- CON TS2M36 CHANGE KEY TYPE
- CON TS2M37 CHANGE KEY SIZE
- CON TS2M38 KEY TYPE INCORRECT
- CON TS2M39 NO KEY DEFINED
- CON TS2M40 KEY SIZE ILLEGAL
- CON TS2M41 MAJOR KEY SIZE ILLEGAL
- CON TS2M42 INVALID ACTUAL KEY
- CON TS2M43 COMP-1 KEY BAD BIAS
- CON TS2M44 NEW KEY .LT. LAST KEY
- CON ERRMSG
- CON ERRMSG
- CON TS2M47 CANNOT SPECIFY SETBLKI
- CON TS2M48 BAD BUFFER ADDRESS
- CON TS2M49 NOT AFTER OPEN
- CON TS2M50 ERROR IN CALLING LIST
- CON ERRMSG
- CON TS2M52 WRONG NO. OF PARAMETERS
- CON TS2M53 INCONSISTENT CALLING SPEC.
- CON TS2M54 CANNOT PUT IN SEQ. MODE
- CON TS2M55 CANNOT DELETE IN SEQ. MODE
- CON TS2M56 CANNOT SEEK IN SEQ. MODE
- CON TS2M57 CANNOT GET IN SEQ. MODE
- CON TS2M58 CANNOT SKIP BACKWORD IN SEQ. MODE
- CON TS2M59 PARAMETER NNN OUT OF RANGE
- CON ERRMSG
- CON TS2M61 SISV1 PARAMETER ONE ERROR
- CON TS2M62 DELETED LAST RECORD
- CON TS2M63 EMPTY FILE OPENED
- LOC *O
- TEMG2L EQU *-TEMG2 TABLE LENGTH
- SPACE 4,10
- ** TABLE 3 (300 - 377 MESSAGE CODES)
- TEMG3 BSS 0
- LOC 0
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON TS3M4 FATAL I/O ERROR
- CON ERRMSG
- CON ERRMSG
- CON TS3M7 SIS RECOVER ERROR
- CON ERRMSG
- CON ERRMSG
- CON ERRMSG
- CON TS3M11 NONEXISTENT FILE
- CON TS3M12 DATA BLOCK/SIZE/FACTOR SET
- CON TS3M13 REPLACE LARGER RECORD IN SEQ. MODE
- CON TS3M14 ONLY PUT IN CREATE
- CON TS3M15 SISV1 FILE NOT OPEN
- CON TS3M16 FILE SLOT EMPTY
- CON TS3M17 FILE SLOT OCCUPPIED
- CON TS3M18 INVALID ACTUAL KEY
- CON TS3M19 HEADER LENGTH ERROR
- CON TS3M20 BLOCKING TOO LARGE
- CON TS3M21 MINN RECORD SIZE ERROR
- CON TS3M22 RECORD SIZE ERROR
- CON TS3M23 POSITION ERROR
- CON TS3M24 PADDING PERCENTAGE ERROR
- CON TS3M25 FILE STORAGE LIMIT EXCEEDED
- CON TS3M26 INTERNAL I/O ERROR
- CON TS3M27 ILLEGAL OPEN
- CON TS3M28 BLOCKING FACTOR ERROR
- CON TS3M29 FILE LIMIT REACHED
- LOC *O
- TEMG3L EQU *-TEMG3 TABLE SIZE
- TITLE MESSAGE AREA.
- ** MESSAGE AREA.
- *
- * ALL MESSAGES IN THIS AREA ARE IN SEQUENTIAL
- * ASCENDING ORDER BY TABLE AND POSITION.
- SPACE 4,10
- * ILLEGAL MESSAGE CODE RETURN.
- ERRMSG EMESS FA,NK,12B,NC,RT,C012,(
- ,ILLEGAL CALL TO DIAGNOSTIC ROUTINE)
- * TABLE 1 MESSAGES.
- TS1M1 EMESS TR,KY,01B,NC,RT,C001,(
- ,KEY NOT FOUND - FILE POSITION ALTERED - REQUEST IGNORED)
- TS1M2 EMESS TR,KY,02B,NC,RT,C002,(
- ,DUPLICATE KEY FOUND - FILE POSITION ALTERED - REQUEST IGNORED)
- TS1M3 EMESS FA,NK,03B,NC,RT,C003,(
- ,FILE CONTENT NOT COMPATIBLE WITH FILE TYPE)
- TS1M4 EMESS FA,NK,04B,NC,RT,C004,(
- ,NUMBER OF FILES PERMITTED TO BE OPEN SIMULTANEOUSLY HAS BEEN EXCEEDED)
- TS1M5 EMESS FA,NK,05B,NC,RT,C005,(
- ,FILE ALREADY EXISTS-CANNOT OPEN NEW)
- TS1M6 EMESS FA,NK,06B,NC,RT,C006,(
- ,FILE ILLEGALLY EXTENDED-EOI MOVED)
- TS1M7 EMESS TR,NK,07B,CM,RT,C042,(
- ,END OF INFORMATION ENCOUNTERED)
- TS1M8 EMESS TR,KY,10B,NC,RT,C010,(
- ,PUT,OR REPLACE WITH LARGER RECORD ILLEGAL BETWEEN GETN COMMANDS)
- TS1M9 EMESS FA,NK,11B,NC,RT,C011,(
- ,CHECKSUM ERROR-DATA BLOCK)
- TS1M11 EMESS FA,NK,13B,NC,RT,C013,(
- ,CHECKSUM ERROR-FSTT)
- TS1M12 EMESS FA,NK,14B,NC,RT,C014,(
- ,FIT INCOMPLETE - CANNOT CREATE FILE)
- TS1M13 EMESS TR,NK,15B,NC,RT,C015,(
- ,RECORD LENGTH OUTSIDE MIN-MAX RANGE - REQUEST IGNORED)
- TS1M14 EMESS FA,NK,16B,NC,RT,C016,(
- ,RECORD SIZE EXCEEDS BLOCK SIZE)
- TS1M15 EMESS FA,NK,17B,NC,RT,C017,(
- ,MINIMUM RECORD SIZE EXCEEDS MAXIMUM)
- TS1M16 EMESS FA,NK,20B,NC,RT,C020,(
- ,KEY POSITION OUT OF RANGE)
- TS1M17 EMESS FA,NK,21B,NC,RT,C021,(
- ,RELATIVE KEY POSITION OUT OF RANGE)
- TS1M18 EMESS FA,NK,22B,NC,RT,C022,(
- ,INCORRECT HASHING ROUTINE)
- TS1M19 EMESS TR,KY,23B,NC,RT,C023,(
- ,FILE LIMIT REACHED-RECORD NOT INSERTED)
- TS1M20 EMESS FA,NK,24B,NC,RT,C024,(
- ,NO READ PERMISSION)
- TS1M21 EMESS FA,NK,25B,NC,RT,C025,(
- ,NO MODIFY PERMISSION)
- TS1M22 EMESS FA,NK,26B,NC,RT,C026,(
- ,NO EXTEND PERMISSION)
- TS1M23 EMESS TR,NK,27B,NC,RT,C027,(
- ,NOT ALLOWED TO CREATE OVERFLOW BLOCKS)
- TS1M24 EMESS TR,NK,30B,NC,RT,C030,(
- ,FILE TO BE CLOSED IS NOT KNOWN)
- TS1M25 EMESS FA,NK,31B,NC,RT,C031,(
- ,TOTAL OF OPEN FILES NOT EQUAL TO TOTAL OF FIT ADDRESSES)
- TS1M26 EMESS FA,NK,32B,NC,RT,C032,(
- ,FATAL I-O ERROR)
- TS1M27 EMESS FA,NK,33B,NC,RT,C033,(
- ,TRIVIAL ERROR LIMIT REACHED)
- TS1M28 EMESS FA,NK,34B,NC,RT,C034,(
- ,NOT ENOUGH BUFFER SPACE)
- TS1M29 EMESS TR,NK,35B,NC,RT,C035,(
- ,WORKING STORAGE ADDRESS NOT SPECIFIED-REQUEST IGNORED)
- TS1M30 EMESS TR,NK,36B,NC,RT,C036,(
- ,GETN NOT ALLOWED DURING FILE CREATION - REQUEST IGNORED)
- TS1M31 EMESS FA,KY,37B,NC,RT,C037,(
- ,HASHED KEY OUTSIDE HOME BLOCK AREA)
- TS1M32 EMESS TR,NK,40B,NC,RT,C040,(
- ,KEY ADDRESS NOT SPECIFIED - REQUEST IGNORED)
- TS1M33 EMESS FA,NK,41B,NC,RT,C041,(
- ,FILE NOT ON MASS STORAGE DEVICE)
- TS1M34 EMESS TR,NK,42B,NC,RT,C007,(
- ,CANNOT GETN AFTER EOI ENCOUNTERED)
- TS1M35 EMESS TR,NK,43B,CM,RT,C043,(
- ,ILLOGICAL SUCCESSIVE SEEK REQUESTS)
- TS1M36 EMESS TR,NK,44B,CM,RT,C044,(
- ,CANNOT CHECKSUM A FILE CREATED WITHOUT CHECKSUMS)
- TS1M37 EMESS TR,NK,45B,CM,RT,C045,(
- ,ILLOGICAL TO CHANGE THE KEY BEFORE SEEK FUNCTION COMPLETED)
- TS1M38 EMESS TR,NK,46B,CM,RT,C046,(
- ,HOME BLOCK EMPTY - HASHING ROUTINE NOT VERIFIED)
- TS1M39 EMESS FA,NK,47B,NC,RT,C047,(
- ,FILE ALREADY OPEN)
- TS1M40 EMESS FA,NK,50B,NC,RT,C050,(
- ,MINIMUM RECORD SIZE LESS THAN KEY LENGTH PLUS KEY POSITION)
- TS1M41 EMESS FA,NK,51B,NC,RT,C051,(
- ,RMS READ PARITY ERROR)
- TS1M42 EMESS FA,NK,52B,NC,RT,C052,(
- ,RMS WRITE PARITY ERROR)
- TS1M43 EMESS FA,NK,53B,NC,RT,C053,(
- ,SYSTEM MASS STORAGE LIMIT EXCEEDED)
- TS1M44 EMESS FA,NK,54B,CM,RT,C175,(
- ,REQUESTED DATA OR INDEX BLOCK SIZE TOO LARGE)
- TS1M45 EMESS TR,NK,55B,NC,NR,C055,(
- ,FILE NOT CLOSED AFTER LAST UPDATE - FILE CONDITION QUESTIONABLE)
- TS1M46 EMESS TR,NK,56B,NC,NR,C176,(
- ,MRL IN FIT LESS THAN MAXRECSZ IN FSTT, WSA MAY BE TOO SHORT)
- SPACE 4,10
- * TABLE 2 MESSAGES.
- TS2M2 EMESS TR,KY,02B,CM,NR,C202,(
- ,BEGINNING OF INFORMATION ENCOUNTERED)
- TS2M3 EMESS FA,KY,03B,NC,RT,C203,(
- ,ONLY PUT ALLOWED DURING INITIAL CREATION)
- TS2M4 EMESS TR,KY,04B,NC,RT,C204,(
- ,KEY NOT FOUND-FILE POSITION ALTERED-REQUEST IGNORED)
- TS2M10 EMESS TR,KY,12B,NC,RT,C212,(
- ,CANNOT PROCESS SEQUENTIALLY BEYOND FILE BOUNDRIES.)
- TS2M12 EMESS FA,NK,14B,NC,RT,C214,(
- ,CHECKSUM ERROR-INDEX BLOCK)
- TS2M17 EMESS FA,NK,21B,NC,RT,C221,(
- ,RECORD SIZE NEGATIVE)
- TS2M26 EMESS FA,NK,32B,NC,RT,C232,(
- ,HIERARCHY TABLE OVERFLOW)
- TS2M27 EMESS FA,NK,33B,NC,RT,C233,(
- ,BAD FIT ADDRESS)
- TS2M28 EMESS FA,NK,34B,NC,RT,C234,(
- ,INTERNAL ERROR)
- TS2M30 EMESS TR,KY,36B,NC,RT,C236,(
- ,CAN ONLY REPLACE WITH EQUAL SIZE RECORDS IN ACTUAL KEY FILES)
- TS2M31 EMESS TR,NK,37B,NC,NR,C237,(
- ,CANNOT SPECIFY NO REWIND-FILE REWOUND)
- TS2M33 EMESS TR,KY,41B,NC,RT,C241,(
- ,CANNOT DELETE ACTUAL KEY RECORDS)
- TS2M34 EMESS TR,NK,42B,NC,RT,C242,(
- ,CANNOT SKIP BACKWARD WITH ACTUAL KEYS)
- TS2M35 EMESS FA,KY,43B,NC,RT,C243,(
- ,MAJOR KEY WITH SYMBOLIC KEYS ONLY)
- TS2M36 EMESS FA,KY,44B,NC,RT,C244,(
- ,CHANGED KEY TYPE)
- TS2M37 EMESS FA,KY,45B,NC,RT,C245,(
- ,CHANGED KEY SIZE)
- TS2M38 EMESS FA,KY,46B,NC,RT,C246,(
- ,KEY TYPE INCORRECT)
- TS2M39 EMESS FA,NK,47B,NC,RT,C247,(
- ,NO KEY DEFINED)
- TS2M40 EMESS FA,NK,50B,NC,RT,C250,(
- ,KEY SIZE ILLEGAL)
- TS2M41 EMESS FA,NK,51B,NC,RT,C251,(
- ,MAJOR KEY SIZE ILLEGAL)
- TS2M42 EMESS TR,KY,52B,NC,RT,C252,(
- ,INVALID ACTUAL KEY-REQUEST IGNORED)
- TS2M43 EMESS TR,KY,53B,NC,RT,C253,(
- ,COMP-1 KEY HAS INCONSISTENT BIAS-REQUEST IGNORED)
- TS2M44 EMESS TR,KY,54B,NC,RT,C254,(
- ,NEW KEY LESS THAN PREVIOUS KEY IN INITIAL CREATION)
- TS2M47 EMESS FA,NK,57B,NC,RT,C257,(
- ,SISV1 CANNOT SPECIFY SETBLKI OR SETBLKD WITH OPENOLD)
- TS2M48 EMESS FA,NK,60B,NC,RT,C260,(
- ,SISV1 BAD BUFFER ADDRESS)
- TS2M49 EMESS FA,NK,61B,NC,RT,C261,(
- ,SISV1 MAY NOT CALL AFTER OPENING FILE)
- TS2M50 EMESS FA,NK,62B,NC,RT,C262,(
- ,SISV1 ERROR IN CALLING LIST, PARAMETER NUMBER NNN)
- TS2M52 EMESS FA,NK,64B,NC,RT,C264,(
- ,SISV1 WRONG NUMBER OF PARAMETERS IN CALLING LIST)
- TS2M53 EMESS FA,NK,65B,NC,RT,C265,(
- ,SISV1 INCONSISTENT COLLATING SPECIFICATIONS)
- TS2M54 EMESS FA,KY,66B,NC,RT,C266,(
- ,SISV1 CANNOT PUT IN SEQUENTIAL MODE)
- TS2M55 EMESS FA,KY,67B,NC,RT,C267,(
- ,SISV1 CANNOT DELETE IN SEQUENTIAL MODE)
- TS2M56 EMESS TR,KY,70B,NC,RT,C270,(
- ,SISV1 SEEK ILLOGICAL IN SEQUENTIAL MODE)
- TS2M57 EMESS TR,KY,71B,NC,NR,C271,(
- ,SISV1 CANNOT GET IN SEQUENTIAL MODE GETN ASSUMED)
- TS2M58 EMESS TR,NK,72B,NC,RT,C272,(
- ,SISV1 CANNOT SKIP BACKWARD IN SEQUENTIAL MODE)
- TS2M59 EMESS FA,NK,73B,NC,RT,C273,(
- ,SISV1 PARAMETER OUT OF RANGE, PARAMETER NUMBER NNN)
- TS2M61 EMESS FA,NK,75B,NC,RT,C275,(
- ,SISV1 ERROR IN PARAMETER ONE-FILE NOT GIVEN)
- TS2M62 EMESS TR,NK,76B,CM,NR,C276,(
- ,DELETED LAST RECORD)
- TS2M63 EMESS TR,NK,77B,CM,NR,C277,(
- ,EMPTY FILE OPENED)
- SPACE 4,10
- * TABLE 3 MESSAGES.
- TS3M4 EMESS FA,NK,04B,NC,NR,C304,(
- ,INTERNAL IO ERROR)
- TS3M7 EMESS TR,NK,07B,CM,RT,C307,(
- ,SIS ERROR RECOVERY)
- TS3M11 EMESS FA,NK,13B,NC,RT,C313,(
- ,FILE NONEXISTENT - CANNOT OPEN-OLD)
- TS3M12 EMESS TR,NK,14B,CM,NR,C314,(
- ,DATA BLOCK SIZE AND BLOCKING FACTOR BOTH SET)
- TS3M13 EMESS TR,NK,15B,NC,RT,C315,(
- ,CANNOT REPLACE LARGER RECORDS IN SEQUENTIAL MODE)
- TS3M14 EMESS TR,NK,16B,NC,NR,C316,(
- ,ONLY PUT ALLOWED IN CREATION MODE)
- TS3M15 EMESS FA,NK,17B,NC,RT,C317,(
- ,SISV1 FILE NOT OPEN)
- TS3M16 EMESS TR,KY,20B,NC,RT,ZERO,(
- ,SPECIFIED FILE SLOT IS EMPTY-REQUEST IGNORED)
- TS3M17 EMESS TR,KY,21B,NC,RT,ZERO,(
- ,SPECIFIED FILE SLOT IS OCCUPPIED-REQUEST IGNORED)
- TS3M18 EMESS TR,KY,22B,NC,RT,ZERO,(
- ,INVALID ACTUAL KEY-REQUEST IGNORED)
- TS3M19 EMESS TR,NK,23B,NC,RT,ZERO,(
- ,USER HEADER LENGTH INCONSISTENT WITH RECORD LENGTH-REQUEST IGNORED)
- TS3M20 EMESS TR,NK,24B,NC,RT,ZERO,(
- ,BLOCKING FACTOR TOO LARGE FOR KEY LENGTH)
- TS3M21 EMESS TR,NK,25B,NC,RT,ZERO,(
- ,MINIMUM RECORD SIZE MUST BE GREATER THAN ZERO)
- TS3M22 EMESS TR,NK,26B,NC,RT,ZERO,(
- ,RECORD SIZE TOO LARGE FOR BLOCK SIZE)
- TS3M23 EMESS TR,NK,27B,NC,RT,ZERO,(
- ,CANNOT SEQUENTIALLY POSITION PAST FILE BOUNDS)
- TS3M24 EMESS TR,NK,30B,NC,RT,ZERO,(
- ,PADDING PERCENTAGE OUT OF RANGE)
- TS3M25 EMESS TR,NK,31B,NC,RT,ZERO,(
- ,FILE MASS STORAGE LIMIT EXCEEDED)
- TS3M26 EMESS TR,NK,32B,NC,RT,ZERO,(
- ,INTERNAL I-O ERROR)
- TS3M27 EMESS TR,NK,33B,NC,RT,ZERO,(
- ,ILLEGAL TO OPEN-OLD A NULL FILE)
- TS3M28 EMESS TR,NK,34B,NC,RT,ZERO,(
- ,BLOCKING FACTOR TOO LARGE FOR BLOCK SIZE)
- TS3M29 EMESS TR,NK,35B,NC,RT,ZERO,(
- ,FILE LIMIT REACHED, LINEAR SEARCH FOR SPACE INITIATED)
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (PFE - EXTEND/ALTER FUNCTION.)
- PFE SPACE 4,20
- *** PFE - EXTEND/ALTER FILE FUNCTION.
- *
- * ALTERS THE REQUESTED FILE TO HAVE AN EOI RECORDED
- * AT THE CURRENT POSITION OF THE MASS STORAGE FILE. WORD
- * CONTAINED AT THE ADDRESS IN THE FUNCTION CALL IS -
- *
- *
- *T, PARM 42/ LOGICAL FILE NAME,9/ RET,3/ O,4/ F,1/ ,1/C
- *
- * RET IF THE *RC* AND *RT* PARAMETER DEFINED IN *O*, A
- * RETURN CODE WILL BE AVAILABLE TO THE USER. THE
- * FOLLOWING CODES WILL BE RETURNED -
- *
- * 000 - FUNCTION SUCCESSFUL
- * 003 - UNKNOWN LFN
- * 025 - FILE UNAVAILABLE
- *
- * O OPTIONS AVAILABLE ARE THE FOLLOWING -
- * BIT 6 - RETURN CODE TO USER IN *RET*
- *
- * F FUNCTION CODE FOR ALTER. BITS 2 - 5 = 0111.
- *
- * C COMPLETION BIT. SET WHEN FUNCTION IS COMPLETE.
- *
- * DAYFILE MESSAGES.
- *
- * *SFP/PFE INCORRECT FUNCTION CODE.*
- * *PFE* WAS CALLED WITH AN INCORRECT FUNCTION CODE.
- *
- * *SFP/PFE I/O SEQUENCE ERROR.*
- * AN ACTION WAS REQUESTED ON A FILE THAT WAS
- * ALREADY BUSY.
- ENTRY PFE ENTRY
- LDD IR+3 LOAD PARAMETER WORD
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CRD FN PRESET FOR FILE SEARCH
- CRD CN
- LDD CN+4 CHECK ALTER/EXTEND FUNCTION CODE
- LPN 33
- LMN 30
- ZJN PFE1 IF ALTER/EXTEND FUNCTION CODE
- LDN /ERR/IAF * SFP/PFE INCORRECT FUNCTION CODE.*
- LJM ERR ERROR EXIT
- PFE1 RJM SAF SEARCH FOR FILE
- NJN PFE2 IF FILE FOUND
- LDN 3 SET *UNKNOWN FILE* RETURN CODE
- LJM PFE8 STORE PARAMETER WORD
- PFE2 LDD CN+4 CHECK FOR ALTER FUNCTION
- SHN 21-2
- MJN PFE3 IF ALTER FUNCTION
- LJM PFE7 NO-OP EXTEND FUNCION
- PFE3 RJM SFB SET FILE BUSY
- ZJN PFE4 IF FILE MADE BUSY
- LDN /ERR/IOS *SFP/PFE I/O SEQUENCE ERROR.*
- LJM ERR
- PFE4 LDD CM+3 CHECK FOR FILE UNAVAILABLE
- LPN 35
- ZJN PFE6 IF FILE AVAILABLE
- PFE5 LDN 25 SET *UNAVAILABLE FILE* RETURN CODE
- LJM PFE8 STORE PARAMETER WORD
- PFE6 LDD FS SET EQUIPMENT
- STD T5
- SFA EST CHECK IF MASS STORAGE
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN PFE5 IF NOT MASS STORAGE
- LDD FS+2
- ZJN PFE5 IF FILE NOT WRITTEN ON
- LDD FS+1 SET FIRST TRACK
- ZJN PFE5 IF FIRST TRACK NOT ASSIGNED
- STD T6
- RJM STI SET TRACK INTERLOCK
- NJN PFE5 IF OPERATOR DROP
- LDD FS+2 SET CURRENT POSITION
- STD T6
- LDD FS+3 SET CURRENT SECTOR
- STD T7
- SETMS IO
- RJM WEI WRITE EOI SECTOR
- MJP PFE10 IF MASS STORAGE ERROR
- ENDMS
- LDD T5 SET EQUIPMENT
- STD CM+1
- LDD T6 SET EOI TRACK
- LPC 3777
- STD CM+2
- LDD T7 SET EOI SECTOR
- STD CM+3
- MONITOR DTKM DROP TRACKS
- LDD FS+4 UPDATE FST AND SET COMPLETE
- LPC 7460
- LMC 303
- STD FS+4
- LDD FS+1 SET FIRST TRACK
- STD T6
- RJM CTI CLEAR TRACK INTERLOCK
- NFA FA,R STORE FST ENTRY
- ADK FSTL
- CWD FS
- PFE7 LDN 0
- PFE8 STD T1 RETURN STATUS
- LDD CN+3 CLEAR OLD RETURN CODE
- SCN 77
- STD CN+3
- LDD CN+4
- LPC 776
- LMN 1
- STD CN+4
- SHN 21-6
- PJN PFE9 IF NO RETURN REQUESTED
- LDD T1 SET RETURN CODE
- SHN 21-2
- RAD CN+3
- SHN -6
- RAD CN+4
- PFE9 LDD IR+3 RESTORE STATUS
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CWD CN
- LJM SFPX EXIT
- PFE10 SHN 21-12
- MJN PFE11 IF NON-RECOVERABLE MASS STORAGE ERROR
- LDM MSD CHECK FOR SUBSYSTEM
- SHN 21-13
- PJN PFE11 IF SUBSYSTEM, RETURN ERROR
- LDD T5 EST ORDINAL OF DEVICE
- STD IR+4
- EXECUTE 1RJ ROLL JOB
- * LJM PPR DOES NOT RETURN
- PFE11 MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT
- * COMMON DECKS.
- *CALL COMPCTI
- *CALL COMPSAF
- *CALL COMPSFB
- *CALL COMPSTI
- *CALL COMPWEI
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (ACE - ADVANCE COMMAND.)
- ACE SPACE 4,30
- *** ACE - ADVANCE COMMAND
- *
- * READS/BACKSPACES NEXT/PREVIOUS COMMAND INTO
- * RA+70B - RA+77B WITH THE OPTION TO PLACE THE COMMAND
- * IN THE DAYFILE AND/OR TO CRACK AND STORE THE COMMAND
- * PARAMETERS IN *SCOPE 3.4* FORMAT INTO RA+2 - RA+53B.
- * IF A READ FUNCTION IS ISSUED AND THE POINTER IS AT THE END
- * OF THE COMMAND RECORD, AN EOR STATUS (BIT 4 SET IN THE
- * FUNCTION CODE) AND RA+70B - RA+77B CLEARED. IF A BACKSPACE
- * FUNCTION IS ISSUED AND THE POINTER IS AT THE BEGINNING OF
- * THE COMMAND RECORD, THE POINTER IS NOT CHANGED AND AN
- * EOR STATUS IS RETURNED. WHEN FUNCTION IS COMPLETE, THE
- * COMPLETION BIT (BIT 0) IS SET AND RETURNED TO THE USER.
- *
- * CALL.
- *
- *T 24/ *ACEP*,9/ ,3/ F,6/ ,18/ FUNC ADDRESS
- *
- * *F* = X1 - CRACK PARAMETERS IN *SCOPE 3.4* FORMAT
- * = 1X - ISSUE COMMAND TO DAYFILE
- *
- * *FUNC ADDRESS* = CM WORD CONTAINING FUNCTION TO BE
- * PERFORMED.
- *
- *T FUNC 48/ ,12/ FUNCTION
- *
- * = 0010 - READ NEXT COMMAND AND
- * ADVANCE COMMAND POINTER.
- * = 0040 - BACKSPACE TO PREVIOUS COMMAND
- *
- * EXIT COMPLETION BIT SET IN *FUNCTION*.
- *
- * DAYFILE MESSAGES.
- *
- * *SFP/ACE INCORRECT FUNCTION CODE.*
- * THE FUNCTION CODE AT *FUNC ADDRESS IS UNDEFINED.
- ENTRY ACE ENTRY
- LDD IR+3 LOAD FUNCTION CODE
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CRM ACEC,ON (ACEC+4) = FUNCTION CODE
- LDD CP
- ADN CSPW
- CRD SP (SP - SP+4) = COMMAND POINTER
- ADN CSSW-CSPW
- CRD CN (CN - CN+4) = COMMAND FILE STATUS
- LDM ACEC+4 CHECK FUNCTION CODE
- LMN 10
- ZJN ACE1 IF *READ* FUNCTION
- LMN 40&10
- ZJN ACE4 IF BACKSPACE FUNCTION
- LDN /ERR/IAF * SFP/ACE INCORRECT FUNCTION CODE.*
- LJM ERR ERROR EXIT
- * READ FUNCTION.
- ACE1 LDD SP+3 CHECK COMMAND BUFFER
- LMD SP+4
- NJN ACE3 IF NOT EMPTY
- LDD SP+1 SEE IF AT *EOR*
- SHN 21-13
- PJN ACE3 IF NOT AT EOR
- ACE2 LDN 20
- RAM ACEC+4
- ACE3 LJM ACE13 COMPLETE FUNCTION
- * BACKSPACE FUNCTION.
- ACE4 LDD SP+3
- LMC CSBN
- ZJN ACE5 IF BEGINNING OF BUFFER
- LJM ACE9 BACKSPACE WITHIN BUFFER
- ACE5 LDD CN+1
- LMD CN+2
- NJN ACE6 IF CURRENT TRACK NOT FIRST
- LDD CN+3
- SBN FSMS+2
- MJN ACE2 IF COMMAND BUFFER EMPTY
- ACE6 LDD SP+1
- LPC 3777 CLEAR EOR FLAG
- STM ACEB
- SOD SP+2 DECREMENT COMMAND COUNT
- PJN ACE7 IF NO UNDERFLOW
- AOD SP+2
- SOM ACEB
- MJN ACE2 IF HIGH ORDER UNDERFLOW
- LDD SP+2
- ACE7 STM ACEB+1 SAVE PREVIOUS COMMAND COUNT
- LDN 0 CLEAR COMMAND COUNTER
- STD SP+1
- STD SP+2
- LDC CSBN
- STD SP+3
- STD SP+4
- LDD CN+1 REWIND COMMAND FILE
- STD CN+2 FIRST = CURRENT TRACK
- LDN FSMS
- STD CN+3
- LDD CP UPDATE *CSPW* AND *CSPW* + 1
- ADN CSPW
- CWD SP COMMAND POINTER WORD
- ADN CSSW-CSPW
- CWD CN COMMAND FILE STATUS
- ACE8 RJM RCS READ COMMAND
- PJN ACE8.2 IF NO MASS STORAGE ERROR
- LDM RDCT CHECK FOR NON-RECOVERABLE ERROR
- SHN 21-12
- MJN ACE8.1 IF NON-RECOVERABLE MASS STORAGE ERROR
- LDM MSD CHECK FOR SUBSYSTEM
- SHN 21-13
- PJN ACE8.1 IF SUBSYSTEM, RETURN ERROR
- LDD T5 EST ORDINAL OF DEVICE
- STD IR+4
- EXECUTE 1RJ ROLL JOB
- * LJM PPR DOES NOT RETURN
- ACE8.1 MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT
- ACE8.2 LDD SP+1 SEE IF AT RIGHT COMMAND
- LPC 3777 CLEAR EOR FLAG
- LMM ACEB
- NJN ACE8 IF NOT AT RIGHT COMMAND
- LMD SP+2
- LMM ACEB+1
- NJN ACE8 IF NOT AT RIGHT COMMAND
- UJN ACE12 UPDATE COMMAND WORD
- ACE9 LDN 2 NUMBER OF COMMAND BOUNDARIES
- STD T1
- ACE10 AOD SP+3
- LMC CSBN
- ZJN ACE11 IF AT FIRST WORD IN BUFFER
- NFA SP+3,R
- CRD CM
- LDD CM+4
- NJN ACE10 IF NOT END OF COMMAND
- SOD T1
- NJN ACE10 IF NOT SECOND COMMAND BOUNDARY
- SOD SP+3 PLACE COMMAND POINTER TO NEXT COMMAND
- ACE11 SOD SP+2 DECREMENT COMMAND COUNTER
- PJN ACE12 IF NO UNDERFLOW
- SOD SP+1
- AOD SP+2
- ACE12 LDD CP UPDATE COMMAND WORD
- ADN CSPW
- CWD SP
- ACE13 LDD CP LOAD ENTRY POINT WORD
- ADC SEPW
- CRD CM
- LDD CM CLEAR *ARG=* AND *SDM=* FLAGS
- LPC 7727
- STD CM
- LDD IR+2 CHECK OPTIONS
- SHN 21-1
- MJN ACE14 IF SEND DAYFILE
- LDN 10 SET *SDM=* FLAG
- RAD CM
- ACE14 LDD IR+2
- LPN 1 SET ARG= VALUE
- SHN 5
- RAD CM
- AOM ACEC+4 SET COMPLETION BIT
- LDD IR+3 RETURN FUNCTION CODE TO CALLER
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CWM ACEC,ON
- LDM ACEC+4
- LPN 40
- NJN ACE15 IF BACKSPACE FUNCTION
- LDD CP RETURN ENTRY POINT WORD
- ADC SEPW
- CWD CM
- LDD IR+1 SET CP NUMBER AND RECALL STATUS
- LPN 77
- RAM ACEA+1
- LDD IA MAKE CALL TO *TCS*
- CWM ACEA,ON
- EXECUTE TCS,=
- LJM PPR LOAD *TCS*
- ACE15 LJM SFPX EXIT
- ACEA VFD 18/3LTCS,1/0,5/0,12/4,6/40,18/CCDR
- SPACE 4,10
- * COMMON DECKS.
- *CALL,COMPRNS
- *CALL,COMPRCS
- SPACE 4,10
- USE BUFFER
- STMT EQU * COMMAND BUFFER
- ACEB EQU STMT+55 COMMAND COUNT
- ACEC EQU ACEB+2 FUNCTION CODE
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (PRM - PERMISSION CHECKING FUNCTION.)
- PRM SPACE 4,30
- *** PRM - *SCOPE 3.4* PERMISSION CHECKING FUNCTION.
- *
- * PRM WILL SCAN FOR AN FNT ENTRY WHOSE ADDRESS IS
- * CONTAINED IN THE CALL AND, IF FOUND, WILL MAP THE *NOS*
- * FILE PERMISSION BITS INTO THE *SCOPE 3.4* PERMISSION BITS AND
- * RETURN TO THE USER AS A STATUS. IF THE CALL ADDRESS IS OUT
- * OF RANGE OR THE REQUESTED FILE DOES NOT EXIST, NO DIAGNOSTIC
- * WILL BE ISSUED AND NO STATUS WILL BE RETURNED TO THE USER.
- *
- * CALL
- *
- *T 24/ *PRM*,18/ ,18/ PARM ADDRESS
- *
- * *PARM ADDRESS* = CM ADDRESS WHICH CONTAINS THE FILE
- * NAME TO SEARCH FOR.
- *
- *T PARM 42/ *LFN*,9/ CODE,8/ ,1/C
- *
- * *CODE* = A 5-BIT CODE RETURNED BY *PRM* IN BITS
- * 9 - 13. THE RIGHTMOST 4 BITS ARE THE
- * PERMISSION BITS. THE BINARY CODES ARE
- *
- * BITS 9 - 12.
- *
- * 1 0 0 0 CONTROL PERMISSION
- * 0 1 0 0 MODIFY PERMISSION
- * 0 0 1 0 EXTEND PERMISSION
- * 0 0 0 1 READ PERMISSION
- *
- * BIT 13.
- *
- * 1 NON - PERMANENT FILE
- * 0 PERMANENT FILE
- *
- * ALL BITS(9 - 13) ZERO IMPLIES FILE NOT FOUND.
- *
- * *C* = COMPLETION BIT. SET TO 1 WHEN FUNCTION IS
- * COMPLETED.
- ENTRY PRM ENTRY
- LDN SSTL CHECK LOGGING ENABLED
- CRD CM
- LDD CM+3
- SHN 21-4
- MJN PRM1 IF ANALYST LOGGING DISABLED
- LDC =C$ **** USE *FILINFO* IN PLACE OF *PRM* CALL ****.$
- RJM DFM
- PRM1 LDA IR+3 READ FILE NAME
- CRD FN SET FILE TO FIND
- RJM SAF SEARCH FOR FILE
- ZJN PRM8 IF FILE NOT FOUND
- LDD FS+4 CHECK FOR DIRECT ACCESS FILE
- SHN -6
- LMN PMFT
- ZJN PRM2 IF DIRECT ACCESS
- LDN 2 SET NON - PERMANENT FILE
- RAD FN+3
- PRM2 LDD FS+3 CHECK PERMISSIONS
- LPN 35
- ZJN PRM3 IF WRITE
- LMN 30
- ZJN PRM4 IF MODIFY
- LMN 30&20
- ZJN PRM5 IF APPEND
- LMN 20&10
- ZJN PRM6 IF UPDATE
- LMN 10&5
- ZJN PRM7 IF EXECUTE
- LCN 17-1 SET READ ONLY PERMISSION
- PRM3 ADN 10 SET CONTROL PERMISSION
- PRM4 ADN 4 SET MODIFY PERMISSION
- PRM5 ADN 3 SET EXTEND/READ PERMISSIONS
- UJN PRM7 RETURN PERMISSION BITS
- PRM6 ADN 5 SET READ/MODIFY PERMISSIONS
- PRM7 SHN 11 POSITION PERMISSION BITS
- STD FN+4
- SHN -14
- RAD FN+3
- PRM8 AOD FN+4 SET COMPLETION BIT
- LDA IR+3 RETURN INFORMATION TO CALLER
- CWD FN
- LJM SFPX EXIT
- * COMMON DECKS.
- *CALL COMPSAF
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (SRP - SPECIAL REQUEST PROCESSING.)
- SRP SPACE 4,30
- *** SRP - SPECIAL REQUEST PROCESSING.
- *
- * SRP CONSISTS OF ROUTINES WHICH SET UP A SPECIAL
- * PROCESSING WORD IN THE CALLING CONTROL POINT AREA (SPCW)
- * FOR FOLLOW-UP PROCESSING BY *1AJ* AND A CP PROGRAM
- * ASSOCIATED WITH THE CALL.
- *
- * FORMAT OF *SPCW* -
- *
- *T SPCW 18/ ENTRY POINT, 6/ CODES, 18/ PARAMETER, 18/ PARM ADDR
- *
- * ENTRY POINT = NAME OF ENTRY IN CP PROGRAM.
- * CODES = CONTROL CODES FOR USE BY *1AJ*
- * 1/A, 1/B, 1/C, 1/D, 2/0
- * A = REQUEST ACTIVE (1AJ USE ONLY)
- * B = CLEAR RA+1 BEFORE RELOAD IF NOT SET
- * C = REMAINDER OF WORD IS PARAMETER LIST NOT
- * ADDRESS OF PARAMETER LIST
- * D = DO NOT RESTART CPU (1AJ USE ONLY)
- * PARAMETER = INPUT/OUTPUT PARAMETER
- * 18/ PARAMETER ON INPUT
- * 12/ STATUS,6/ UNUSED ON OUTPUT
- * PARM ADDR = PARAMETER ADDRESS PASSED IN CALL.
- *
- * EACH *SRP* ROUTINE WILL SET THE ROLLOUT FLAG IN THE CONTROL
- * POINT AREA.
- *
- * DAYFILE MESSAGES.
- *
- * *SFP/SRP SPECIAL REQUEST PROCESSING ERROR.*
- * A SPECIAL REQUEST WAS OUTSTANDING WHEN THE CURRENT
- * SPECIAL REQUEST WAS ISSUED.
- CKP SPACE 4,10
- ** CKP - CHECKPOINT REQUEST.
- *
- * ENTRY (IR - IR+4) = CALL.
- *
- * EXIT SPCW WORD SET IN CONTROL POINT AREA FOR CP PROGRAM.
- ENTRY CKP ENTRY
- LDN 0 SELECT CLEAR RA+1 OPTION (CODES B)
- UJN DMP1 PROCESS *SPCW* WORD
- REQ SPACE 4,10
- ** REQ - REQUEST EQUIPMENT ASSIGNMENT.
- *
- * ENTRY (IR - IR+4) = CALL.
- *
- * EXIT SPCW WORD SET IN CONTROL POINT AREA FOR CP PROGRAM.
- ENTRY REQ ENTRY
- LDN 0 SELECT CLEAR RA+1 OPTION (CODES B)
- UJN DMP1
- DEP SPACE 4,10
- ** DEP - DUMP EXTENDED MEMORY FIELD LENGTH.
- *
- * ENTRY (IR - IR+4) = CALL.
- *
- * EXIT SPCW WORD SET IN CONTROL POINT FOR CP PROGRAM.
- ENTRY DEP ENTRY
- LDN 0 SELECT CLEAR RA+1 OPTION (CODES B)
- UJN DMP1 PROCESS *SPCW* WORD
- DMP SPACE 4,10
- ** DMP - DUMP CM FIELD LENGTH.
- * DMB - DUMP CM/EXTENDED MEMORY FIELD LENGTH IN BINARY.
- * DMM - DUMP MACHINE MEMORY.
- *
- * ENTRY (IR - IR+4) = CALL.
- * ENTERED AT *DMP1* FROM *CKP*, *DEP* AND *RWQ*.
- *
- * EXIT SPCW WORD SET IN CONTROL POINT AREA FOR CP PROGRAM.
- *
- * USES CM - CM+4, IR+1.
- *
- * CALL ISP.
- *
- * MACROS MONITOR.
- ENTRY DMP ENTRY
- LDN 10 SELECT PARAMETER LIST OPTION (CODES C)
- DMP1 STD CM
- LDD IR+1 CHECK AUTO RECALL
- LPN 40
- NJN DMP1.1 IF AUTO RECALL SPECIFIED
- LJM DMP2 PROCESS ERROR
- DMP1.1 BSS 0
- RJM ISP INITIALIZE SPCW
- LDD CM
- RAM DMPA+1
- LDD CP LOAD SPCW
- ADC SPCW
- CRD CM
- LDD CM CHECK FOR *SPCW* FREE
- NJN DMP2 IF *SPCW* NOT FREE
- LDD CP STORE SPECIAL REQUEST
- ADC SPCW
- CWM DMPA,ON
- LDN ZERL CLEAR *ROCM* PARAMETERS
- CRD CM
- ERRNZ ROSR CODE ASSUMES *ROSR* = 0
- MONITOR ROCM
- LDD IR+1 RESTORE SYSTEM REQUEST
- SCN 77
- LMN 20 SET AUTO RECALL
- STD IR+1
- LDD RA WRITE TO RA+1
- SHN 6
- ADN 1
- CWD IR
- LJM SFPX EXIT
- DMP2 LDN /ERR/SRE *SFP/SRP SPECIAL REQUEST ERROR.*
- LJM ERR ERROR EXIT
- DMPA VFD 18/0,6/0,12/0,6/0,18/0
- ISP SPACE 4,10
- ** ISP - INITIALIZE SPCW.
- *
- * EXIT (DMPA - DMPA+1) = ((IA))
- ISP SUBR ENTRY/EXIT
- LDD IA READ CALL
- CRM DMPA,ON
- LDM DMPA+1
- SCN 77 CLEAR CODES
- STM DMPA+1
- UJN ISPX RETURN
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (ERP - ERROR PROCESSOR.)
- ERRNZ 3R".O"-3R2SG *SLL* ASSUMES *2SG* IS ERROR PROCESSOR
- ERP SPACE 4,10
- *** ERP - ERROR PROCESSOR.
- *
- * ENTRY (EI) = ERROR NUMBER.
- *
- * EXIT TO *PPR* IF CONTROL POINT ABORTED.
- * TO *SFPX* IF NON=FATAL ERROR.
- *
- * CALLS DFM, NFE, SNM, SPN.
- *
- * MACROS MONITOR.
- ENTRY ERP
- LDC ERPT+1 SET MESSAGE ADDRESS
- RAD EI
- LDM -1,EI
- ZJN ERP1 IF NO SPECIAL PROCESSING
- STM ERPA
- RJM 0 PREPROCESS ERROR
- ERPA EQU *-1
- ERP1 LDD EI
- LMC /ERR/PCE+ERPT+1
- ZJN ERP3 IF PP-CALL ERROR
- ERP2 LDI EI ISSUE MESSAGE TO DAYFILE
- RJM DFM
- MONITOR ABTM ABORT CONTROL POINT
- LJM PPR
- ERP3 LDD CP
- ADN FLSW
- CRD T0
- LDD T0+2
- ADD T0+3
- ZJN ERP4 IF SYSTEM CONTROL POINT
- LDD FL
- ZJN ERP2 IF NO FIELD LENGTH
- LDM SNMB
- NJN ERP2 IF REQUEST NOT FROM INPUT REGISTER
- LDN PCET
- STD CM+1
- MONITOR CEFM CHANGE ERROR FLAG
- LDD RA REWRITE SYSTEM REQUEST TO RA+1.
- SHN 6
- ADN 1
- CWD IR
- LJM SFPX DROP PP
- ERP4 LDC SNMA * XXX NOT IN PP LIB.*
- RJM DFM
- LJM SFPX DROP PPU
- ERPT BSS 0
- QUAL ERR
- LOC 0
- SCE CON 0,=C* SFP CALL ERROR.*
- PCE CON /".O"/SNM,/".O"/SNMA * XXX NOT IN PP LIB.*
- *PCE CON 0,0 * MONITOR CALL ERROR.* (ISSUED BY 1AJ)
- IOC CON /".O"/SPN,=C* INCORRECT ORIGIN CODE.*
- PAE CON /".O"/SPN,=C* PARAMETER ERROR.*
- IAF CON /".O"/SPN,=C* INCORRECT FUNCTION CODE.*
- SRE CON /".O"/SPN,=C* SPECIAL REQUEST PROCESSING ERROR.*
- NET CON /".O"/NFE,=C* ERROR TEXT NOT FOUND.*
- NMS CON /".O"/NFE,=C* ERROR TEXT NOT ON MASS STORAGE.*
- BET CON /".O"/NFE,=C* BAD ERROR TEXT.*
- IMN CON /".O"/NFE,=C* INCORRECT MESSAGE NUMBER.*
- IOS CON /".O"/SPN,=C* I/O SEQUENCE ERROR.*
- IDC CON /".O"/SPN,=C* UNKNOWN DEVICE NAME/TYPE.*
- LOC *O
- QUAL *
- NFE SPACE 4,10
- ** NFE - NON-FATAL ERROR PROCESSOR.
- *
- * NFE ISSUES THE SPECIFIED MESSAGE AND A SECOND MESSAGE WHICH
- * IDENTIFIES THE ERROR TEXT AND MESSAGE NUMBER.
- *
- * ENTRY (EI) = ADDRESS OF *ERPT* POINTER TO ERROR MESSAGE.
- * (MN) = MESSAGE NUMBER.
- * (ERRA - ERRA+3) = ERROR TEXT NAME.
- *
- * EXIT TO *SFPX*.
- *
- * USES T1.
- *
- * CALLS ACS, ANS, DFM, SPN.
- NFE CON 0 ENTRY
- RJM SPN SET PACKAGE NAME IN MESSAGE
- LDI EI
- LMC CPON ISSUE BASE MESSAGE
- RJM DFM
- LDI EI
- ADN 4 ADVANCE PAST * SFP/D00*
- STD T1
- LDN 0 TRUNCATE BASE MESSAGE
- STI T1
- LDC =C* TEXT=*
- RJM ACS ASSEMBLE CHARACTER STRING
- LDC ERRA ADDRESS OF TEXT DECK NAME
- RJM ACS ASSEMBLE TEXT DECK NAME
- LDC =C*, MSG=*
- RJM ACS ASSEMBLE CHARACTER STRING
- LDM ERRB
- RJM ANS ASSEMBLE MESSAGE NUMBER
- LDC =C*B.*
- RJM ACS TERMINATE MESSAGE
- LDI EI
- LMC CPON ISSUE SECOND MESSAGE
- RJM DFM
- LJM SFPX DROP PP
- SNM SPACE 4,10
- ** SNM - SET NAME IN MESSAGE.
- *
- * ENTRY (PN - PN+1) = PACKAGE NAME TO LOAD.
- * (IR - IR+1) = PROGRAM MAKING CALL.
- *
- * EXIT * XXX NOT IN PP LIB.* MESSAGE SET UP.
- *
- * USES PN+1.
- SNM SUBR ENTRY/EXIT
- LDD PN+1 SET PACKAGE NAME
- LPN 77
- NJN SNM1 IF NOT ZERO CHARACTER
- LDN 1R
- RAD PN+1
- SNM1 LDD PN+1
- STM SNMA+1
- LDD PN
- LMC 1R *100
- STM SNMA
- LDD IR+1
- SCN 77
- LMN 1R.
- STM SNMB+6
- SCN 77
- SHN 6
- LMD IR
- STM SNMB+5
- SHN 6
- LMD PN+1
- SHN 6
- LMD PN
- NJN SNM2 IF CALLED BY *YYY*
- STM SNMB
- SNM2 LJM SNMX RETURN
- SNMA DATA L* XXX NOT IN PP LIB. *
- SNMB DATA C*CALLED BY YYY.*
- SPN SPACE 4,10
- ** SPN - SET PACKAGE NAME.
- *
- * ENTRY (EI) = ADDRESS OF *ERPT* POINTER TO ERROR MESSAGE.
- *
- * USES T1.
- SPN SUBR ENTRY/EXIT
- LCN 4
- RAI EI
- STD T1
- LDC 2R S
- STI T1 ADD * SFP* TO MESSAGE
- LDC 2RFP
- STM 1,T1
- LDD IR+1
- SCN 77
- SHN 6
- LMD IR
- SHN 6
- STM 3,T1 ADD PACKAGE NAME TO MESSAGE
- SHN -14
- LMC 1R/*100
- STM 2,T1
- UJN SPNX RETURN
- * COMMON DECKS FOR ERROR PROCESSOR.
- *CALL COMPACS
- *CALL COMPANS
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (D00 - EXTRACT ERROR TEXT.)
- D00 SPACE 4,30
- *** D00 - EXTRACT ERROR TEXT.
- *
- * D00 IS A GOODIE THAT WILL EXTRACT MESSAGES FROM SPECIALLY
- * CREATED SYSTEM TEXT DECKS TO AID IN ANALYZING ERROR
- * SITUATIONS RESULTING FROM A PRODUCT SET. BY USING AN ERROR
- * NUMBER AND THE PROPER SYSTEM TEXT DECK, AN ERROR DIAGNOSTIC
- * WILL BE TRANSMITTED TO THE DAYFILE AND/OR TO A SPECIFIED CM
- * BUFFER. ALL SYSTEM TEXT DECKS TO BE USED MUST BE
- * MS RESIDENT.
- *
- * CALL.
- *
- *T 18/ *D00*,6/R,18/0,18/ ADDRES
- *
- *T,ADDRES 12/ A,12/ MSG NO.,12/ BUF SIZE,18/ BUF ADDR ,6/
- *T 42/ TEXT DECK NAME,18/ INSERT CHARACTER
- *
- * WHERE A = 4000B - IF INSERTIONS TO MESSAGES.
- * A = 2000B - IF DAYFILE MESSAGE TRANSFER.
- * A = 1000B - IF CM BUFFER MESSAGE TRANSFER.
- *
- * EXIT.
- *
- *T ADDRES 36/ ,12/ STATUS,12/ 1
- *
- * WHERE STATUS = 0 - IF TRANSMITTAL TO DAYFILE ONLY.
- *
- * = 7777B IF ERROR.
- * = CM WORDS WRITTEN IF CM BUFFER TRANSMITTAL.
- *
- *
- * DAYFILE MESSAGES.
- *
- *
- * *SFP/D00 ERROR TEXT NOT FOUND.*
- * THE SPECIFIED SYSTEMS TEXT COULD NOT BE FOUND.
- *
- * *SFP/D00 ERROR TEXT NOT ON MASS STORAGE.*
- * THE SPECIFIED SYSTEMS TEXT DOES NOT RESIDE ON
- * MASS STORAGE.
- *
- * *SFP/D00 BAD ERROR TEXT.*
- * THE SPECIFIED SYSTEMS TEXT IS NOT IN CORRECT FORMAT.
- *
- * *SFP/D00 INCORRECT MESSAGE NUMBER.*
- * THE SPECIFIED MESSAGE NUMBER COULD NOT BE FOUND ON
- * THE SYSTEMS TEXT.
- *
- * *SFP/D00 TEXT = XXXXXXX, MSG = NNNN.*
- * IDENTIFIES THE SPECIFIED TEXT AND MESSAGE NUMBER
- * CAUSING THE PREVIOUS DAYFILE MESSAGE. ALWAYS
- * FOLLOWS ONE OF THE ABOVE DAYFILE MESSAGES.
- EJECT
- * DIRECT CELL ASSIGNMENTS.
- BA EQU 20 PP BUFFER ADDRESS
- B1 EQU 21 TEMPORARY STORAGE
- B2 EQU 22 TEMPORARY STORAGE
- IA EQU 23 INDEX ADVANCE
- BE EQU 24 END OF PP BUFFER
- IF EQU 25 INSERTION FLAG
- TD EQU 26 TRANSMIT DAYFILE
- TC EQU 27 TRANSMIT CM BUFFER
- AB EQU 40 - 44 TEXT NAME
- ER EQU 40 RECORD STATUS
- SC EQU 41 SECTOR COUNT
- WC EQU 42 WORD COUNT
- IC EQU 44 INSETTION CHARACTER
- AD EQU 45 - 46 CM BUFFER ADDRESS
- ST EQU 47 EXIT STATUS
- P0 EQU 57 TEMPORARY LOCATION
- MN EQU 60 MESSAGE NUMBER
- BF EQU 61 CM BUFFER SIZE
- P1 EQU 62 TEMPORARY LOCATION
- IN EQU 63 - 67 INSERTION MESSAGE
- EJECT
- * D00 - MAIN PROCESSING.
- D001 LDC TBUF PROCESS FIRST SECTOR
- RJM FPB
- LDM 2,BA
- LMC 7700
- NJN D002 IF NO PREFIX TABLE
- AOM 3,BA
- STD T2
- SHN 2
- ADD T2
- RAD BA ADVANCE INDEX
- LDD WC
- SBD T2 ADJUST WORD COUNT
- STD WC
- D002 LDM 2,BA
- ADM 3,BA
- LMC 5101
- ZJN D004 IF SYSTEMS TEXT FORMAT
- D003 LDN /ERR/BET *SFP/D00 BAD ERROR TEXT.*
- LJM NFE NON FATAL ERROR
- D004 STD ST CLEAR STATUS BYTE
- LDM 12,BA
- SHN 14
- LMM 13,BA SET LENGTH OF SYMBOL TABLE
- SHN -1
- STD P0
- ZJN D003 IF NO SYMBOL TABLE
- LDN 25
- RAD BA ADVANCE INDEX
- LCN 4
- RAD WC
- RJM SST SEARCH SYMBOL TABLE
- RJM PMS PROCESS MICRO SEARCH
- * INSERT MESSAGE STUFF.
- LDD IF
- NJN D005 IF INSERTIONS TO BE PROCESSED
- STD IC CLEAR INSERTION CHARACTER
- D005 RJM PIM PROCESS D00 OPTIONS
- * SET EXIT STATUS.
- D006 RJM SES
- LJM SFPX RETURN
- PIM SPACE 4,20
- ** PIM - PROCESS MESSAGE INSERTIONS.
- *
- * ENTRY (IC) = INSERTION CHARACTER.
- * (TC) = TRANSMIT TO CM BUFFER FLAG.
- * (TD) = TRANSMIT TO DAYFILE FLAG.
- * (BA) = LWA OF MESSAGE.
- * (BF) = BUFFER SIZE.
- * (AD - AD+1) = FWA OF CM BUFFER.
- * (P1) = FWA OF MESSAGE.
- *
- * EXIT MESSAGE SENT TO DAYFILE AND MESSAGE BUFFER
- * AS REQUIRED.
- * (ST) = NUMBER OF CM WORDS RETURNED TO CM BUFFER.
- *
- * USES P0, P1, ST, T1, T4, T5, T6.
- *
- * CALLS DFM, ICS.
- *
- * MACROS LDA.
- PIM SUBR ENTRY/EXIT
- LDN 1
- STD P0 INITIALIZE INDEX TO PARAMETER AREA
- LDC MBUF
- STD T6 DEFINE CHARACTER BUFFER
- SOD P1
- LDM -1,BA
- SCN 77 CLEAR END OF MESSAGE
- STM -1,BA
- * PROCESS MESSAGE INSERTIONS.
- PIM1 AOD P1 ADVANCE MESSAGE ADDRESS
- LDI P1
- SHN -6 EXTRACT UPPER CHARACTER
- STI T6
- ZJN PIM4 IF END OF MESSAGE
- LMD IC
- NJN PIM2 IF NOT INSERTION CHARACTER
- RJM ICS
- PIM2 AOD T6 ADVANCE BUFFER ADDRESS
- SBD P1
- PJN PIM4 IF MESSAGE OVERLAID
- LDI P1
- LPN 77 EXTRACT LOWER CHARACTER
- STI T6
- ZJN PIM4 IF END OF MESSAGE
- LMD IC
- NJN PIM3 IF NOT INSERTION CHARACTER
- RJM ICS
- PIM3 AOD T6 ADVANCE BUFFER ADDRESS
- SBD P1
- MJN PIM1 IF NOT OVERLAYING MESSAGE
- PIM4 LDC MBUF
- STD T4
- STD T5 SET START OF CHARACTER BUFFER
- STD T1
- LMD T6 CHECK - END OF MESSAGE ON BYTE BOUNDARY
- LPN 1
- ZJN PIM5 IF ON BYTE BOUNDARY
- AOD T6
- LDN 0 STORE ZERO ON BYTE BOUNDARY
- STI T6
- * PACK MESSAGE WITH INSERTIONS.
- PIM5 LDI T1
- SHN 6 PACK MESSAGE WITH INSERTIONS
- LMM 1,T1
- STI T5 STORE TWO CHARACTERS
- AOD T5
- LDN 2
- RAD T1 ADVANCE THRU CHARACTER BUFFER
- LMD T6
- NJN PIM5 IF NOT END OF MESSAGE
- * SEND MESSAGE TO DAYFILE.
- LDD TD
- ZJN PIM6 IF NO TRANSMISSION TO DAYFILE
- RJM IDM ISSUE DAYFILE MESSAGE
- * SEND MESSAGE TO CM BUFFER.
- PIM6 LDD TC
- NJN PIM7 IF MESSAGE GOING TO CM BUFFER
- LJM PIMX RETURN
- PIM7 LDM -1,T5 CHECK LAST CHARACTER
- LPN 77
- NJN PIM8 IF NOT ZERO
- LDN 1R
- RAM -1,T5 INSERT BLANK CHARACTER
- PIM8 AOD ST
- LDN 5
- RAD T4 FIND CM WORD COUNT OF MESSAGE
- SBD T5
- MJN PIM8 IF NOT END OF MESSAGE
- STD T1
- NJN PIM9 IF EOM NOT ON CM WORD BOUNDARY
- AOD ST ADVANCE WORD COUNT
- LDN 5
- STD T1
- PIM9 LDN 0 ZERO FILL END OF MESSAGE
- STI T5
- AOD T5
- SOD T1
- NJN PIM9 IF NOT ZERO FILLED
- LDD BF
- SBD ST
- PJN PIM10 IF MESSAGE LENGTH .LE. BUFFER SIZE
- LDD BF
- STD ST SET MESSAGE LENGTH = BUFFER SIZE
- PIM10 LDD AD
- SHN 14
- LMD AD+1 CHECK - VALID CM ADDRESS
- ADD ST
- SHN -6
- SBD FL
- MJN PIM11 IF END OF BUFFER WITHIN FL
- LDN /ERR/PAE
- LJM ERR PROCESS ERROR
- PIM11 LDA AD
- CWM MBUF,ST COPY MESSAGE TO CENTRAL
- PIMA EQU *-1
- LJM PIMX RETURN
- NFE SPACE 4,10
- ** NFE - NON-FATAL ERROR PROCESSOR.
- *
- * ENTRY (A) = ERROR NUMBER.
- *
- * EXIT (A) = ERROR NUMBER.
- * TO *ERR*.
- *
- * USES EI, ST.
- *
- * CALLS SES.
- NFE STD EI
- LCN 0
- STD ST
- RJM SES
- LDD EI
- LJM ERR PROCESS ERROR
- SES SPACE 4,10
- ** SES - SET EXIT STATUS.
- *
- * ENTRY (ST) = STATUS.
- *
- * EXIT PARAMETER BLOCK SET COMPLETE.
- *
- * USES CM - CM+4
- *
- * MACROS LDA.
- SES SUBR ENTRY/EXIT
- LDN ZERL
- CRD CM
- LDD ST SET STATUS
- STD CM+3
- AOD CM+4 SET REQUEST COMPLETE
- LDA IR+3
- CWD CM
- UJN SESX RETURN
- ICS SPACE 4,10
- ** ICS - INSERT CHARACTER STRING.
- *
- * ENTRY (P0) = INDEX FOR INSERTION TEXT.
- * (P1) = MESSAGE ADDRESS.
- * (T6) = STRING BUFFER ADDRESS.
- *
- * EXIT (P0) = INDEX FOR INSERTION TEXT.
- * (P1) = MESSAGE ADDRESS.
- * (T6) = STRING BUFFER ADDRESS.
- *
- * USES P0, T2, T6, IN - IN+4.
- ICS3 SOD T6 ADJUST STRING BUFFER INDEX
- ICS SUBR ENTRY/EXIT
- ICS1 AOD P0 ADVANCE PARAMETER INDEX
- LDA IR+3
- ADD P0
- CRD IN READ WORD OF TEXT FOR INSERTION
- LDN IN
- STD T2 SET ADDRESS OF FIRST BYTE
- ICS2 LDI T2
- SHN -6 EXTRACT UPPER CHARACTER
- STI T6
- ZJN ICS3 IF END OF INSERTION
- AOD T6
- SBD P1
- PJN ICS3 IF MESSAGE BEING OVERLAID
- LDI T2
- LPN 77 EXTRACT LOWER CHARACTER
- STI T6
- ZJN ICS3 IF END OF INSERTION
- AOD T6
- SBD P1
- PJN ICS3 IF MESSAGE BEING OVERLAID
- AOD T2
- LMN IN+5
- NJN ICS2 IF NOT END OF CM WORD
- UJN ICS1 LOOP FOR MORE INSERTION TEXT
- IDM SPACE 4,10
- ** IDM - ISSUE DAYFILE MESSAGE.
- *
- * ENTRY (T4) = FWA OF MESSAGE.
- * (T5) = LWA+1 OF MESSAGE.
- *
- * EXIT ((T5)) = 0.
- *
- * USES T1,T2,T6,T7.
- *
- * CALLS DFM.
- IDM SUBR ENTRY/EXIT
- LDD T4 INITIALIZE NEXT FRAGMENT POINTER
- STD T6
- LDD T5 CALCULATE MESSAGE LENGTH
- SBD T4
- STD T7
- * LOOP UNTIL ALL OF THE MESSAGE HAS BEEN ISSUED TO THE DAYFILE.
- * THE MESSAGE IS ISSUED IN FRAGMENTS OF 50 CHARACTERS OR LESS.
- IDM1 LDD T7 CALCULATE MINIMUM OF 50 OR REMAINDER
- SBN 26D
- PJN IDM2 IF MORE THAN 50 CHARACTERS REMAIN
- LDD T7 SET NUMBER OF WORDS IN LAST FRAGMENT
- STD T1
- LDN 0 CLEAR LENGTH FOR NO REMAINING FRAGMENT
- STD T7
- UJN IDM3 ISSUE LAST MESSAGE FRAGMENT
- IDM2 ADN 1 SET NEW LENGTH OF REMAINING FRAGMENT
- STD T7
- LDN 25D SET FOR A 50 CHARACTER FRAGMENT
- STD T1
- * SETUP THE NEXT MESSAGE TO BE ISSUED.
- IDM3 LDD T1 CALCULATE ADDRESS OF VALUE TO SAVE/CLEAR
- ADD T6
- STD T2 FWA + NEXT LENGTH + COMBINED OLD LENGTH
- LDI T2 GET VALUE TO BE SAVED
- STI T5 SET AT LWA+1 OF MESSAGE
- LDN 0 SET FRAGMENT TERMINATOR
- STI T2
- * ISSUE NEXT MESSAGE.
- LDD T6 SET ADDRESS OF CURRENT FRAGMENT
- STM IDMB
- LDD T1 ACCUMMULATE LENGTH OF FRAGMENTS
- RAD T6
- IDMA LDC ** (*NMSN* AFTER FIRST FRAGMENT)
- IDMB EQU *-1 (ADDRESS OF FRAGMENT)
- RJM DFM ISSUE NEXT MESSAGE
- * PROCESS REMAINING FRAGMENTS AS NECESSARY.
- LDD T7 CHECK REMAINING LENGTH
- NJN IDM4 IF ANOTHER FRAGMENT TO PROCESS
- LJM IDMX EXIT
- IDM4 LDC LDCI+NMSN/10000 SETUP FOR NEXT MESSAGE ISSUED
- STM IDMA
- LDI T5 RESTORE THE VALUE USED FOR TERMINATOR
- STI T6
- LJM IDM1 PROCESS NEXT MESSAGE FRAGMENT
- SPACE 4,10
- MBUF EQU * MESSAGE BUFFER
- SST SPACE 4,10
- ** SST - SEARCH FOR SYMBOL TABLE.
- *
- * ENTRY (P0) = LENGTH OF SYMBOL TABLE.
- * (BA) = BUFFER ADDRESS.
- * (MN) = MESSAGE NUMBER.
- * (BE) = LWA OF BUFFER.
- * (WC) = WORD COUNT.
- *
- * EXIT (IN - IN+4) = MICRO NAME.
- * (P0) = LENGTH OF SYMBOLTABLE.
- *
- * CALLS GNB.
- SST3 SOD BA
- SBN 10
- STM SSTA
- LDD MA
- CWM *,ON MOVE MICRO NAME TO DIRECT CELLS
- SSTA EQU *-1
- SBN 1
- CRD IN
- SST SUBR ENTRY/EXIT
- SST1 LDI BA CHECK MESSAGE NUMBER
- LMD MN
- ZJN SST3 IF MESSAGE FOUND
- SOD P0
- NJN SST2 IF NOT END OF SYMBOL TABLE
- LDN /ERR/IMN *SFP/D00 INCORRECT MESSAGE NUMBER.*
- LJM NFE PROCESS NON-FATAL ERROR
- SST2 LCN 2
- RAD WC
- LDN 10D
- RAD BA ADVANCE INDEX
- SBD BE
- MJN SST1 IF STILL WITHIN BUFFER
- ZJN SST1 IF STILL WITHIN BUFFER
- LDD BA
- SBN 9D
- STD P1
- RJM GNB GET NEXT BLOCK
- SOD IA
- LPN 3
- LMC -0
- RAD WC ADJUST WORD COUNT
- UJN SST1 CONTINUE SEARCH
- PMS SPACE 4,10
- ** PMS - PROCESS MICRO SEARCH.
- *
- * ENTRY (P0) = LENGTH OF SYMBOL TABLE.
- * (WC) = WORD COUNT.
- * (T4) = CHANNEL.
- *
- * EXIT (P1) = FWA OF MESSAGE.
- *
- * CALLS CMP, FPB, GNB.
- PMS SUBR ENTRY/EXIT
- SOD P0
- SHN 1 LENGTH TO END OF SYMBOL TABLE
- STD P0
- SBD WC
- MJN PMS1 IF MICRO TABLE WITHIN BUFFER
- STD P0
- LDC TBUF
- RJM FPB LOAD PP BUFFER
- PMS1 LDD P0
- SHN 2 SET INDEX TO START OF MICRO TABLE
- ADD P0
- ADN 2
- RAD BA
- LDD WC DECREMENT WORD COUNT
- SBD P0
- STD WC
- LDM 4,BA CHECK LENGTH OF MICRO TABLE
- NJN PMS2 IF NO LENGTH
- LDN /ERR/BET *SFP/D00 BAD ERROR TEXT.*
- LJM NFE PROCESS NON FATAL ERROR
- PMS2 LDD BA
- STD P1 SET ADDRESS OF MICRO CONTROL WORD
- PMS3 LDN 5
- RAD BA LOCATE NEXT CONTROL WORD
- SOD WC
- NJN PMS4 IF NOT END OF BUFFER
- RJM GNB
- PMS4 LDI BA
- SHN -6 CHECK FOR MICRO CONTROL WORD
- LMN 20
- NJN PMS3 IF NOT CONTROL WORD
- LDI BA
- LPN 77
- STD T0
- SHN 2
- ADD T0 CHECK LENGTH OF ENTRY
- ADD P1
- LMD BA
- NJN PMS3 IF NOT MICRO CONTROL WORD
- LDM -1,BA
- LPN 77 CHECK WORD COUNT FOR LWA MESSAGE
- SBN 10D
- PJN PMS3 IF INCORRECT COUNT
- RJM CMP
- NJN PMS2 IF NO MATCH ON MICRO NAME
- LDN 5
- RAD P1 SET FWA OF MESSAGE
- LJM PMSX RETURN
- CMP SPACE 4,10
- ** CMP - COMPARE MICRO NAME.
- *
- * ENTRY (IN - IN+4) = MICRO NAME.
- * ((BA)) = FWAOF NAME TO COMPARE.
- *
- * EXIT (A) = 0, IF NAMES COMPARE.
- CMP SUBR ENTRY/EXIT
- LDD IN+1
- LMM 1,BA
- NJN CMPX IF NO MATCH ON BYTE 1
- LDD IN+2
- LMM 2,BA
- NJN CMPX IF NO MATCH ON BYTE 2
- LDD IN+3
- LMM 3,BA
- NJN CMPX IF NO MATCH ON BYTE 3
- LDD IN+4
- LMM 4,BA COMPARE BYTE 4
- UJN CMPX
- GNT SPACE 4,10
- ** GNT - GET NEXT BLOCK.
- *
- * ENTRY (T4) = CHANNEL.
- * (T5) = EQUIPMENT.
- * (T6) = TRACK.
- * (T7) = SECTOR.
- *
- * EXIT BUFFER FILLED.
- *
- * CALLS FPB.
- GNB SUBR ENTRY/EXIT
- LDD BA
- ADC 10000
- SBD BE SET ADVANCE INTO NEXT BUFFER
- STD IA
- LDC TBUF SET BUFFER ADDRESS
- STD BA
- SOD BE
- GNB1 LDI P1
- STI BA MOVE UNCHECKED DATA TO START OF BUFFER
- AOD BA
- AOD P1
- LMD BE
- NJN GNB1 IF NOT END OF MOVE
- LDI P1
- STD B1
- LDM 1,P1 SAVE BYTES OVERLAID BY LINKAGE
- STD B2
- LDD BA READ NEXT BLOCK
- RJM FPB
- LDC TBUF
- STD P1 SET START OF BUFFER
- AOD IA
- RAD BA ADVANCE BUFFER INDEX
- LJM GNBX RETURN
- FPB SPACE 4,20
- ** FPB - FILL PP BUFFER.
- *
- * ENTRY (A) = FWA OF BUFFER.
- * (ER) = EOR STATUS.
- * (T5) = EQUIPMENT.
- * (T6) = TRACK.
- * (T7) = SECTOR.
- *
- * EXIT (BA) = FWA OF BUFFER.
- * TO *MSR* IF MASS STORAGE ERROR.
- *
- * CALLS RNS.
- *
- * MACROS ENDMS.
- FPB SUBR ENTRY/EXIT
- STD T3
- STD BA SET BUFFER ADDRESS
- LDD ER
- ZJN FPB2 IF EOR ON LAST READ
- LDN 0
- STD WC CLEAR WORD/SECTOR COUNT
- STD SC
- LDC 7775
- SBD BA CALCULATE SPACE AVAILABLE
- SHN -6
- STD T2
- FPB1 AOD SC ADVANCE SECTOR COUNT
- LCN 5
- RAD T2
- PJN FPB1 IF NOT END OF BUFFER SPACE
- SOD SC
- ZJN FPB2 IF NOT ROOM FOR ONE SECTOR
- LDD T3 READ FIRST SECTOR OF BLOCK
- RJM RNS
- MJP MSR IF MASS STORAGE ERROR
- NJN FPB4 IF NOT EOF
- FPB2 ENDMS
- LDN /ERR/BET *SFP/D00 BAD ERROR TEXT.*
- LJM NFE ISSUE ERROR MESSAGE
- FPB3 LDI BE
- STD B2 SAVE BYTES OVERLAID BY LINKAGE
- LDI T3
- STD B1
- LDD T3 READ NEXT SECTOR
- RJM RNS
- MJP MSR IF MASS STORAGE ERROR
- FPB4 RAD WC INCREMENT WORD COUNT
- LDD B1
- STI T3 RESTORE BYTES OVERLAID BY LINKAGE
- LDD B2
- STM 1,T3
- LDD T1
- SHN 2 SECTOR WORD COUNT * 5
- ADD T1
- ADD T3
- STD T3
- ADN 1
- STD BE SET END OF BUFFER
- LDD T1
- SHN -6 SET RECORD STATUS
- STD ER
- ZJN FPB5 IF SHORT SECTOR
- SOD SC
- NJN FPB3 IF BUFFER SPACE FOR NEXT SECTOR
- FPB5 ENDMS
- LJM FPBX RETURN
- * COMMON DECKS
- *CALL COMPRNS
- TBUF EQU *
- *CALL COMPCLD
- TITLE PRESET.
- PRS SPACE 4,20
- ** PRS - PRESET ROUTINE.
- *
- * EXIT (IF) = INSERTION FLAG.
- * (IC) = INSERTION CHARACTER.
- * (TD) = SEND MESSAGE TO DAYFILE FLAG.
- * (TC) = SEND MESSAGE TO CM BUFFER.
- * (T4) = CHANNEL.
- * (T5) = EQUIPMENT.
- * (T6) = TRACK.
- * (T7) = SECTOR,
- * (AD - AD+1) = CM BUFFER ADDRESS.
- * (MN) = MESSAGE NUMBER.
- * (BF) = BUFFER SIZE.
- * SYSTEM FILE ATTACHED.
- * MASS STORAGE DRIVER LOADED.
- * TO *MSR* IF MASS STORAGE ERROR.
- *
- * USES AB - AB+4, AD - AD+1, FS - FS+4, P0 - P0+4, T4 - T7.
- *
- * CALLS CLD.
- *
- * MACROS MONITOR.
- ENTRY D00
- LDN ZERL CLEAR FLAG CELLS
- CRD IF
- * READ PARAMETER BLOCK
- LDA IR+3
- CRD P0
- ADN 1
- CRD AB
- CRM ERRA,ON SAVE ERROR TEXT DECK NAME
- LDM ERRA+3 CLEAR ALL BUT TEXT DECK NAME
- SCN 77
- STM ERRA+3
- LDN 0
- STM ERRA+4
- LDD MN SAVE ERROR TEXT MESSAGE NUMBER
- STM ERRB
- LDD P0
- SHN -11
- SHN 11+6+1
- STD IF SET INSERT FLAG
- SCN 1
- SHN 1
- STD TD SET DAYFILE FLAG
- SCN 1
- SHN 1
- STD TC SET CM BUFFER FLAG
- LDD P1+1
- SCN 77
- SHN 6
- LMD P1
- SHN 6
- STD AD+1 SET CM BUFFER ADDRESS
- SHN -14
- LPN 37
- STD AD
- RJM CLD SEARCH LIBRARY DIRECTORY
- NJN PRS1 IF ERROR TEXT FOUND
- LDN /ERR/NET *SFP/D00 ERROR TEXT NOT FOUND.*
- LJM NFE PROCESS NON FATAL ERROR
- PRS1 CRD FS READ DIRECTORY ENTRY
- LDD FS+1
- LPC 6000
- ZJN PRS1.1 IF ON SYSTEM DEVICE
- SHN 21-14
- MJN PRS1.0 IF ON ALTERNATE SYSTEM
- LDN /ERR/NMS *SFP/D00 ERROR TEXT NOT ON MASS STORAGE.*
- LJM NFE PROCESS NON FATAL ERROR
- PRS1.0 LDD FS+2 SET ALTERNATE EQUIPMENT
- LPC 777
- STD T5
- UJN PRS3 RESUME PROCESSING
- PRS1.1 LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD T5
- PRS2 AOD T5
- SFA EST
- ADK EQDE
- CRD CM
- LDD CM
- SHN -12
- LMN 3
- NJN PRS2 IF NOT SYSTEM DEVICE
- PRS3 LDD FS+3
- STD T6 SET TRACK
- LDD FS+4
- STD T7 SET SECTOR
- SETMS READSYS
- LJM D001 ENTER MAIN ROUTINE
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (FIN - FILE INFORMATION REQUEST.)
- FIN SPACE 4,30
- *** FIN - FILE INFORMATION REQUEST.
- *
- * FIN MAPS VALID NOS/BE *FIN* FUNCTIONS INTO VALID NOS *CPM*
- * OR *LFM* REQUESTS AND ISSUES THESE REQUESTS.
- *
- * CALL.
- *
- *T 24/ *FINP*, 6/0, 6/ FC, 6/0, 18/ ADDR
- *
- * FC = FUNCTION CODE
- *
- * ADDR = PARAMETER ADDRESS (IF NEEDED)
- *
- * THE FOLLOWING MAPPING OCCURS -
- *
- * FC CALL/FUNCTION NORMAL NOS MACRO
- *
- * 01 LFM/32 FILINFO
- * 02 LFM/21 ACCSF
- * 03 LFM/22 ENCSF
- * 04 CPM/74 GETJCI
- * 05 CPM/74 SETJCI
- *
- * EXIT LFM OR CPM REQUESTS ISSUED.
- *
- * DAYFILE MESSAGES.
- *
- * *SFP/FIN INCORRECT FUNCTION CODE.*
- * THE SPECIFIED FUNCTION CODE IS UNDEFINED.
- ENTRY FIN
- LDD IR+2 VALIDATE FUNCTION CODE
- LPN 77
- ZJN FIN1 IF NO FUNCTION CODE
- SBN TFINL
- MJN FIN2 IF LEGAL FUNCTION CODE
- FIN1 LDN /ERR/IAF * SFP/FIN INCORRECT FUNCTION CODE.*
- LJM ERR PROCESS ERROR
- FIN2 LDM TFIN,IR+2 SET FUNCTION CODE
- SHN 14
- STD IR+2
- MJN FIN3 IF *CPM* CALL
- EXECUTE LFM,*
- UJN FIN5 ISSUE *LFM* REQUEST
- FIN3 SHN 1 CHECK FOR SET FUNCTION
- PJN FIN4 IF GET
- LDD HN SET *SETJCI* FUNCTION
- RAD IR+3
- FIN4 EXECUTE CPM,*
- FIN5 SHN 14
- STD IR
- SHN -6
- LMD IR+1
- SCN 77
- LMD IR+1
- STD IR+1
- LDD IA STORE INPUT REGISTER
- CWD IR
- LJM PPR EXIT TO PP RESIDENT
- ** TFIN - TABLE OF FUNCTION CODE TRANSLATIONS.
- *
- * INDEXED BY *FIN* FUNCTION CODE.
- *
- *T 6/ CODE, 6/ PP
- *
- * CODE = *CPM* OR *LFM* FUNCTION CODE.
- * PP = 0 IF *LFM* CALL.
- * = 40 IF *GETJCI*
- * = 60 IF *SETJCI*
- TFIN BSS 0
- LOC 0
- CON 0
- CON 32*100+0
- CON 21*100+0
- CON 22*100+0
- CON 74*100+40
- CON 74*100+40+20
- TFINL EQU *
- LOC *O
- SPACE 4,10
- OVERFLOW OVL
- QUAL
- TTL SFP - SCOPE FUNCTION PROCESSOR.
- SPACE 4,10
- END
cdc/nos2.source/opl871/sfp.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator