cdc:nos2.source:opl871:1mi
Table of Contents
1MI
Table Of Contents
- [00010] TERMINAL I/O DRIVER.
- [00193] CFET - COMPUTE FET ADDRESS.
- [00211] ERROR - PROCESS *1MI* ERROR CODE.
- [00225] MSG - DEFINE ERROR OPTIONS AND DAYFILE MESSAGES.
- [00297] DPP - DROP PPU.
- [00304] ANR - ASSURE NETWORK REQUIREMENTS.
- [00432] CAF - COMPUTE ABSOLUTE FET ADDRESS.
- [00448] CEF - CHECK FOR ERROR FLAG.
- [00482] CFN - COMPLETE FUNCTION.
- [00541] CHG - CONDITIONALLY HANG PP.
- [00559] CID - COPY INPUT DATA.
- [00706] CJA - CHECK USER JOB ACTIVITY.
- [00721] COD - COPY OUTPUT DATA.
- [00838] CTI - CHECK FOR TERMINAL INPUT.
- [00894] CTO - CHECK FOR TERMINAL OUTPUT.
- [00946] DFS - DETERMINE FLUSH STATUS.
- [01062] DFSA - TABLE OF CIO CODES TO FLUSH ON.
- [01086] ERR - PROCESS ERROR.
- [01106] ERS - ENTER RECALL STACK.
- [01139] ERX - ERROR EXIT PROCESSOR.
- [01248] TEPO - TABLE OF ERROR PROCESSING OPTIONS AND DAYFILE
- [01274] GMX - GET MULTIPLEXOR STATUS.
- [01302] IDM - SET UP AND ISSUE DAYFILE MESSAGE.
- [01346] ITA - INITIALIZE INTERACTIVE ACCESS.
- [01389] MRJ - CHECK FOR MONITOR FUNCTION REJECTION.
- [01443] PTI - PROCESS TERMINAL INPUT.
- [01603] PTO - PROCESS TERMINAL OUTPUT.
- [01793] RBS - REVERSE BUFFER SCAN.
- [01848] ROJ - ROLL USER JOB.
- [01867] SLF - SEARCH LIST OF FILE ENTRIES.
- [01962] VAD - VALIDATE ADDRESS WITHIN FL.
- [01983] VFP - VERIFY FET PARAMETERS.
- [02085] TIAF - TABLE OF *TSEM* FUNCTION REQUEST DEFINITIONS.
- [02134] PRS - PRESET *1MI*.
- [02278] CTT - CHECK TIOW/TINW BUSY.
- [02380] REC - RECOVER FROM MONITOR REJECTION.
Source Code
- 1MI.txt
- IDENT 1MI,HST
- PERIPH
- BASE MIXED
- SST
- SYSCOM
- *COMMENT 1MI - TERMINAL I/O DRIVER.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- HST TITLE 1MI - TERMINAL I/O DRIVER.
- HST SPACE 4,10
- *** 1MI - TERMINAL I/O DRIVER.
- *
- * R. V. SAMORA. 82/05/30.
- HST SPACE 4,10
- *** *1MI* HIGH SPEED TERMINAL SUPPORT (HSTS) IMPROVES THE
- * INTERACTIVE I/O PERFORMANCE OF IAF BY REMOVING QUEUING DELAYS
- * AND ALLOWING INTERACTIVE I/O TO PROCEED WITHOUT MANDATORY
- * ROLLOUT OF THE INTERACTIVE USER PROGRAM. THIS FEATURE,
- * ALTHOUGH INTENDED FOR HIGH SPEED TERMINALS PRIMARILY,
- * IMPROVES SYSTEM PERFORMANCE NOT ONLY IN THE AREA OF CHARACTER
- * THROUGHPUT BUT REDUCES SYSTEM OVERHEAD BY KEEPING INTERACTIVE
- * JOB MOVEMENT AT A MINIMUM.
- HST SPACE 4,10
- *** CALL.
- *
- *
- *T IR 18/*1MI*, 1/A, 5/CP, 1/T, 17/, 18/FET
- * A SET IF AUTO RECALL DESIRED.
- * CP CONTROL POINT OF REQUESTOR.
- * T ZERO IF THIS PP HAS THE TINW/TIOW INTERLOCK.
- * FET FET ADDRESS.
- *
- *T MB 1/S, 5/, 6/CP, 6/RC, 18/, 12/FP, 1/A, 1/, 4/IF, 3/, 3/RT
- * S SET BY *CPUMTR* IF *1MI* STARTED FROM RECALL STACK.
- * CP UNUSED (WARNING - SOMETIMES SET BY *CPUMTR*).
- * RC REASON CODE WHY *1MI* ENTERED RECALL.
- * FP FIRST POT IN CHAIN PRIOR TO RECALL.
- * A SET IF MONITOR FUNCTION REJECTED BECAUSE IAF ABORTED.
- * IF *CIO* INTERNAL FUNCTION CODE (SEE *COMSCIO*).
- * RT MONITOR FUNCTION REJECTION COUNT.
- *
- *T MB+1 12/0, 24/IN, 24/OUT
- *T MB+2 6/0, 6/FETL, 24/FIRST, 24/LIMIT
- * FETL FET LENGTH IN CM WORDS.
- * FET POINTERS ARE TRANSFERED ONLY ON INITIAL *1MI* CALL.
- HST SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * * FET ADDRESS OUT OF RANGE AT NNN.*
- * FET ADDRESS .LE. 1 OR FET EXCEEDS FIELD LENGTH.
- *
- * * BUFFER ARGUMENT ERROR ON FFF AT NNN.*
- * A BUFFER POINTER DOES NOT CONFORM TO CONSTRAINTS-
- * - FIRST POINTER .LE. IN POINTER.
- * - FIRST POINTER .LE. OUT POINTER.
- * - OUT POINTER .LT. BUFFER LIMIT.
- * - IN POINTER .LT. BUFFER LIMIT.
- * - BUFFER LENGTH .LE. FIELD LENGTH.
- *
- * * INCORRECT I/O REQUEST ON FILE FFF AT NNN.*
- * I/O WAS REQUESTED ON A DETACHED INTERACTIVE
- * JOB WITH JOB TERMINATION OPTION SET TO COMPLETION.
- *
- * FFF REPRESENTS FILE NAME AS GIVEN IN THE FET.
- * NNN REPRESENTS THE FILE FET ADDRESS.
- HST SPACE 4,10
- *** HANG CONDITIONS.
- *
- * *1MI* WILL HANG WITH THE *HNGM* MONITOR FUNCTION IF-
- * - INCORRECT ERROR CODE IS DETECTED DURING ERROR
- * PROCESSING.
- * - AN INCORRECT NETWORK BLOCKSIZE IS DETECTED FROM IAF.
- *
- * HANG CONDITIONS ARE SOFT IN THAT BY CLEARING THE APPROPRIATE
- * PPU OUTPUT REGISTER, *1MI* WILL ATTEMPT TO RECOVER ITS
- * CURRENT PROCESS AS GRACEFULLY AS POSSIBLE.
- HST SPACE 4,10
- *** PROGRAMMING CONSIDERATIONS-
- *
- * *1MI* IN THE PROCESS OF HANDLING TERMINAL I/O WILL-
- *
- * 1) READ PROCESS-
- *
- * - ATTEMPT TO FLUSH *LOFW* OR RA+2 LIST OF FILE
- * ENTRIES BEFORE PROCESSING THE READ REQUEST.
- *
- * 2) WRITE PROCESS-
- *
- * - *1MI* WILL TRANSFER THE MAXIMUM AMOUNT OF OUTPUT
- * DATA SPECIFIC TO EACH TERMINALS DOWNLINE BLOCK
- * LIMIT WHICH IS CHARACTERISTIC OF ITS LINE SPEED.
- * - PPU RECALL IS USED BETWEEN *VADO* OUTPUT DOWNLINE
- * *TSEM* FUNCTION REQUESTS TO IAF.
- * - IN THE EVENT THE USER JOB SHOULD ROLL FROM THE
- * CONTROL POINT WHILE *1MI* IS IN PPU RECALL,
- * ROUTINE *1RO* WILL CONTINUE THE OUTPUT PROCESS
- * STARTED BY *1MI* WHETHER EXPLICIT OR IMPLICIT
- * OUTPUT REQUEST VIA LIST OF FILES PROCESSING.
- * - BUFFERED WRITE ON A FULL OUTPUT BUFFER
- * WITH NO *EOL* BYTE RESULTS IN A ROLL OF
- * THE USER JOB TO ALLOW *1RO* TO ASSURE
- * OUTPUT BUFFER FLUSH COMPLETION.
- *
- * 3) MONITOR FUNCTION REJECTION PROCESSING-
- *
- * - IF A *TGPM* OR *TSEM* MONITOR FUNCTION IS
- * REJECTED BECAUSE IAF IS BUSY, *1MI* WILL GO INTO
- * PP RECALL. WHEN RESTARTED, *1MI* WILL THEN
- * DROP ANY POTS CURRENTLY HELD AND START OVER.
- * - IAF INACCESSIBILITY DETECTED THROUGH EITHER
- * FUNCTION REJECTION OR *1MI* PRESET FORCES
- * SUSPENSION ROLLOUT OF THE USER JOB CAUSING
- * JOB DETACHMENT TO ALLOW SUBSEQUENT USER
- * RECOVERY.
- *
- * 4) MULTIPLEXOR TERMINAL CHARACTERISTICS-
- *
- * - BECAUSE OF THE LACK OF TYPEAHEAD FOR MULTIPLEXOR
- * TERMINALS, THE USER JOB STEMMING FROM TERMINALS
- * OF THIS TYPE WILL ALWAYS ROLL FROM THE CONTROL
- * POINT ON I/O REQUESTS.
- HST SPACE 4,10
- ** RECALL TIME PERIODS (MILLISECONDS)
- RECMS1 EQU 10D JOB ACTIVE WITH NO READY DATA
- RECMS2 EQU 100D IAF REQUEST QUEUE REJECTION
- ** REASON CODES FOR WHY *1MI* MIGHT GO INTO RECALL.
- LOC 0
- TALR BSS 1 IAF BUSY, TRY AGAIN LATER
- TDOR BSS 1 *VADO* *TSEM* MONITOR FUNCTION REJECTED
- TPOR BSS 1 *VDPO* *TSEM* MONITOR FUNCTION REJECTED
- LOC *O
- ** ASSEMBLY CONSTANTS.
- IAFF EQU 4000 FUNCTION REJECTED BECAUSE IAF ABORTED
- TTB EQU 4000 TIOW/TINW BUSY, FROM *CPUMTR* IN IR+2
- EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (*COMPGFP*)
- HST SPACE 4,10
- ** COMMON DECKS.
- *CALL,COMPMAC
- *CALL,COMSACC
- *CALL,COMSCIO
- *CALL,COMSCPS
- *CALL,COMSEJT
- *CALL COMSJCE
- *CALL,COMSPIM
- QUAL REM
- *CALL,COMSREM
- QUAL
- *CALL,COMSSSJ
- *CALL,COMSTCM
- HST SPACE 4,10
- ** DIRECT LOCATION ASSIGNMENTS.
- TT EQU T6 - T7 TERMINAL TABLE ADDRESS
- NF EQU 15 NFL/100B
- T8 EQU 16 SCRATCH
- T9 EQU 17 SCRATCH
- PA EQU T8 - T9 IAF POT MEMORY ADDRESS
- MB EQU 20 - 24 MESSAGE BUFFER PARAMETERS FROM *PPR*
- MB1 EQU 25 - 31 MESSAGE BUFFER + 1
- MB2 EQU 32 - 36 MESSAGE BUFFER + 2
- CD EQU MB1 SCRATCH BUFFER.
- CN EQU MB2 SCRATCH BUFFER
- BS EQU 37 - 43 BUFFER STATUS
- FN EQU BS FILE NAME
- FC EQU 44 *1MI* FUNCTION CODE
- TN EQU 45 INTERACTIVE TERMINAL NUMBER
- TA EQU 46 INTERACTIVE REFERENCE ADDRESS
- PP EQU 47 CURRENT POT POINTER
- WC EQU 57 CM TRANSFER WORD COUNT
- FT EQU 60 - 61 BUFFER FIRST WORD ADDRESS
- LM EQU 62 - 63 BUFFER LAST WORD ADDRESS
- IN EQU 64 - 65 BUFFER IN POINTER
- OT EQU 66 - 67 BUFFER OUT POINTER
- ERRNZ OT-FT-6 FET DIRECT CELLS MUST BE CONTIGUOUS
- ERRNZ /CIO/RDF CODE DEPENDS ON INTERNAL READ FUNCTION
- ERRNZ /CIO/WTF-1 CODE DEPENDS ON INTERNAL WRITE FUNCTION
- HST TITLE MACRO DEFINITIONS.
- ** MACRO DEFINITIONS.
- HST SPACE 4,10
- ** CFET - COMPUTE FET ADDRESS.
- * CFET N
- *
- * ENTRY *N* = FET CM WORD OFFSET.
- *
- * COMPUTES ABSOLUTE FET ADDRESS USING (IR+3 - IR+4)
- *
- * CALLS CAF.
- PURGMAC CFET
- CFET MACRO W
- RJM CAF GET ABSOLUTE ADDRESS
- IFC NE,$W$$,1
- ADK W OFFSET IF REQUESTED
- ENDM
- HST SPACE 4,10
- ** ERROR - PROCESS *1MI* ERROR CODE.
- *
- * ERROR EC
- *
- * *EC* = *1MI* ERROR CODE.
- PURGMAC ERROR
- ERROR MACRO EC
- LDK /CIOERR/EC
- LJM ERR PROCESS ERROR
- ENDM
- HST SPACE 4,10
- ** MSG - DEFINE ERROR OPTIONS AND DAYFILE MESSAGES.
- *
- *ERR MSG (TEXT),EF,FETD
- *
- * ENTRY *ERR* = *COMSCIO* ERROR CODE.
- * *TEXT* = DAYFILE ERROR MESSAGE.
- * *EF* = CONTROL POINT ERROR FLAG TO SET.
- * *FETD* = FET DUMP OPTION.
- *
- * EXIT ERROR PROCESSING OPTIONS AND DAYFILE MESSAGE
- * ADDRESSES GENERATED PER FORMAT OF *TEPO* TABLE
- * DESCRIPTION.
- PURGMAC MSG
- MACRO MSG,ERR,TEXT,EF,FETD
- LOCAL A
- VFD 6/EF,5//CIOERR/ERR,1/FETD
- CON =Z*_TEXT_*
- A MICRO 1,,$TEXT$
- A MICCNT A
- ERRNG 32D-A TEXT OVERFLOW CONDITION
- ENDM
- HST TITLE *1MI* MAIN PROGRAM.
- ORG PPFW
- HST RJM PRS PRESET *1MI*
- LDD FC *1MI* FUNCTION CODE
- LMN /CIO/WTF
- ZJP HST5 IF *1MI* WRITE FUNCTION
- AOM ANRA ANY OUTPUT SHOULD BE ENTIRELY FLUSHED
- UJN HST5 FLUSH ANY LIST OF FILE OUTPUT
- * PROCESS *1MI* READ FUNCTION.
- HST1 RJM CTI CHECK FOR TERMINAL INPUT
- ZJN HST1.1 IF NO INPUT FOUND
- RJM PTI PROCESS TERMINAL INPUT
- ZJN HST2 IF INPUT QUEUING WITHIN IAF IN PROCESS
- LJM DPP DROP PP
- * PROCESS NO INPUT ON A READ OPERATION.
- HST1.1 RJM GMX
- ZJN HST3 IF MULTIPLEXOR TERMINAL
- HST2 RJM CJA CHECK JOB ACTIVITY
- ZJN HST3 IF USER JOB INACTIVE
- LMK ICPS
- ZJN HST3 IF JOB IN *I* STATUS
- LMK ICPS&XCPS
- NJN HST4 IF JOB NOT IN RECALL
- HST3 LDK ROSR ROLL OUT JOB
- STD T0
- RJM ROJ ROLL USER JOB
- HST4 LDK TALR
- LJM ERS ENTER RECALL STACK
- * PROCESS *1MI* WRITE FUNCTION.
- HST5 RJM CTO CHECK FOR TERMINAL OUTPUT
- ZJN HST10 IF NO OUTPUT
- RJM PTO PROCESS TERMINAL OUTPUT
- MJN HST2 IF IAF OUTPUT THRESHOLD REACHED
- HST10 LDD FC INITIAL *1MI* FUNCTION CODE
- LMK /CIO/RDF
- ZJP HST1 IF OUTSTANDING READ FUNCTION
- RJM CFN COMPLETE OUTPUT FET
- * UJN DPP DROP PPU
- HST SPACE 4,10
- ** DPP - DROP PPU.
- DPP BSS 0 ENTRY
- MONITOR DPPM DROP PPU
- LJM PPR EXIT TO PP RESIDENT
- HST TITLE GENERAL SUBROUTINES.
- ANR SPACE 4,10
- ** ANR - ASSURE NETWORK REQUIREMENTS.
- *
- * ENTRY (IR+3 - IR+4) = OUTPUT FET ADDRESS.
- * (CD+3 - CD+4) = MAXIMUM OUTPUT BUFFER CONTENT.
- * (BS - BS+4) = OUTPUT BUFFER STATUS.
- * (FT - FT+1) = BUFFER FIRST WORD ADDRESS.
- * (IN - IN+1) = BUFFER IN POINTER.
- * (OT - OT+1) = BUFFER OUT POINTER.
- * (LM - LM+1) = BUFFER LAST WORD ADDRESS.
- * (CD) = NETWORK BLOCK LIMIT CM WORD COUNT.
- *
- * EXIT (CD+2) = ACCEPTABLE CM WORD COUNT ENCOMPASSING
- * COMPLETE LOGICAL LINES.
- * (A) = LESS THAN ZERO IF NO COMPLETE LINES ARE
- * ENCOUNTERED WITHIN THE OUTPUT BUFFER.
- *
- * USES CM - CM+4, T2 - T4, CD+1 - CD+4.
- *
- * CALLS RBS.
- ANR SUBR ENTRY/EXIT
- * BEGINNING BUFFER SCAN IS FROM NETWORK BLOCK SIZE.
- LDD CD+3 COMPARE BUFFER CONTENT TO BLOCKSIZE
- SHN 14
- LMD CD+4
- SBD CD
- SBN 1
- PJN ANR1 IF CONTENT GREATER THAN BLOCKSIZE
- * OUTPUT BUFFER IS SEARCHED FOR THE LAST *EOL* BYTE WHICH
- * MARKS THE ACCEPTABLE CM WORD TRANSFER COUNT SATISFYING
- * NETWORK REQUIREMENTS.
- LDD CD+3 PRESET BUFFER SEARCH PARAMETERS
- STD CD+1
- LDD CD+4
- STD CD+2
- * BUFFER IS TRANSFERED AS IS IF FLUSH CONDITIONS PREVAIL.
- LDC ** BUFFER FLUSH PASS NETWORK REQUIREMENTS
- * LDC 1
- ANRA EQU *-1
- NJN ANRX IF WRITER,WRITEF,FLUSH OR READ FUNCTION
- * PRESET RUNNING *IN* POINTER PRIOR TO BUFFER SCAN.
- LDD IN CURRENT BUFFER *IN* POINTER
- STD T3
- LDD IN+1
- STD T4
- RJM RBS SCAN BUFFER FOR *EOL* WITHIN BLOCKSIZE
- PJN ANRX IF EOL FOUND
- LDM PTOA
- LPN 77
- NJN ANR0 IF BUFFER FULL
- LDM ANRB
- SBN 1
- MJN ANRX IF SYNCHRONOUS TERMINAL AND NO EOL
- ANR0 LDD CD+4 SET WORD COUNT TO BUFFER CONTENTS - 1
- SBN 1
- STD CD+2
- STM CODE SET NO RECALL
- SBN 1
- LJM ANRX RETURN
- * ADJUST BUFFER SCAN PARAMETERS TO BEGIN AT BLOCKSIZE.
- ANR1 LDD CD NETWORK BLOCKSIZE CM WORD COUNT
- STD CD+2
- SHN -14
- STD CD+1
- LDD OT BUFFER *IN* IS SET TO *OUT* PLUS BLOCKSIZE
- SHN 14
- LMD OT+1
- ADD CD+2
- STD T3+1 RUNNING *IN* POINTER
- SHN -14
- STD T3
- SBD LM
- SHN 14
- LMD T3+1
- SBD LM+1
- MJN ANR2 IF RUNNING *IN* IS LESS THAN *LIMIT*
- ADD FT+1 BUFFER WRAP RUNNING *IN* POINTER
- STD T3+1
- SHN -14
- ADD FT
- STD T3
- ANR2 RJM RBS SCAN BLOCKSIZE PORTION OF BUFFER
- PJP ANRX IF *EOL* BYTE WITHIN BLOCKSIZE
- * AT LEAST BLOCKSIZE-1 CM WORDS NEED BE TRANSFERED IF FLUSH
- * CONDITIONS PREVAIL DUE TO WRITER,WRITEF,FLUSH OR READ
- * FUNCTION IS OUTSTANDING.
- LDC 0
- * LDC 1 (IF TC .LE. 8, ASYNC LINE)
- ANRB EQU *-1
- ADM ANRA BUFFER FLUSH CONDITIONS
- NJN ANR3 IF FLUSH REQUIRED
- * BUFFERED WRITE FUNCTION REQUIRES TOTAL SCAN FOR *EOL*.
- LDD IN PRESET REST OF BUFFER SCAN
- STD T3
- LDD IN+1
- STD T3+1
- LDD CD+3 INCLUDE TOTAL BUFFER CONTENT
- STD CD+1
- LDD CD+4
- STD CD+2
- RJM RBS SCAN MAXIMUM BUFFER CONTENT FOR *EOL*
- MJP ANRX IF NO *EOL* BYTE WITHIN TOTAL BUFFER
- * NETWORK BLOCKSIZE-1 CM WORDS ARE TRANSMITTED TO
- * FACILITATE MAXIMUM NETWORK TRANSFER WHILE ALLOWING FOR
- * CONTROL BYTE PROCESSING DURING CHARACTER CONVERSION
- * WITHIN IAF.
- ANR3 LDD CD NETWORK BLOCKSIZE CM WORD COUNT
- SBN 1
- STD CD+2 BLOCKSIZE-1 CM TRANSFER
- UJP ANRX RETURN
- CAF SPACE 4,10
- ** CAF - COMPUTE ABSOLUTE FET ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = RELATIVE FET ADDRESS.
- *
- * EXIT (A) = ABSOLUTE FET ADDRESS.
- CAF SUBR ENTRY/EXIT
- LDD IR+3 RELATIVE ADDRESS
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4 ABSOLUTE ADDRESS
- UJN CAFX RETURN
- CEF SPACE 4,10
- ** CEF - CHECK FOR ERROR FLAG.
- *
- * EXIT (A) = ERROR FLAG, IF ONE EXISTS.
- * (CM+2) = 1, IF USER BREAK ERROR FLAG AND JOB HAS
- * EXTENDED REPRIEVE SELECTED.
- * 0, OTHERWISE.
- *
- * USES CM - CM+4, T0.
- CEF2 LDD T0 RETURN ERROR FLAG
- CEF SUBR ENTRY/EXIT
- LDD CP
- ADK STSW CHECK FOR ERROR FLAG
- CRD CM
- LDN 0
- STD CM+2
- LDD CM+1
- ZJN CEFX IF NO ERROR FLAG PRESENT
- STD T0
- LMK TIET
- ZJN CEF1 IF USER BREAK ONE
- LMK TAET&TIET
- NJN CEF2 IF NOT A USER BREAK TWO
- CEF1 LDD CP
- ADK EECW CHECK FOR EXTENDED REPRIEVE
- CRD CM
- LDD CM
- SHN 0-12
- LPN 1
- STD CM+2
- UJN CEF2 RETURN
- CFN SPACE 4,10
- ** CFN - COMPLETE FUNCTION.
- *
- * ENTRY (IR+3 - IR+4) = FET ADDRESS NEEDING COMPLETION.
- * (BS - BS+4) = FET BUFFER STATUS.
- *
- * EXIT FET SET TO COMPLETION STATUS.
- * CONTROL POINT AREA FET POINTER REMOVED FROM
- * *TINW* OR *TIOW*.
- *
- * USES CM - CM+4.
- *
- * CALLS VAD.
- *
- * MACROS MONITOR.
- CFN SUBR ENTRY/EXIT
- LDD FC
- LMK /CIO/RDF
- NJN CFN1 IF NOT A READ FUNCTION
- LDN TINW TERMINAL INPUT POINTER
- STM CFNC+1 *UADM* REPLACEMENT FIELD
- LDN 18D FIELD POSITION
- SHN 6
- RAM CFNC+2
- * UPDATE CONTROL POINT AREA *TIOW* OR *TINW*.
- CFN1 LDN ZERL PRESET *UADM* REQUEST WORD
- CRD CM
- LDD MA
- CWM CFNC,ON WRITE REQUEST
- LDN 1 ONE *UADM* REQUEST WITH NO DROP OF PP
- STD CM+1
- STD CM+2
- MONITOR UADM UPDATE CONTROL POINT AREA
- * SET FET COMPLETION STATUS.
- LDD BS+4
- SCN 1
- LMN 1
- STD BS+4
- * REVALIDATE FET+0 ADDRESS.
- LDD IR+3 FET ADDRESS
- LPN 37
- SHN 14
- LMD IR+4
- RJM VAD VALIDATE FET+0 PRIOR TO WRITE
- ZJN CFN2 IF ADDRESS NOT WITHIN FL
- CFNB CWD BS REWRITE FET+0
- * PSN INHIBIT WRITE OF FET+0 (*ERX*)
- CFN2 UJP CFNX RETURN
- CFNC VFD 12/CSFS,12/TIOW,6/0,6/18D,24/**
- CHG SPACE 4,10
- ** CHG - CONDITIONALLY HANG PP.
- *
- * ENTRY (A) = ERROR FLAG.
- *
- * EXIT (A) = ZERO.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- CHG SUBR ENTRY/EXIT
- STD CM+2 SET ERROR FLAG
- LDM CHG GET ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- UJN CHGX RETURN
- CID SPACE 4,10
- ** CID - COPY INPUT DATA.
- *
- * ENTRY (IR+3 - IR+4) = INPUT FET ADDRESS.
- * (BS - BS+4) = BUFFER STATUS.
- * (PP) = INPUT AHEAD POT CHAIN POINTER.
- * (TN) = TERMINAL CONNECTION NUMBER.
- *
- * EXIT INPUT AHEAD TRANSFERED TO FET.
- * INPUT AHEAD POT CHAIN RELEASED.
- *
- * USES BS+3 - BS+4, CM - CM+4, T1 - T4, PP, WC.
- *
- * CALLS CFN, CIB, MRJ, RRR, SPA, SRR, UPP, WBB.
- *
- * MACROS CFET, MONITOR.
- CID SUBR ENTRY/EXIT
- LDK ZERL RESET *TSEM* REQUEST
- CRM WDPO,ON
- LDD PP BEGINNING POT CHAIN POINTER
- STD T2 POT CHAIN TRAILER
- STM WDPO+3 SET TO DROP ENTIRE POT CHAIN
- LDD TN
- STM WDPO+4
- LDN /REM/VCPC TRANSFER CM WORD COUNT
- STD WC
- LDN 0 SET CM TRANSFER TALLY
- STD T3
- * EOR/EOF STATUS DEPENDS ON BUFFER CONTENT.
- CID1 RJM SRR SET R-REGISTER TO IAF RA
- RJM UPP UPDATE INPUT AHEAD POT POINTER
- STM CIDB
- * SCAN THIS POSSIBLE LAST POT MEMORY FOR EOL BYTE.
- LDD T2 RESTORE PREVIOUS POT POINTER
- STD PP
- RJM SPA SET POT MEMORY ADDRESS
- CRM BUFF,WC
- RJM RRR RESTORE R-REGISTER
- LDN 0
- STD WC
- STD T4
- CID2 LDM BUFF+4,T4
- ZJN CID3 IF EOL BYTE ENCOUNTERED
- LDD T4 SCAN NEXT CM WORD
- ADN 5
- STD T4
- AOD WC ACCEPT NEXT CM WORD
- SBN /REM/VCPC+1
- MJN CID2 IF NOT FULL POT MEMORY SCAN
- SOD WC
- UJN CID5 TRANSFER THIS FULL POT MEMORY
- * ASSURE EOF CONDITION DETECTION.
- CID3 LDD WC LAST POT MEMORY CM WORD COUNT
- NJN CID4 IF AT LEAST TWO CM WORDS
- LDD T3 CHECK EOF CONDITION
- ADM BUFF
- ADM BUFF+1
- ADM BUFF+2
- ADM BUFF+3
- ZJP CID8 IF EOF CONDITION
- CID4 AOD WC
- AOM CIDA LAST POT MEMORY WRITTEN
- * ENTER WRITE LOOP TO TRANSFER TO INPUT FET BUFFER.
- CID5 LDD T2 PREVIOUS POT CHAIN POINTER
- STD PP
- RJM CIB CHECK INPUT BUFFER THRESHOLD
- SBD WC
- PJN CID6 IF ROOM FOR COMPLETE TRANSFER
- ADD WC BIAS CM WORD TRANSFER COUNT
- ZJN CID7 IF BUFFER THRESHOLD
- STD WC TRANSFER MAXIMUM
- CID6 LDD WC
- STD T1 TRANSFER WORD COUNT FOR *WBB*
- RAD T3 COMPLETE TRANSFER TALLY
- LDC BUFF BEGINNING READ ADDRESS
- RJM WBB WRITE BINARY BUFFER
- LDN 0
- CIDA EQU *-1
- NJN CID7 IF LAST POT MEMORY WRITTEN
- LDC ** UPDATE POT MEMORY POINTER
- CIDB EQU *-1
- STD T2
- STD PP
- NJP CID1 IF NOT EOR/EOF
- * FORCE EOR/EOF ON INPUT FET.
- LDN 0
- STD T3
- * COMPLETE READ OPERATIONS.
- CID7 LDN ZERL RESET ENDING *IN* POINTER
- CRD CM
- LDD IN
- STD CM+3
- LDD IN+1
- STD CM+4
- CFET 2 *IN* POINTER OFFSET
- CWD CM REWRITE *IN* POINTER
- * COMPLETE EOR/EOF BUFFER STATUS.
- LDD BS+3 RESET APPROPRIATE EOR/EOF LEVEL
- SCN 74
- STD BS+3
- LDD T3 TRANSFER TALLY
- ZJN CID8 IF EOF
- LDN 4 INPUT LEVEL STATUS IS EOR
- RAD BS+3
- LDN 20 SET EOR
- STM CIDC
- CID8 LDD BS+4 RESET BUFFER STATUS
- LPC 6002
- LMC 30 (SET EOF TERMINATION)
- * LMC 20 (SET EOR TERMINATION)
- CIDC EQU *-1
- STD BS+4
- * *TINW* MUST BE CLEARED BEFORE ISSUING THE *VDPO* *TSEM*
- * REQUEST, BECAUSE IF THE *VDPO* IS REJECTED AND THE JOB ROLLS,
- * IAF WOULD MISTAKENLY THINK THE JOB WAS REQUESTING INPUT.
- RJM CFN COMPLETE INPUT OPERATION
- * RELEASE INPUT AHEAD POT CHAIN.
- LDC /REM/VDPO
- STM WDPO
- LDD MA
- CWM WDPO,ON
- LDK ZERL
- CRD CM
- MONITOR TSEM DROP POTS
- LDK TPOR CHECK FOR POSSIBLE *TSEM* REJECT
- RJM MRJ
- LJM CIDX RETURN
- CJA SPACE 4,10
- ** CJA - CHECK USER JOB ACTIVITY.
- *
- * EXIT (A) = *STSW* CPU STATUS.
- *
- * USES CM - CM+4.
- CJA SUBR ENTRY/EXIT
- LDD CP CONTROL POINT ADDRESS
- ADN STSW STATUS CONTROL WORD
- CRD CM
- LDD CM
- SHN -11 CP STATUS ONLY
- UJN CJAX RETURN
- COD SPACE 4,10
- ** COD - COPY OUTPUT DATA.
- *
- * ENTRY (IR+3 - IR+4) = OUTPUT FET ADDRESS.
- * (CD+2) = ACCEPTABLE CM WORD TRANSFER COUNT.
- * (PP) = DIRECT OUTPUT POT MEMORY CHAIN POINTER.
- *
- * EXIT DIRECT OUTPUT ASSIGNED TO OUTPUT POT MEMORY CHAIN.
- * (WC) = LAST POT MEMORY WORD COUNT.
- *
- * USES CD+2, PP, WC, CN - CN+4, T2 - T3.
- *
- * CALLS COB, RBB, RRR, SPA, SRR, UPP.
- COD SUBR ENTRY/EXIT
- * DUE TO IAF INTERNAL OUTPUT QUEUING, IT IS NECESSARY TO
- * BYPASS THE FIRST TWO POT MEMORY CM WORDS IN EVERY POT
- * MEMORY CHAIN ALLOCATED FOR OUTPUT TO ALLOW FOR IAF
- * INTERNAL QUEUE LINKAGE CONTROL.
- LDN /REM/VCPC-2 IAF POT MEMORY LENGTH-2
- STD WC INITIAL CM WORD TRANSFER
- * TRANSFER DIRECT OUTPUT.
- COD1 LDD CD+2 CHECK ACCEPTABLE CM TRANSFER COUNT
- SBN /REM/VCPC-2
- CODA EQU *-1
- PJN COD2 IF AT LEAST ONE POT MEMORY TO TRANSFER
- ADN /REM/VCPC-2 BIAS FOR MAXIMUM TRANSFER
- CODB EQU *-1
- STD WC
- COD2 LDD WC SET BUFFER TRANSFER COUNT *RBB*
- STD T3
- LDC BUFF BEGINNING WRITE BUFFER ADDRESS *RBB*
- RJM RBB READ BINARY BUFFER
- RJM SRR SET R-REGISTER TO IAF RA
- RJM SPA SET POT MEMORY ADDRESS FOR THIS TRANSFER
- ADN 2 ALLOW FOR LINKAGE FIRST POT ONLY
- * PSN IF FIRST POT MEMORY PASSED
- CODC EQU *-1
- CWM BUFF,WC TRANSFER OUTPUT
- RJM RRR RESTORE R-REGISTER
- LDD PP UPDATE LAST POT MEMORY WRITTEN
- STM WADO+2
- AOM WADO+1 INCREMENT POT COUNT
- * UPDATE ACCEPTABLE TRANSFER COUNT.
- LDD CD+2 ACCEPTABLE CM WORD TRANSFER COUNT
- SBD WC CURRENT TRANSFER
- STD CD+2
- LDN 0 INHIBIT SUCCESSIVE POT MEMORY OFFSET
- CODD EQU *-1
- NJN COD3 IF FIRST POT MEMORY PASSED
- LDN 2
- RAM CODA
- LDN 2
- RAM CODB
- LDN PSNI
- STM CODC
- AOM CODD
- AOD WC NEGATE LINKAGE CONTROL OFFSET COUNT
- AOD WC
- * CONTINUE UNTIL NETWORK REQUIREMENT OR FLUSH COMPLETION.
- COD3 LDD CD+2 REMAINING ACCEPTABLE CM WORD COUNT
- ZJN COD4 IF NETWORK REQUIREMENT MADE
- RJM SRR SET R-REGISTER TO IAF RA
- RJM UPP UPDATE POT MEMORY
- RJM RRR RESTORE R-REGISTER
- LDD PP
- NJP COD1 IF POT MEMORY AVAILABLE
- * NETWORK REQUIREMENT MADE OR POT MEMORY EXHAUSTION.
- COD4 LDN ZERL COMPLETE TRANSFER PROCESS
- CRD CN
- LDN 2R"IB" *0014* BYTE
- STD CN END OF TRANSFER PRESET
- LDD WC ALLOW FOR POSSIBLE TERMINATOR
- SBN /REM/VCPC
- ZJN COD5 IF COMPLETE POT MEMORY WRITTEN
- RJM SRR SET R-REGISTER TO IAF RA
- RJM SPA SET POT MEMORY ADDRESS
- ADD WC LAST POT WORD COUNT
- CWD CN WRITE TRANSFER TERMINATOR
- RJM RRR RESTORE R-REGISTER
- * PRESET OUTPUT COMPLETION.
- COD5 LDK ZERL
- CRD CN
- RJM COB CHECK FOR REMAINING OUTPUT
- NJN COD6 IF BUFFER IS NOT EMPTY
- LDM ANRA
- ZJN COD7 IF NOT EOR OR EOF
- LDN 2
- STD CN+4
- UJN COD7 PLACE FLAG IN WORD TWO OF THE POT HEADER
- COD6 LDC 0 CHECK NO RECALL FLAG
- * LDC WC (IF NO RECALL - ONE WORD LEFT IN BUFFER)
- CODE EQU *-1 SET BY *ANR*
- NJN COD7 IF NO RECALL REQUIRED
- AOM PTOB ADDITIONAL OUTPUT REMAINS
- COD7 LDM WADO+3 GET ADDRESS OF FIRST POT
- STD PP
- RJM SRR SET R-REGISTER TO IAF RA
- RJM SPA
- ADN 1
- CWD CN
- RJM RRR RESTORE R-REGISTER
- LJM CODX RETURN
- CTI SPACE 4,15
- ** CTI - CHECK FOR TERMINAL INPUT.
- *
- * ENTRY (TT - TT+1) = TERMINAL TABLE ADDRESS.
- * (TN) = TERMINAL CONNECTION NUMBER.
- *
- * EXIT (IR+3 - IR+4) = INPUT FET ADDRESS.
- * (A) = TYPEAHEAD QUEUE POINTER.
- * (A) = ZERO IF NO INPUT AHEAD.
- *
- * USES CM - CM+4, IR - IR+4.
- *
- * CALLS GMX, RRR, SRR.
- CTI SUBR ENTRY/EXIT
- LDD IA REREAD ORIGINAL INPUT REGISTER
- CRD IR
- LDD IR+3
- LPN 37
- ADD IR+4
- ZJN CTIX IF NO INPUT FET
- * CHECK FOR INPUT AHEAD QUEUE PREPROCESSED.
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TT
- SHN 14
- LMD TT+1
- ADN /REM/VROT *VADI* REQUEST WORD
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM+1
- ZJN CTI1 IF QUEUE NOT PREPROCESSED
- STM PTIA INHIBIT UNECESSARY *VADI* FUNCTION
- UJP CTIX RETURN
- * READ TERMINAL INPUT TYPEAHEAD QUEUE FROM IAF.
- CTI1 RJM GMX MULTIPLEXOR TERMINALS REQUIRE PREPROCESS
- ZJP CTIX IF MULTIPLEXOR TERMINAL
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TA IAF REFERENCE ADDRESS
- SHN 6
- ADN /REM/VMST TERMINAL STATUS MESSAGE WORD
- CRD CM
- LDD CM+1
- SHN 6
- ADD TA
- SHN 6
- ADD CM+2
- ADD TN
- CRD CM READ TERMINAL MESSAGE WORD
- RJM RRR RESTORE R-REGISTER
- LDD CM+4 INPUT TYPEAHEAD QUEUE POINTER
- UJP CTIX RETURN
- CTO SPACE 4,15
- ** CTO - CHECK FOR TERMINAL OUTPUT.
- *
- * ENTRY (TT - TT+1) = TERMINAL TABLE ADDRESS.
- *
- * EXIT (IR+3 - IR+4) = OUTPUT FET ADDRESS.
- * (CD+3 - CD+4) = MAXIMUM OUTPUT BUFFER CONTENT.
- * (A) = NONZERO IF TERMINAL OUTPUT.
- *
- * USES IR+3, IR+4, CM - CM+4, CD - CD+4.
- *
- * CALLS COB, RRR, SLF, SRR, STA, VFP.
- CTO SUBR ENTRY/EXIT
- LDN ZERL
- CRD CD
- * *TIOW* IS OUTPUT FET ADDRESS.
- LDD CP READ TERMINAL OUTPUT POINTER
- ADN TIOW
- CRD CM
- LDD CM+3
- LPN 37
- SHN 14
- LMD CM+4
- ZJN CTO1 IF NO OUTPUT POINTER
- STD IR+4
- SHN -14
- STD IR+3
- UJN CTO2 CHECK OUTPUT BUFFER CONTENT
- CTO1 RJM SLF SEARCH LIST OF FILES
- ZJN CTO3 IF NO *LOFW* OR RA+2 LIST ENTRIES
- * RETURN OUTPUT BUFFER COUNT.
- CTO2 RJM VFP VERIFY FET PARAMETERS
- RJM COB CHECK OUTPUT BUFFER CONTENT
- STD CD+4
- SHN -14
- STD CD+3
- ADD CD+4
- CTO3 STM CTOA SAVE EXIT CONDITION
- RJM SRR SET R-REGISTER TO IAF RA
- RJM STA RESTORE TERMINAL TABLE ADDRESS
- RJM RRR RESTORE R-REGISTER
- LDM CTOA
- UJP CTOX RETURN
- CTOA CON 0 EXIT CONDITION
- DFS SPACE 4,10
- ** DFS - DETERMINE FLUSH STATUS.
- *
- * THE REQUIREMENTS FOR A FILE TO BE FLUSHED ARE-
- * - FET MUST BE WITHIN FL.
- * - BUFFER MUST HAVE DATA IN IT.
- * - FET MUST NOT BE BUSY.
- * - CODE IN FET MUST BE A VALID *CIO* REQUEST.
- * - FILE MUST BE *OUTPUT* AND UNASSIGNED OR IT MUST BE
- * ASSIGNED TO TERMINAL EQUIPMENT.
- *
- * NOTE- ROUTINES *1RO*, *1AJ* AND *1MI* OBSERVE THE ABOVE
- * CONVENTIONS.
- *
- * ENTRY (T8 - T9) = FET ADDRESS.
- *
- * EXIT (A) = ZERO, IF ENTRY NOT A FLUSH CANDIDATE.
- * (CN - CN+4) = FIRST WORD OF FET.
- *
- * USES T1 - T7, CM - CM+4, CN - CN+4.
- *
- * CALLS VAD.
- DFS7 LDN 0 NOT A FLUSH CANDIDATE STATUS
- DFS SUBR ENTRY/EXIT
- LDD T8 READ FET PARAMETERS
- LPN 37
- SHN 14
- LMD T9
- ADN 3
- RJM VAD
- ZJN DFSX IF FET OUTSIDE FL
- CRD T3 READ OUT
- SBN 1
- CRD T1 READ IN
- SBN 2
- CRD CN READ FET+0
- LDD CN+4
- LPN 1
- ZJN DFSX IF FET BUSY
- LDD T6
- SBD T4
- SHN 14
- ADD T7
- SBD T5
- ZJN DFSX IF BUFFER EMPTY
- LDN DFSAL CHECK ACCEPTABLE *CIO* CALLS
- STD T1
- LDD CN+3
- LPN 77
- NJP DFS7 IF FET ERRORS
- * SCAN ACCEPTABLE *CIO* CODES.
- DFS1 SOD T1
- MJP DFS7 IF FET CODE NOT IN LIST
- LDM DFSA,T1
- LMD CN+4
- SCN 2 IGNORE BINARY BIT
- NJP DFS1 IF NOT VALID FET CODE
- LDD NF SET NFL SIZE + 1
- SHN 6
- ADN 1
- STD T7
- * SEARCH FNT ENTRIES FOR ASSIGNED FILE.
- LDC FNTN+LENF
- STD T6
- DFS2 NFA T6,R READ FNT ENTRY
- CRD CM
- LDD CM COMPARE FILE NAMES
- ZJN DFS3 IF NO ENTRY
- LMD CN
- NJN DFS3 IF NO MATCH
- LDD CM+1
- LMD CN+1
- NJN DFS3 IF NO MATCH
- LDD CM+2
- LMD CN+2
- NJN DFS3 IF NO MATCH
- LDD CM+3
- LMD CN+3
- SCN 77
- ZJN DFS5 IF MATCH
- DFS3 LDN LENF INCREMENT TO NEXT ENTRY
- RAD T6
- SBD T7
- MJN DFS2 IF NOT END OF FNT
- LDD CN CHECK FOR *OUTPUT*
- LMC 2ROU
- NJN DFS4 IF NOT *OUTPUT*
- LDD CN+1
- LMC 2RTP
- NJN DFS4 IF NOT *OUTPUT*
- LDD CN+2
- LMC 2RUT
- NJN DFS4 IF NOT *OUTPUT*
- LDD CN+3
- SCN 77
- ZJN DFS6 IF *OUTPUT*
- DFS4 UJP DFS7 FILE IS NOT A FLUSH CANDIDATE
- * EQUIPMENT ASSIGNMENT MUST BE *TTEQ*.
- DFS5 NFA T6,R CHECK EQUIPMENT ASSIGNMENT
- ADN FSTL
- CRD CM
- LDD CM
- LPC 777
- LMN TTEQ
- NJN DFS4 IF NOT ASSIGNED TO *TT*
- DFS6 LDN 1 INDICATE OUTPUT AVAILABLE
- UJP DFSX RETURN
- HST SPACE 4,10
- ** DFSA - TABLE OF CIO CODES TO FLUSH ON.
- *
- * ENTRY ONE WORD.
- *
- *T 12/*CIO* FUNCTION CODE.
- DFSA BSS 0
- LOC 0
- CON 1 FET COMPLETE STATUS
- CON 5 WRITE PRU
- CON 15 BUFFERED WRITE
- CON 25 WRITE EOR
- CON 35 WRITE EOF
- CON 105 WRITE NO REWIND
- CON 121 OPEN ALTER
- CON 145 OPEN WRITE REWIND
- CON 161 OPEN ALTER REWIND
- LOC *O
- DFSAL EQU *-DFSA *DFSA* TABLE LENGTH
- ERR SPACE 4,10
- ** ERR - PROCESS ERROR.
- *
- * ENTRY (A) = ERROR CODE - *COMSCIO*.
- *
- * EXIT TO *ERX* TO PROCESS ERROR RESPONSE.
- * (ERRA) = ERROR CODE ON ENTRY.
- *
- * USES CM - CM+4.
- *
- * CALLS CFN, ERX.
- ERR BSS 0 ENTRY
- STM ERRA SAVE ERROR CODE
- RJM ERX PROCESS *1MI* ERROR
- RJM CFN COMPLETE FUNCTION
- LJM DPP DROP PP
- ERRA CON 0 *1MI* ERROR CODE
- ERS SPACE 4,10
- ** ERS - ENTER RECALL STACK.
- *
- * ENTRY (A) = RECALL REASON CODE.
- * ALL OTHER PARAMETERS PRESET IN RCPW - RCPW+4.
- *
- * EXIT TO *PPR*.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- ERS BSS 0 ENTRY
- SHN 6
- RAM RCPW+1 SAVE RECALL REASON CODE
- LDK ZERL
- CRD CM
- LDC RECMS1 DEFAULT TIME PERIOD FOR RECALL
- * LDC RECMS2 MONITOR FUNCTION REJECT RECALL TIME PERIOD
- ERSA EQU *-1
- SHN 0 BIAS RECALL PERIOD REJECTION COUNT TIMES
- ERSE EQU *-1
- STD CM+4
- LDD IA STORE INPUT REGISTER
- CRD IR
- LDD MA
- CWM IR,ON REWRITE INPUT REGISTER TO MESSAGE BUFFER
- CWM RCPW,ON STORE RECALL PARAMETERS
- LDN PTMF TIMED RECALL CRITERIA
- STD CM+1
- MONITOR RECM RECALL PPU
- LJM PPR EXIT TO *PPR*
- ERX SPACE 4,10
- ** ERX - ERROR EXIT PROCESSOR.
- *
- * ENTRY (IR+3 - IR+4) = INPUT OR OUTPUT FET ADDRESS.
- * (BS - BS+4) = BUFFER STATUS.
- * (ERRA) = *CIOERR* ERROR CODE INDEX.
- * (FC) = *1MI* FUNCTION CODE.
- *
- * EXIT TO *DPP* IF INCORRECT ERROR CODE DETECTION.
- * ERROR FLAG SET IN CONTROL POINT PER ERROR OPTION.
- * DAYFILE ERROR MESSAGE RESPONSE ISSUED.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- *
- * CALLS CHG, IDM, VAD.
- *
- * MACROS CFET, MONITOR.
- ERX SUBR ENTRY/EXIT
- LDC 22S9 FET ERROR STATUS = 22B
- RAD BS+4
- SHN -14
- RAD BS+3
- LDN ZERL
- CRD CM
- LDN 0 PRESET *TEPO* TABLE SEARCH
- STD T1
- * SEARCH *TEPO* TABLE FOR PROCESSING PARAMETERS.
- ERX1 LDN TEPOL *TEPO* TABLE LENGTH
- SBD T1
- ZJN ERX2 IF TABLE LENGTH EXCEEDED
- LDM TEPO,T1 PROCESSING PARAMETERS
- SHN -1
- LPN 37
- SBM ERRA
- ZJN ERX3 IF SELECTION FOUND
- PJN ERX2 IF SELECTION PASSED
- AOD T1 ADVANCE TABLE SEARCH
- AOD T1
- UJN ERX1 CONTINUE *TEPO* SCAN
- * HANG *1MI* ON INCORRECT ERROR DETECTION.
- ERX2 LDK PPET SET ERROR FLAG
- RJM CHG CONDITIONALLY HANG PP
- LJM DPP DROP PP
- * ISSUE APPROPRIATE DAYFILE RESPONSE AND SET ERROR OPTIONS.
- ERX3 LDM ERRA *CIOERR* ERROR CODE
- LMK /CIOERR/ARG
- NJN ERX4 IF NOT AN ARGUMENT ERROR
- LDN PSNI INHIBIT WRITE OF FET+0
- STM CFNB
- ERX4 AOD T1 MESSAGE RESPONSE ADDRESS OFFSET
- LDM TEPO,T1
- STM IDMA
- SOD T1
- LDM TEPO,T1 READ ERROR PROCESSING OPTIONS
- SHN -6
- ZJN ERX5 IF NO ERROR FLAG OPTION
- * SET CONTROL POINT ERROR FLAG.
- STD CM+1
- MONITOR CEFM SET CONTROL POINT ERROR FLAG
- * SET FET DUMP OPTIONS.
- ERX5 LDM TEPO,T1
- LPN 1
- ZJN ERX6 IF NO FET DUMP OPTION
- LDD CP
- ADC PPDW PPU DUMP CONTROL WORD
- STD T1
- CRD CM
- CFET 1 GET CURRENT FET LENGTH AND VALIDATE
- CRD CN
- LDD CN+3
- SHN -6
- ADN 5 INITIAL FET LENGTH
- STD CN+3
- LDD IR+3
- SHN 14
- LMD IR+4
- ADD CN+3 CURRENT FET LENGTH
- RJM VAD VALIDATE FET DUMP LENGTH
- ZJN ERX6 IF FET DUMP EXCEEDS FIELD LENGTH
- * SET FET ADDRESS AND DUMP WORD COUNT TO *PPDW*.
- LDD IR+3
- LPN 77
- SHN 14
- LMD CN+3 WORD COUNT OF DUMP
- SHN 6
- STD CM+3
- LDD IR+4
- STD CM+4
- LDD T1 REWRITE *PPDW*
- CWD CM
- * SET UP DAYFILE ERROR MESSAGE RESPONSE.
- ERX6 RJM IDM ISSUE DAYFILE MESSAGE
- UJP ERXX RETURN
- HST SPACE 4,10
- ** TEPO - TABLE OF ERROR PROCESSING OPTIONS AND DAYFILE
- * ERROR MESSAGES.
- *
- * ENTRY TWO WORDS ASCENDING ORDER PER *ERR* ERROR
- * CODE VALUE.
- *
- *T 6/EF, 5/ERR, 1/FETD
- *T, 12/ADDR
- *
- * EF = CONTROL POINT ERROR FLAG OPTION.
- * ERR = *CIOERR* ERROR CODE.
- * FETD = SET IF FET DUMP DESIRED ON ERROR TERMINATION.
- * ADDR = ADDRESS OF CORRESPONDING DAYFILE MESSAGE.
- TEPO BSS 0
- LOC 0
- ARG MSG (FET ADDRESS OUT OF RANGE),PPET,0
- BUF MSG (BUFFER ARGUMENT ERROR ON ),PPET,1
- IRQ MSG (INCORRECT I/O REQUEST ON FILE ),PPET,1
- LOC *O
- TEPOL EQU *-TEPO
- GMX SPACE 4,10
- ** GMX - GET MULTIPLEXOR STATUS.
- *
- * ENTRY (TA) = INTERACTIVE REFERENCE ADDRESS.
- * (TN) = TERMINAL CONNECTION NUMBER.
- *
- * EXIT (A) = ZERO IF MULTIPLEXOR TERMINAL TYPE.
- *
- * USES CM - CM+4.
- *
- * CALLS RRR, SRR.
- GMX0 LDN 0 MULTIPLEXOR TERMINAL TYPE
- GMX SUBR ENTRY/EXIT
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TA INTERACTIVE REFERENCE ADDRESS
- SHN 6
- ADN /REM/VNTP TERMINAL TABLE POINTER
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM+2
- ZJN GMXX IF NO NETWORK TERMINALS DEFINED
- SBN 1 (A) = HIGHEST MUX TERMINAL NUMBER
- SBD TN
- PJN GMX0 IF A MUX TERMINAL
- UJN GMXX RETURN
- IDM SPACE 4,10
- ** IDM - SET UP AND ISSUE DAYFILE MESSAGE.
- *
- * ENTRY (BS - BS+4) = BUFFER STATUS.
- * (IDMA) = DAYFILE MESSAGE ADDRESS.
- *
- * EXIT DAYFILE MESSAGE ISSUED.
- *
- * USES T1, CM.
- *
- * CALLS ACS, ANS, DFM.
- IDM SUBR ENTRY/EXIT
- LDC BUFF SET BUFFER ADDRESS FOR *ACS*, *ANS*
- STD T1
- LDC 1R *100
- STI T1
- LDC ** MOVE MESSAGE TO CHARACTER BUFFER
- IDMA EQU *-1 MESSAGE ADDRESS (*ERX*)
- RJM ACS ASSEMBLE CHARACTER STRING
- LDD BS+3
- STD CM PRESERVE BUFFER STATUS
- SCN 77
- STD BS+3
- LDN BS MOVE FILE NAME
- RJM ACS ASSEMBLE NAME
- LDD CM RESTORE BUFFER STATUS FIELD
- STD BS+3
- LDC =Z* AT * ADD * AT *
- RJM ACS ASSEMBLE STRING
- LDD IR+3 ADD FET ADDRESS
- LPN 77
- SHN 14
- LMD IR+4
- RJM ANS ASSEMBLE NUMERIC STRING
- LDC =Z*.* ADD TERMINATOR
- RJM ACS ASSEMBLE TERMINATOR
- * ISSUE DAYFILE MESSAGE.
- LDC BUFF MESSAGE BUFFER ADDRESS FOR *DFM*
- RJM DFM ISSUE MESSAGE
- UJP IDMX RETURN
- ITA SPACE 4,15
- ** ITA - INITIALIZE INTERACTIVE ACCESS.
- *
- * ENTRY SUBSYSTEM CONTROL TABLE TO BE SCANNED FOR
- * IAF ACCESSIBILITY.
- *
- * EXIT (TA) = IAF REFERENCE ADDRESS.
- * (A) = NONZERO IF IAF ACCESSIBLE.
- *
- * USES CM - CM+4, T1 - T5.
- *
- * CALLS PIR.
- ITA0 LDN 0 IAF INACESSIBLE STATUS
- ITA SUBR ENTRY/EXIT
- LDC SSCP SUBSYSTEM TABLE POINTER
- CRD CM
- LDD CM+2 TABLE ADDRESS
- LPN 37
- SHN 14
- LMD CM+3
- CRD CM READ TABLE ENTRY
- LDD CM IAF ENTRY
- SHN 21-13 ACCESSIBILITY BIT
- PJN ITA0 IF IAF INACCESSIBLE
- * IF NO ERROR FLAGS, RETURN WITH IAF REFERENCE ADDRESS.
- SHN 14
- LPC 3777 MASK OFF ACCESSIBILITY BIT
- SHN 7 BIAS CONTROL POINT ASSIGNMENT 200B
- ADN STSW STATUS CONTROL WORD
- CRD T1
- ADN FLSW-STSW FIELD LENGTH CONTROL WORD
- CRD CM
- LDD T1+1 ERROR FLAG FIELD
- NJN ITA0 IF IAF INACCESSIBLE
- LDD CM+3
- ZJN ITAX IF NO REFERENCE ADDRESS
- RJM PIR PRESET WITH IAF R-REGISTER
- UJN ITAX RETURN
- MRJ SPACE 4,10
- ** MRJ - CHECK FOR MONITOR FUNCTION REJECTION.
- *
- * *MRJ* CHECKS TO SEE IF A *TSEM* OR *TGPM* MONITOR FUNCTION
- * WAS REJECTED. IF NOT, *MRJ* RETURNS TO THE CALLER. IF A
- * FUNCTION WAS REJECTED, *MRJ* SAVES ALL NECESSARY RECALL
- * INFORMATION AND THEN CAUSES *1MI* TO ENTER PP RECALL.
- *
- * ENTRY (A) = RECALL REASON CODE, IF FUNCTION REJECTED.
- * (CM+1) = *CPUMTR* REPLY FROM MONITOR FUNCTION.
- * (BS - BS+4) = CURRENT BUFFER STATUS.
- *
- * EXIT TO *ERS* IF FUNCTION WAS REJECTED.
- *
- * USES T0.
- *
- * CALLS ROJ.
- MRJ SUBR ENTRY/EXIT
- STM MRJA SAVE RECALL REASON CODE
- LDD CM+1
- ZJN MRJ1 IF IAF IS INACCESSIBLE
- LMC 7777
- ZJN MRJ2 IF THE MONITOR FUNCTION WAS REJECTED
- UJN MRJX RETURN
- * ROLLOUT WITH SUSPENSION IF IAF IS INACTIVE ONLY.
- MRJ1 LDK ROSU SUSPEND ON JOB ROLLOUT
- STD T0
- RJM ROJ ROLLOUT USER JOB
- LDK IAFF SET FUNCTION REJECTED BECAUSE IAF ABORTED
- RAM RCPW+4
- * RECALL PPU ON MONITOR REJECTION FOR 100 MILLISECONDS.
- MRJ2 LDK RECMS2 100 MS RECALL PERIOD
- STM ERSA
- LDM RCRF+4 BIAS RECALL TIME PERIOD
- LPN 7
- RAM ERSE
- LPN 7
- RAM RCPW+4
- LPN 7
- SBN 4
- PJN MRJ3 IF MAXIMUM TIME PERIOD REACHED
- AOM RCPW+4 INCREMENT FUNCTION REJECT COUNT
- MRJ3 LDM WIAF+3 FIRST POT
- STM RCPW+3
- LDM MRJA
- LJM ERS ENTER PP RECALL
- MRJA CON 0 RECALL REASON CODE
- PTI SPACE 4,10
- ** PTI - PROCESS TERMINAL INPUT.
- *
- * ENTRY (PTIA) = PREPROCESSED INPUT AHEAD QUEUE.
- * (TN) = TERMINAL NUMBER.
- *
- * EXIT INPUT AHEAD TRANSFERED TO INPUT FET.
- * (IR+3- IR+4) = INPUT FET ADDRESS.
- * (TT - TT+1) = TERMINAL TABLE ADDRESS.
- * (A) = NONZERO IF TRANSFER COMPLETE.
- *
- * USES CM - CM+4, IR - IR+4, PP, T2, T8 - T9.
- *
- * CALLS CID, ITA, MRJ, RRR, SRR, STA, VFP.
- *
- * MACROS DELAY, MONITOR, PAUSE.
- PTI SUBR ENTRY/EXIT
- * ASSURE INPUT FET ADDRESS FOLLOWING POSSIBLE OUTPUT FLUSH.
- LDD IA REREAD ORIGINAL INPUT REGISTER
- CRD IR
- RJM VFP VERIFY FET PARAMETERS
- RJM SRR SET R-REGISTER TO IAF RA
- RJM STA SET TERMINAL TABLE ADDRESS
- RJM RRR RESTORE R-REGISTER
- LDC ** PREPROCESSED INPUT QUEUE POINTER (*CTI*)
- PTIA EQU *-1
- NJN PTI1 IF QUEUE PREPROCESSED
- * FUNCTION IAF FOR DIRECT INPUT ASSIGNMENT.
- PTI0 SOM PTIC DECREMENT *TSEM* REQUEST COUNT
- LDK ZERL RESET *TSEM* REQUEST
- CRD CM
- CRM WADI,ON
- LDC /REM/VADI
- STM WADI
- LDD TN TERMINAL NUMBER TO FUNCTION REQUEST
- STM WADI+4
- LDD MA
- CWM WADI,ON
- MONITOR TSEM
- LDK TALR PRESET POSSIBLE VADI REJECTION
- RJM MRJ
- * STATUS PREVIOUS *VADI* REQUEST.
- PTI1 LDD RA SAVE REFERENCE ADDRESS
- STD T9
- * DELAY THE INPUT PROCESS TO ALLOW *VADI* COMPLETION.
- PTI2 RJM SRR SET R-REGISTER TO IAF RA
- LDD TT *VADI* FUNCTION REQUEST RESPONSE
- SHN 14
- LMD TT+1
- ADN /REM/VROT
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM+1
- NJP PTI6 IF DIRECT INPUT ASSIGNED
- LDD CM+3
- LPC 6000
- NJP PTI5 IF *TSEM* RESPONSE
- * LDN 0 DEFINE DELAY TYPE
- STM PTIB
- * DELAY APPROXIMATLY 10 MILLISECONDS.
- PTI2.1 LDN 77 DELAY CYCLE INCREMENT
- STD T8
- PTI3 SOD T8
- NJN PTI3.1 IF DELAY CYCLE NOT EXHAUSTED
- LDC 0 (TYPE OF DELAY)
- PTIB EQU *-1
- ZJP PTI2 IF *TSEM* NOT COMPLETE
- LJM PTI0 REISSUE *TSEM*
- PTI3.1 DELAY
- PAUSE ALLOW STORAGE RELOCATION
- LDD CM+1 ASSURE ERROR CONDITION THIS JOB
- ZJN PTI4 IF NO ERROR FLAG AT THIS CP
- LDN 0
- UJP PTIX DISCONTINUE READ REQUEST
- * ASSURE IAF ACCESSILILITY.
- PTI4 RJM ITA GET IAF CURRENT STATUS
- NJP PTI3 IF IAF STILL ACCESSIBLE
- LDK ZERL
- CRD CM
- LDK TALR TREAT AS A *VADI* REJECTION
- RJM MRJ THIS WILL ALWAYS EXIT VIA *ERS*
- * *VADI* FUNCTION REJECTION IS POSSIBLE DUE TO LOW POT
- * MEMORY WITHIN IAF, NO INPUT AHEAD IN IAF, THE IAF
- * RECEIVE BUFFER BUSY, OR OVERFLOW OCCURRED. IF THE
- * RECEIVE BUFFER IS BUSY BUT THERE IS TYPEAHEAD DATA
- * IN IAF, DELAY AND REISSUE THE *VADI* *TSEM* REQUEST
- * (A MAXIMUM OF EIGHT TIMES). IN THE THREE OTHER REJECT
- * CASES, ROLL THE JOB.
- PTI5 STD T2 SAVE REJECT TYPE
- LMD CM+3
- STD CM+3
- AOM PTIB SET DELAY TYPE
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TT TERMINAL TABLE ADDRESS
- SHN 14
- LMD TT+1
- ADN /REM/VROT
- CWD CM CLEAR REQUEST WORD
- RJM RRR RESTORE R-REGISTER
- LDD T2 CHECK REJECT TYPE
- SHN 21-13
- PJN PTI5.1 IF REJECT RESPONSE
- LDM PTIC CHECK *TSEM* REQUEST COUNT
- SHN 6
- PJP PTI2.1 IF NOT AT LIMIT
- PTI5.1 LDN 0 INCOMPLETION STATUS
- UJP PTIX RETURN
- * SATISFY READ FUNCTION REQUEST ON ACTIVE INPUT.
- PTI6 STD PP SET INPUT AHEAD POT POINTER
- * RESET INPUT FET POINTERS IF STORAGE RELOCATION OCCURRED.
- LDD RA CURRENT REFERENCE ADDRESS
- LMD T9 RA PRIOR TO POSSIBLE STORAGE RELOCATION
- ZJN PTI7 IF NO STORAGE MOVEMENT OCCURRED
- RJM VFP VERIFY FET PARAMETERS
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TT REREAD *VROT*
- SHN 14
- LMD TT+1
- ADN /REM/VROT
- CRD CM
- RJM RRR RESTORE R-REGISTER
- PTI7 LDN 0 CLEAR POT POINTER
- STD CM+1
- LDD CM+4 CLEAR INPUT REQUESTED
- SCN 10
- STD CM+4
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TT
- SHN 14
- LMD TT+1
- ADN /REM/VROT
- CWD CM REWRITE *VROT*
- RJM RRR RESTORE R-REGISTER
- RJM CID COPY INPUT DATA
- LDN 1
- LJM PTIX EXIT
- PTIC CON 10 *TSEM* REQUEST LIMIT
- PTO SPACE 4,20
- ** PTO - PROCESS TERMINAL OUTPUT.
- *
- * ENTRY (IR+3 - IR+4) = OUTPUT FET ADDRESS.
- * (CD+3 - CD+4) = MAXIMUM OUTPUT BUFFER CONTENT.
- * (BS - BS+4) = OUTPUT BUFFER STATUS.
- * (TN) = TERMINAL CONNECTION NUMBER.
- *
- * EXIT TERMINAL OUTPUT ASSIGNED.
- * (A) .LT. 0, IF IAF OUTPUT THRESHOLD REACHED.
- * (TT - TT+1) = TERMINAL TABLE ADDRESS.
- * TO *ERS* IF NOT ALL OUTPUT FLUSHED.
- * TO *DPP* IF FULL OUTPUT BUFFER AND NO EOL.
- *
- * USES CD, PP, CM - CM+4, CN - CN+4, T2 - T3.
- *
- * CALLS ANR, CHG, CIB, COD, GMX, MRJ, ROJ, RRR, SRR, STA.
- *
- * MACROS CFET, MONITOR.
- PTO SUBR ENTRY/EXIT
- RJM SRR SET R-REGISTER TO IAF RA
- RJM STA SET TERMINAL TABLE ADDRESS
- RJM RRR RESTORE R-REGISTER
- LDD BS+4 BUFFER STATUS
- LPN 20
- NJN PTO1 IF AN EOR/EOF FUNCTION
- RJM CIB CHECK BUFFER INPUT STATUS
- NJN PTO2 IF NOT A FULL BUFFER
- * IN THE EVENT NETWORK REQUIREMENTS ARE NOT MET FOR
- * A BUFFERED WRITE ON A FULL BUFFER, IT IS NECESSARY
- * TO ROLLOUT THE USER JOB TO ASSURE BUFFER FLUSH
- * COMPLETION.
- AOM PTOA SIGNAL FULL BUFFERED WRITE
- UJN PTO2 ATTEMPT OUTPUT TRANSFER
- * IGNORE NETWORK REQUIREMENTS ON EOR/EOF FUNCTION.
- PTO1 AOM ANRA PASS NETWORK OUTPUT REQUIREMENTS
- * SET NETWORK TERMINAL DOWNLINE BLOCK LIMIT.
- PTO2 RJM GMX
- ZJN PTO2.2 IF MUX
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TA
- SHN 6
- ADN /REM/VMST
- CRD CM READ TERMINAL MESSAGE BUFFER POINTER
- LDD CM+1
- SHN 6
- ADD TA
- SHN 6
- ADD CM+2
- ADD TN
- CRD CM READ TERMINAL *VMST*
- RJM RRR RESTORE R-REGISTER
- LDD CM+1 CHECK TERMINAL CLASS
- LPC 377
- SBN 10+1
- PJN PTO2.1 IF SYNCHRONOUS TERMINAL
- AOM ANRB
- PTO2.1 LDD CM+3
- SHN -6
- LPN 37
- NJN PTO3 IF NETWORK BLOCKSIZE DEFINED
- * HANG *1MI* ON INCORRECT NETWORK BLOCKSIZE.
- * LDN 0 SET NO ERROR FLAG
- RJM CHG CONDITIONALLY HANG PP
- PTO2.2 LDN /REM/VOPL DEFAULT BLOCKSIZE
- * REQUIREMENTS DEPEND ON BLOCKSIZE.
- PTO3 SHN 3 CONVERT BLOCKSIZE TO CM WORD COUNT
- STD CD
- RJM ANR ASSURE TERMINAL REQUIREMENTS
- MJP PTO6 IF REQUIREMENTS NOT ASSURED
- RJM GMX
- ZJP PTO6.1 IF MUX TERMINAL
- LDN 0 CLEAR *TSEM* POT COUNT
- STD T2
- LDK /REM/VTRP *TSEM* QUEUE POINTER
- STD T3
- SOD T3
- RJM SRR SET R-REGISTER TO IAF RA
- PTO3.5 AOD T3 INCREMENT POINTER
- SBK /REM/VTSP END OF QUEUE
- PJN PTO4 IF END OF *TSEM* QUEUE
- LDD TA IAF REFERENCE ADDRESS
- SHN 6
- ADD T3 ADD IN POINTER
- CRD CM READ IN QUEUE ENTRY
- LDD CM+4 CHECK TERMINAL NUMBER
- LMD TN
- NJN PTO3.5 IF NOT CURRENT TERMINAL
- LDD CM CHECK TYPE OF *TSEM* REQUEST
- SBK /REM/VADO
- NJN PTO3.5 IF NOT *VADO* *TSEM* REQUEST
- LDD CM+1 GET POT COUNT
- RAD T2 ADD TO PREVIOUS POT COUNT
- UJN PTO3.5 CONTINUE SEARCH
- PTO4 RJM STA
- ADN /REM/VSTT CHECK MESSAGES QUEUED IN IAF
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM+2
- LPN 77
- ADD T2 ADD *TSEM* QUEUE POT COUNT
- STD CM+2
- LDK /REM/VNCP COMPARE WITH MAXIMUM ALLOWED
- SBD CM+2
- MJP PTOX IF IAF OUTPUT THRESHOLD REACHED
- * SET *TSEM* POT MEMORY REQUEST.
- LDK ZERL PRESET *TGPM* SUBFUNCTION
- CRD CM
- CRM WADO,ON
- LDD CD+2 CURRENT ACCEPTABLE TRANSFER
- ADN /REM/VCPC-1+2 ROUND UP AND ALLOW FOR HEADER
- SHN -3 CM WORD COUNT TO POT COUNT
- STD CM+1 IAF POT COUNT REQUEST
- MONITOR TGPM GET POT MEMORY
- LDK TALR
- RJM MRJ
- * SET IAF *VADO* REQUEST FOR OUTPUT BUFFER FLUSH.
- LDD CM+1 GET POT POINTER
- STD PP CURRENT IAF POT MEMORY POINTER
- STM WADO+3 FIRST POT IN ASSIGN OUTPUT *VADO*
- STM WADO+2 LAST POT IN ASSIGN OUTPUT
- LDC /REM/VADO PRESET ASSIGN DIRECT OUTPUT REQUEST
- STM WADO
- LDD TN
- STM WADO+4 SET TERMINAL CONNECTION IN *VADO* REQUEST
- * ASSIGN TERMINAL OUTPUT.
- RJM COD COPY OUTPUT DATA
- LDD MA MESSAGE BUFFER
- CWM WADO,ON
- LDK ZERL
- CRD CM
- MONITOR TSEM ASSIGN DIRECT OUTPUT *VADO*
- * THE OUTPUT POINTER SHOULD NOT BE UPDATED UNTIL AFTER THE
- * *VADO* *TSEM* REQUEST HAS BEEN HONORED. OTHERWISE, IF THE
- * *VADO* WAS REJECTED AND THE JOB ROLLED, THEN *1RO* WOULD NOT
- * BE ABLE TO FLUSH THAT OUTPUT WHICH *1MI* PUT INTO POTS.
- LDK TDOR PRESET POSSIBLE *VADO* REJECTION
- RJM MRJ
- LDN ZERL REQUEST ACCEPTED, SO UPDATE OUTPUT POINTER
- CRD CN
- LDD OT
- STD CN+3
- LDD OT+1
- STD CN+4
- CFET 3
- CWD CN
- LDN 0
- * LDN 1
- PTOB EQU *-1
- ZJN PTO7 IF ALL OUTPUT FLUSHED
- LDC RECMS2
- STM ERSA
- PTO5 LDK TALR
- LJM ERS ENTER RECALL STACK
- * ROLLOUT JOB ON BUFFERED WRITE, FULL CONDITION NO *EOL*
- PTO6 LDN 0 FULL BUFFERED WRITE CONDITION
- * LDN 1
- PTOA EQU *-1
- ZJN PTO7 IF NOT FULL OUTPUT BUFFER AND NO *EOL*
- * ALLOW ROUTINE *1RO* TO COMPLETE OUTPUT REQUEST.
- PTO6.1 LDK ROSR
- STD T0
- RJM ROJ ROLLOUT USER JOB
- UJN PTO5 ENTER RECALL
- PTO7 LJM PTOX RETURN
- RBS SPACE 4,10
- ** RBS - REVERSE BUFFER SCAN.
- *
- * ENTRY (CD+1 - CD+2) = BEGINNING BUFFER SCAN CONTENT.
- * (FT - FT+1) = BUFFER FIRST WORD ADDRESS.
- * (LM - LM+1) = BUFFER LAST WORD ADDRESS.
- * (T3 - T3+1) = RUNNING BUFFER *IN* POINTER.
- *
- * EXIT (CD+1 - CD+2) = ACCEPTABLE BUFFER CM WORD COUNT
- * ENCOMPASSING COMPLETE LOGICAL LINES.
- * (A) = LESS THAN ZERO IF NO *EOL* ENCOUNTERED.
- *
- * USES CM - CM+4.
- * ENTER SEARCH LOOP FOR AN EXISTING *EOL* BYTE.
- RBS2 LDD T3 BEGIN BUFFER SCAN
- SHN 6
- ADD RA
- SHN 6
- ADD T3+1
- SBN 1 BACK OFF RUNNING *IN* POINTER
- CRD CM READ BUFFER ENTRY
- SHN 14
- SBD RA
- SHN 6
- STD T3+1
- SHN -14
- STD T3
- LDD CM+4
- ZJN RBSX IF AN *EOL* BYTE ENCOUNTERED
- LDD CD+1 DECREMENT ACCEPTABLE CM WORD TRANSFER
- SHN 14
- LMD CD+2
- SBN 1
- STD CD+2
- SHN -14
- STD CD+1
- ADD CD+2
- NJN RBS1 IF NOT A COMPLETE BUFFER SCAN
- LCN 0 LINE FRAGMENT STATUS
- RBS SUBR ENTRY/EXIT
- RBS1 LDD T3 ASSURE BUFFER WRAP
- SBD FT BUFFER FIRST WORD ADDRESS
- SHN 14
- LMD T3+1
- SBD FT+1
- NJP RBS2 IF *FIRST* NOT REACHED
- LDD LM
- STD T3 SET *IN = LIMIT*
- LDD LM+1
- STD T3+1
- LJM RBS2 CONTINUE BUFFER SCAN
- ROJ SPACE 4,10
- ** ROJ - ROLL USER JOB.
- *
- * ENTRY (T0) = *COMSCPS* ROLLOUT OPTION REQUEST.
- *
- * EXIT CONTROL POINT ROLLOUT REQUESTED.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- ROJ SUBR ENTRY/EXIT
- LDN ZERL
- CRD CM
- LDD T0 REQUESTED OPTION
- STD CM+1
- MONITOR ROCM
- UJN ROJX RETURN
- SLF SPACE 4,10
- ** SLF - SEARCH LIST OF FILE ENTRIES.
- *
- * ENTRY SCAN LIST OF FILE *LOFW* OR RA+2 ENTRIES
- * FOR POSSIBLE OUTPUT BUFFER FLUSH CANDIDATES.
- *
- * EXIT (IR+3 - IR+4) = BUFFER OUTPUT FET ADDRESS.
- * (A) = NONZERO IF FILE ENTRY TO BE FLUSHED.
- *
- * USES T1 - T5, CM - T9.
- *
- * CALLS DFS, VAD.
- SLF SUBR ENTRY/EXIT
- LDD FL
- ZJN SLFX IF NO FIELD LENGTH
- * PROCESS LIST OF FILE ENTRIES *LOFW*.
- LDD CP LIST OF FILES POINTER
- ADC LOFW
- CRD CM
- LDD CM+1
- LPN 37
- SHN 14
- LMD CM+2
- ZJN SLF1 IF *LOFW* NOT IN USE
- ADN 1 OFFSET INTO *LOFW* TABLE
- RJM VAD VALIDATE ENTRY ADDRESS
- ZJN SLFX IF INCORRECT ADDRESS
- CRD T8-3 READ *LOFW* ENTRY
- RJM DFS DETERMINE FLUSH STATUS
- NJP SLF3 SET UP FLUSH CANDIDATE
- UJN SLFX IF NOT A FLUSH CANDIDATE
- * PROCESS RA+2 LIST IF NO *LOFW*.
- SLF1 AOM SLFA RA+2 INDEX
- LPN 77
- LMN PGNR MAXIMUM RA+2 LIST LENGTH
- ZJN SLFX IF END OF LIST
- LDD RA REFERENCE ADDRESS
- SHN 6
- SLFA ADN 1 INCREMENT RA+2 INDEX
- CRD T8-3 READ RA+2 ENTRY
- LDD T8-3
- ZJP SLFX IF END OF LIST
- * VALIDATE FET/FIT ADDRESS.
- LDD T8
- LPN 37
- SHN 14
- LMD T8+1
- ADN 5 BIAS FET/FIT LENGTH
- RJM VAD VALIDATE LIST ENTRY
- ZJN SLF1 IF FET/FIT OUTSIDE FL
- SBN 5
- CRD T1 DETERMINE IF FET/FIT
- LDD T1+3
- LPN 37
- ADD T1+4
- NJN SLF2 IF NOT A POSSIBLE FIT
- * VALIDATE FET POINTER WITHIN FIT TABLE.
- * NOTE. FIT+0 RESERVED BITS (17-0) DISTINGUISH
- * FIT TABLE DESCRIPTION.
- LDD T8
- LPN 37
- SHN 14
- LMD T8+1
- ADN 1
- RJM VAD VALIDATE FIT ADDRESS
- ZJP SLF1 IF FIT ADDRESS OUTSIDE FL
- CRD T8-3 READ FET ADDRESS WITHIN FIT
- LDD T8
- LPN 37
- ADD T8+1
- ZJP SLF1 IF NO FET ADDRESS WITHIN FIT
- * DETERMINE FET/FIT FLUSH STATUS.
- SLF2 RJM DFS DETERMINE FLUSH STATUS
- ZJP SLF1 IF NOT A FLUSH CANDIDATE
- * SET UP FET ADDRESS EXIT CONDITIONS.
- SLF3 LDD T8
- LPN 37
- STD IR+3 SET UP FET ADDRESS
- LDD T8+1
- STD IR+4
- LJM SLFX RETURN
- VAD SPACE 4,10
- ** VAD - VALIDATE ADDRESS WITHIN FL.
- *
- * ENTRY (A) = ADDRESS NEEDING VALIDATION.
- *
- * EXIT (A) = ABSOLUTE ADDRESS WITHIN FL.
- * (A) = ZERO IF INCORRECT ADDRESS.
- VAD1 LDN 0 INCORRECT ADDRESS STATUS
- VAD SUBR ENTRY/EXIT
- SHN 14
- SBD FL FIELD LENGTH
- SHN 6
- PJN VAD1 IF INCORRECT ADDRESS PASSED
- SHN 14
- ADD FL
- ADD RA REFERENCE ADDRESS
- SHN 6 ABSOLUTE ADDRESS
- UJN VADX RETURN
- VFP SPACE 4,10
- ** VFP - VERIFY FET PARAMETERS.
- *
- * ENTRY (IR+3 - IR+4) = FET ADDRESS.
- *
- * EXIT (FT - FT+1) = BUFFER FIRST WORD ADDRESS.
- * (IN - IN+1) = BUFFER IN POINTER.
- * (OT - OT+1) = BUFFER OUT POINTER.
- * (LM - LM+1) = BUFFER LAST WORD ADDRESS.
- * (BS - BS+4) = BUFFER FET STATUS.
- *
- * USES CM - CM+4.
- *
- * MACROS CFET, ERROR, MONITOR.
- VFP SUBR ENTRY/EXIT
- * RESET FET BUFFER STATUS.
- CFET GET BUFFER STATUS
- CRD BS
- LDN 3 VALIDATE ALL FET PARAMETERS
- STD CM+1
- LDD IR+3 FET ADDRESS
- LPN 77
- STD CM+3
- LDD IR+4
- STD CM+4
- MONITOR VFPM VERIFY FET PARAMETERS
- LDD CM+1 VALIDATION RESPONSE
- ZJN VFP2 IF VALID FET
- LPN 1
- ZJN VFP1 IF VALID FET ADDRESS
- ERROR ARG *FET ADDRESS OUT OF RANGE*
- VFP1 LDD CM+1
- LPN 2
- ZJN VFP2 IF NO BUFFER ERROR
- ERROR BUF *BUFFER ARGUMENT ERROR*
- * RESET VALID FET PARAMETERS.
- VFP2 LDD MA CM MESSAGE BUFFER
- ADN 2
- CRD IN-1 *IN* AND *OUT*
- ADN 1
- CRD FT-1 *FIRST* AND *LIMIT*
- LDD BS+3 CLEAR ERROR, LEVEL AND COMPLETION
- SCN 77
- STD BS+3
- LDD BS+4
- LPC 776
- STD BS+4
- UJP VFPX RETURN
- ** COMMON DECKS.
- *CALL,COMPACS
- *CALL,COMPANS
- *CALL,COMPCIB
- *CALL,COMPCOB
- PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
- *CALL,COMPSRR
- *CALL,COMPCRS
- *CALL,COMPRBB
- *CALL,COMPSPA
- *CALL,COMPSTA
- *CALL,COMPUPP
- *CALL,COMPWBB
- HST TITLE FUNCTION REQUEST AND BUFFER STORAGE.
- ** PREVIOUS PP RECALL PARAMETER WORD.
- * IF *1MI* IS STARTED FROM THE RECALL STACK, THIS WORD WILL
- * CONTAIN INFORMATION SAVED BY THE PREVIOUS COPY OF *1MI*
- * IN THE FOLLOWING FORMAT -
- *
- * 1/S, 5/, 6/CP, 6/RC, 18/, 12/FP, 1/A, 1/, 4/IF, 3/, 3/RT
- *
- * S SET BY *CPUMTR* TO SHOW *1MI* STARTED FROM RECALL.
- * CP UNUSED (WARNING - SOMETIMES SET BY *CPUMTR*).
- * RC REASON CODE WHY *1MI* ENTERED RECALL.
- * FP FIRST POT IN CHAIN PRIOR TO RECALL.
- * A SET IF MONITOR FUNCTION REJECTED BECAUSE IAF ABORTED.
- * IF *CIO* INTERNAL FUNCTION CODE (SEE *COMSCIO*).
- * RT MONITOR FUNCTION REJECTION COUNT.
- RCRF CON 0,0,0,0,0
- ** NEW PP RECALL PARAMETER WORD.
- * USED IF *1MI* MUST ENTER RECALL. IT HAS THE SAME FORMAT AS
- * THE PREVIOUS PP RECALL PARAMETER WORD.
- RCPW CON 0,0,0,0,0
- HST SPACE 4,10
- ** TIAF - TABLE OF *TSEM* FUNCTION REQUEST DEFINITIONS.
- *
- * ENTRY FIVE WORDS. CONTENTS VARY PER *TSEM* REQUEST.
- *
- * WADO - ASSIGN DIRECT OUTPUT TO IAF.
- *
- *T 12//REM/VADO, 6/0, 6/PC, 12/LP, 12/FP, 12/TN
- *
- * WADI - ASSIGN DIRECT INPUT FROM IAF.
- *
- *T, 12//REM/VADI, 36/0, 12/TN
- *
- * WDPO - IAF DROP POT MEMORY REQUEST.
- *
- *T, 12//REM/VDPO, 12/0, 12/LP, 12/FP, 12/TN
- *
- * PC = POT MEMORY CHAIN COUNT PER CURRENT REQUEST.
- * FP = FIRST POT MEMORY POINTER PER CURRENT REQUEST.
- * LP = LAST POT MEMORY POINTER PER CURRENT REQUEST.
- * TN = TERMINAL CONNECTION NUMBER.
- TIAF BSS 0
- WADO BSS 0 ASSIGN DIRECT OUTPUT
- WADI BSS 0 ASSIGN DIRECT INPUT
- WDPO BSS 0 DROP POT MEMORY REQUEST
- WIAF CON 0,0,0,0,0 *TSEM* FUNCTION REQUEST PARMAETERS
- * DATA TRANSFER BUFFER OVERLAYS PRESET.
- USE BUFFERS
- BUFF EQU *
- BUFFL EQU /REM/VCPC*2*5
- ERRNG 100000-BUFF-BUFFL
- PRS TITLE *1MI* INITIALIZATION.
- ** PRS - PRESET *1MI*.
- *
- * ENTRY (IR - IR+4) = *1MI* CALL.
- * (MB - MB+4) = *1MI* MESSAGE BUFFER PARAMETERS (*PPR*)
- * (MB1 - MB1+4) = MESSAGE BUFFER + 1 PARAMETERS.
- * (MB2 - MB2+4) = MESSAGE BUFFER + 2 PARAMETERS.
- *
- * EXIT (FC) = INTERNAL *CIO* FUNCTION CODE.
- * (BS - BS+4) = BUFFER STATUS = (FET+0)
- * (FT - FT+1) = BUFFER FIRST WORD ADDRESS.
- * (IN - IN+1) = BUFFER IN POINTER.
- * (OT - OT+1) = BUFFER OUT POINTER.
- * (LM - LM+1) = BUFFER LAST WORD ADDRESS.
- * (TT - TT+1) = TERMINAL TABLE ADDRESS.
- * (RCRF - RCRF+4) = PARAMETER WORD FROM PREVIOUS IAF.
- * TO *DPP* IF USER BREAK PROCESS WITH EXTENDED REPRIEVE.
- * TO *ERS* IF IAF INACCESSIBLE TO ALLOW USER RECOVERY.
- *
- * USES CM - CM+4, CN - CN+4, FT-1 - FT+3, IN-1 - IN+3,
- * BS - BS+4, FC, NF, TN, T0.
- *
- * CALLS CFN, CJA, CTT, ITA, REC, ROJ, STA.
- *
- * MACROS CFET, ERROR, SFA.
- PRS SUBR ENTRY/EXIT
- * MOVE PP RECALL PARAMETER WORDS TO LOCATIONS WHICH ARE NOT
- * DESTROYED BY COMMON DECKS.
- LDD MA RESET FET PARAMETERS IN MESSAGE BUFFER
- CWD MB
- ADN 1 PRESET BUFFER POINTERS
- CWD MB1
- CRD IN-1 *IN* AND *OUT*
- ADN 1
- CWD MB2
- CRD FT-1 *FIRST* AND *LIMIT*
- LDD MB+4 INTERNAL *CIO* FUNCTION CODE
- LPC 1700
- STM RCPW+4 SAVE IN CASE *1MI* GOES INTO RECALL
- SHN -6
- STD FC
- CFET READ FET+0
- CRD BS
- LDD MB
- SHN 21-13
- PJN PRS1 IF INITIAL *1MI* CALL
- LDD MA
- CRM RCRF,ON READ IN PREVIOUS RECALL PARAMETER WORD
- RJM REC RECOVER *TSEM* REJECT
- PRS1 RJM CTT CHECK TERMINAL I/O INTERLOCK
- LDD CP
- ADK TFSW
- CRD CM
- LDD CM
- ZJN PRS2 IF NO EJT ORDINAL
- SFA EJT
- ADK JSNE CHECK JOB CONNECTION STATUS
- CRD CM
- LDD CM+4
- SHN -7
- LPN 17
- STM PRSA
- LMK NICS
- ZJN PRS2 IF NON-INTERACTIVE
- RJM CEF
- ZJN PRS6 IF NO ERROR FLAG ON JOB
- LDD FC *1MI* FUNCTION CODE
- LMK /CIO/WTF
- ZJN PRS6 IF A WRITE FUNCTION
- LDD CM+2
- NJN PRS3 IF USER BREAK AND EXTENDED REPRIEVE
- LDD BS+4 SET EOR STATUS
- LPC 6002
- LMN 20
- STD BS+4
- PRS2 RJM CFN COMPLETE FUNCTION
- PRS3 LJM DPP DROP PP
- PRS6 RJM ITA
- ZJN PRS7 IF IAF NOT AVAILABLE
- LDC 0 CHECK CONNECTION STATUS
- PRSA EQU *-1
- LMK DTCS
- NJN PRS9 IF NOT DETACHED
- * A DETACHED JOB IS EITHER SUSPENDED OR TERMINATED BASED ON ITS
- * END-OF-JOB OPTIONS.
- LDD CP CHECK END-OF-JOB TERMINATION OPTIONS
- ADN EOJW
- CRD CM
- LDD CM
- SHN 0-11 ISOLATE JOB TERMINATION OPTION
- LMN SUJT
- ZJN PRS7 IF DETACHED JOB IS TO BE SUSPENDED
- ERROR IRQ *INCORRECT I/O REQUEST ON FILE*
- PRS7 LDK IAFF
- RAM RCPW+4
- LDK ROSU SUSPEND USER JOB
- PRS8 STD T0
- RJM ROJ ROLL USER JOB
- LDK TALR TERMINAL I/O BUSY RECALL CODE
- LJM ERS ENTER RECALL STACK
- * CONTINUE PROCESS FOR ONLINE CONNECTIONS ONLY.
- PRS9 LDD CP
- ADN TTNW TERMINAL TABLE POINTER
- CRD CM
- LDD CM+1
- STD TN
- RJM SRR SET R-REGISTER TO IAF RA
- RJM STA SET TERMINAL TABLE ADDRESS (TT - TT+1)
- * ROLL A USER OUT DURING LOGIN PROCESSING AND DURING DETACH
- * PROCESSING IF THE TERMINAL TABLE IS NOT COMPLETELY SET UP.
- * THIS AVOIDS *VADO* AND *VADI* *TSEM* REQUESTS BEING SENT TO
- * *IAF* BEFORE THE USER IS COMPLETELY LOGGED IN.
- ADK /REM/VDCT CHECK IF USER FINISHED LOGGING IN
- CRD CM
- ADK /REM/VSTT-/REM/VDCT
- CRD CN READ *VSTT*
- RJM RRR RESTORE R-REGISTER
- LDD CM
- SHN 21-11
- PJN PRS9.1 IF USER NOT COMPLETELY LOGGED IN
- LDD CN CHECK FOR DETACH IN PROGRESS
- SHN 21-10
- PJN PRS10 IF DETACH NOT IN PROGRESS
- PRS9.1 LDK ROSR
- UJP PRS8 ROLLOUT USER JOB UNTIL COMPLETE RECOVERY
- PRS10 LDD CP GET NEGATIVE FIELD LENGTH
- ADN FLSW
- CRD CM
- LDD CM
- STD NF NFL/100B
- UJP PRSX RETURN
- CTT SPACE 4,10
- ** CTT - CHECK TIOW/TINW BUSY.
- *
- * *CTT* CHECKS THE *TINW/TIOW* INTERLOCK FLAG FROM *CPUMTR* TO
- * DETERMINE WHETHER OR NOT THIS COPY OF *1MI* HAS THE TERMINAL
- * I/O INTERLOCK. IF NOT, *CTT* ATTEMPTS TO GET THE INTERLOCK
- * VIA A *UTEM* FUNCTION. IF UNSUCCESSFUL, *1MI* MUST GO INTO
- * RECALL AND TRY TO OBTAIN THE INTERLOCK AT A LATER TIME.
- *
- * ENTRY (IR+2) = TIOW/TINW BUSY FLAG FROM *CPUMTR*.
- *
- * EXIT IF RECALL NECESSARY, TO *ERS*.
- *
- * USES CM - CM+4, IR+2.
- *
- * MACROS MONITOR.
- CTT4 LDD IR+2 CLEAR FLAG FROM INPUT REGISTER
- LMK TTB
- STD IR+2
- LDD IA REWRITE INPUT REGISTER
- CWD IR
- CTT SUBR ENTRY/EXIT
- LDD IR+2 CHECK FLAG FROM *CPUMTR*
- LPK TTB
- ZJN CTTX IF TIOW/TINW GOES WITH THIS PP
- LDK ZERL TEST AND SET TIOW/TINW
- CRD CM
- LDD CP SET WORD ADDRESS
- ADK TIOW
- STD CM+4
- ERRNG TINW-TIOW CODE DEPENDS ON ORDER OF WORDS
- LDN 3 TEST TWO FIELDS, SET ONE
- STD CM+1
- LDD FC
- LMK /CIO/WTF
- ZJN CTT1 IF WRITE FUNCTION
- LDC 18D*100B SET TINW ADDRESS OFFSET AND FIELD
- RAM CTTB+1
- LDK TINW-TIOW SET TINW FIELD
- SHN 6
- RAM CTTB
- CTT1 LDD IR+4 MOVE FET ADDRESS
- STM CTTB+4
- LDD IR+3
- LPN 77
- STM CTTB+3
- LDD MA
- CWM CTTA,TR
- MONITOR UTEM
- LDD CM+1
- ZJP CTT4 IF TEST AND SET SUCCESSFUL
- RJM CEF
- LDD CM+2
- NJN CTT2 IF USER BREAK WITH EXTENDED REPRIEVE
- * ENTER RECALL WITH TIOW/TINW BUSY FLAG STILL SET IN THE INPUT
- * REGISTER, SO THAT WHEN *1MI* IS RESTARTED IT WILL
- * AGAIN ATTEMPT TO GET THE *TIOW/TINW* INTERLOCK.
- LDK TALR
- LJM ERS ENTER RECALL STACK
- * IF BOTH A USER BREAK ERROR FLAG IS PRESENT AND EXTENDED
- * REPRIEVE HAS BEEN SELECTED BY THE JOB, *1MI* CANNOT WAIT
- * FOR THE TERMINAL I/O INTERLOCK TO BECOME AVAILABLE. THIS IS
- * BECAUSE THE PP WITH THE INTERLOCK MAY BE A READ REQUEST, IN
- * WHICH CASE IT WILL DROP WITHOUT CLEARING *TINW*.
- * IF A WRITE REQUEST, *1MI* WILL COMPLETE THE FET AND DROP.
- * IF A READ REQUEST, *1MI* WILL ATTEMPT TO SET *TINW* BEFORE
- * DROPPING SO THAT *1AJ* KNOWS THAT AN INPUT REQUEST IS
- * OUTSTANDING.
- CTT2 LDD FC
- LMK /CIO/WTF
- ZJN CTT3 IF WRITE FUNCTION
- LDK ZERL
- CRD CM
- LDD CP
- ADK TIOW
- STD CM+4
- LDN 2
- STD CM+1
- LDD MA
- CWM CTTA+5,CM+1
- MONITOR UTEM
- LJM DPP DROP PP
- CTT3 LDD BS+4 COMPLETE FET
- SCN 1
- LMN 1
- STD BS+4
- CFET REWRITE FIRST WORD OF FET
- CWD BS
- LJM DPP DROP PP
- CTTA VFD 1/1,5/0,6/18D,6/0,42/0 VERIFY 0 CLEAR
- VFD 1/1,5/TINW-TIOW,6/18D,6/18D,42/0 VERIFY TINW CLEAR
- CTTB VFD 1/0,5/0,6/18D,6/0,42/0 SET NEW FET ADDRESS
- REC SPACE 4,10
- ** REC - RECOVER FROM MONITOR REJECTION.
- *
- * ENTRY (RCRF+1) = RECALL REASON CODE.
- * (RCRF+3) = FIRST POT CHAIN POINTER.
- * (FC) = INITIAL *1MI* FUNCTION CODE.
- *
- * EXIT TO *DPP* IF *TINW/TIOW* INTERLOCK NO LONGER HELD.
- * ANY POTS FROM A PREVIOUSLY REJECTED MONITOR FUNCTION
- * ARE DROPPED.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * CALLS MRJ.
- *
- * MACROS MONITOR.
- REC SUBR ENTRY/EXIT
- LDM RCRF+1 GET REJECTED FUNCTION
- SHN -6
- LMK TDOR
- ZJN REC2 IF *VADO* REJECTION
- LMK TPOR&TDOR
- NJP RECX IF NOT *VDPO* REJECTION
- AOM RECA
- * DROP PREVIOUS FUNCTION-S POTS UNLESS THE FUNCTION WAS
- * REJECTED BECAUSE IAF WAS NOT AVAILABLE.
- REC2 LDM RCRF+4
- LPK IAFF
- NJN REC3 IF NEW COPY OF IAF
- LDK ZERL BUILD *VDPO* *TSEM* REQUEST
- CRD CN
- LDK /REM/VDPO
- STD CN
- LDM RCRF+3 SET POT NUMBER OF FIRST POT IN CHAIN
- STD CN+3
- LDD CP SET TERMINAL NUMBER
- ADK TTNW
- CRD CM
- LDD CM+1
- STD CN+4
- LDN ZERL
- CRD CM
- LDD MA
- CWD CN REWRITE REJECTED REQUEST
- CRM WIAF,ON PRESET POSSIBLE FUNCTION REJECTION
- MONITOR TSEM
- LDM RCRF+1
- SHN -6
- RJM MRJ
- REC3 LDN 0
- * LDN 1
- RECA EQU *-1
- ZJP RECX IF INTERLOCK STILL HELD
- LJM DPP DROP PP
- ** COMMON DECKS NECESSARY FOR PRESET.
- *CALL,COMPGFP
- ERRNG 7777-*+1 AVOID PPU MEMORY WRAP
- END
cdc/nos2.source/opl871/1mi.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator