cdc:nos2.source:opl871:dis
Table of Contents
DIS
Table Of Contents
- [00009] DIS - JOB DISPLAY.
- [00011] JOB DISPLAY.
- [00114] MACRO DEFINITIONS.
- [00116] COMMAND - GENERATE COMMAND OVERLAY.
- [00146] DISPLAY - GENERATE DISPLAY OVERLAY.
- [00177] ENTER - ENTER SPECIAL SYNTAX.
- [00192] ENTRY - DEFINE OVERLAY ENTRY POINT.
- [00218] JMP - THREADED JUMP.
- [00237] OVLN - GENERATE OVERLAY NUMBER.
- [00252] MAIN PROGRAM.
- [00253] MAIN PROGRAM.
- [00301] DPP - DROP PP.
- [00326] MAIN PROGRAM SUBROUTINES.
- [00328] CJS - CHECK JOB STATUS.
- [00501] DKB - DISPLAY KEYBOARD BUFFER.
- [00554] DKL - DISPLAY KEYBOARD LINE.
- [00622] DLS - DISPLAY LEFT SCREEN.
- [00687] LDO - LOAD DISPLAY OVERLAY.
- [00720] PRO - PROCESS ROLLOUT FLAG WHILE IN HOLD.
- [00740] RPP - RECALL PP.
- [00759] KEYBOARD INPUT.
- [00966] KEYBOARD INPUT SUBROUTINES.
- [00987] AVD - ADVANCE DISPLAY.
- [01014] AMV - ADVANCE LEFT SCREEN MEMORY DISPLAY ADDRESS BY THE
- [01043] AMF - ADVANCE MEMORY FIELDS.
- [01066] BPA - BREAKPOINT PROGRAM TO (P) +/- 1.
- [01091] LTE - LOAD CONSOLE TEXT EDITOR.
- [01099] RDC - RELEASE DISPLAY CHANNEL.
- [01106] SAC - SET AUTO COMMAND PROCESSING.
- [01120] SRE - SET REPEAT ENTRY.
- [01127] AMT - ADVANCE MANAGED TABLE POINTER.
- [01136] DMT - DECREMENT MANAGED TABLE POINTER.
- [01145] ADA - ADVANCE *A* DISPLAY.
- [01162] ADH - ADVANCE *H* DISPLAY.
- [01178] ADT - ADVANCE *T* DISPLAY.
- [01198] CKB - CLEAR KEYBOARD BUFFER.
- [01217] CSB - CLEAR SCREEN BUFFER.
- [01249] PLB - PROCESS *LEFT BLANK*.
- [01256] KBR - NORMAL RETURN.
- [01262] ILE - INCORRECT ENTRY.
- [01268] KIC - INCOMPLETE RETURN.
- [01285] INTERPRET KEYBOARD MESSAGE.
- [01314] INT - INTERPRET KEYBOARD MESSAGE.
- [01448] SKI - SELECT KEYBOARD INPUT.
- [01484] SSF - SEARCH FOR SPECIAL FORMAT.
- [01527] RESIDENT DISPLAY ROUTINES.
- [01616] DISPLAY SUBROUTINES.
- [01618] DAL - DISPLAY ACCESS LEVEL STRING.
- [01632] DLA - DISPLAY LINE ADVANCE.
- [01667] RESIDENT COMMAND PROCESSOR ROUTINES.
- [01736] COMMAND PROCESSOR SUBROUTINES.
- [01738] ADF - ADVANCE DISPLAY FIELD.
- [01764] ASC - ASSEMBLE CHARACTERS.
- [01789] ASD - ASSEMBLE DIGITS.
- [01804] ASN - ASSEMBLE NAME.
- [01844] BCP - BEGIN CENTRAL PROGRAM.
- [01865] CAJ - CHECK ACTIVE JOB.
- [01886] CDR - CONVERT DIGITS RIGHT ADJUSTED.
- [01926] CRA - CHECK SYSTEM REQUEST FOR *END* OR *ABT*.
- [01952] ECP - END CENTRAL PROGRAM.
- [01964] IAJ - CALL *1AJ*.
- [02065] RBW - RESTORE BREAKPOINT WORD.
- [02089] SLS - SET LEFT SCREEN.
- [02100] TABLE OF DISPLAYS.
- [02102] TDSP - TABLE OF DISPLAYS.
- [02143] TDSP - DISPLAY CONTROL TABLE.
- [02162] TFNT - TABLE OF FILE TYPES.
- [02165] OVERLAY AREA.
- [02180] PRESET PROGRAM.
- [02184] PRS - PRESET PROGRAM.
- [02479] LOV - LOAD OVERLAY.
- [02521] LPP - LOAD PP PROGRAM.
- [02823] TSID - TABLE OF STATUS VALUE-ID CODE CORRESPONDENCES.
- [02836] SDF - SET DISPLAY FWA.
- [03112] D5D - DISPLAY 5 DIGITS.
- [03131] D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- [03195] D5D - DISPLAY 5 DIGITS.
- [03214] D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- [03295] IIN - INTERPRET AND DISPLAY INSTRUCTION.
- [03865] DCT - DISPLAY CHARACTER TEXT.
- [03932] CYC - CHECK Y-COORDINATES.
- [04057] CYC - CHECK Y-COORDINATES.
- [04226] OVERLAY CONTROL.
- [04386] BPI - BREAKPOINT P INCREMENT.
- [04542] CJA - CHECK JOB ACTIVITY AND RETURN COMMAND POINTER.
- [04561] EST - ENTER STATEMENT (COMMAND).
- [04696] EST - ENTER (STATEMENT) COMMAND.
- [04858] REG - SET UP REGISTER ENTRY.
- [04919] EWD - ENTER WORD.
- [04974] CDL - CONVERT DIGITS LEFT JUSTIFIED.
- [05081] EWD - ENTER WORD.
- [05142] CDL - CONVERT DIGITS LEFT JUSTIFIED.
- [05422] RWE - READ/WRITE RELATIVE EXTENDED MEMORY WORD.
- [05457] EIE - ENTER MEMORY/ENTER INSTRUCTION EXIT.
- [05635] RQS - REQUEST STORAGE.
- [05779] LSP - LOAD SPECIAL PP.
- [05814] RQS - REQUEST STORAGE.
- [05974] CDF - CHANGE DISPLAY FIELD.
- [06112] IKM - INTERPRET KEYSET MESSAGE.
- [06156] BEG - ENTER *BEGIN,* INTO KEYBOARD BUFFER.
- [06173] CKR - CHECK KEYBOARD REQUEST.
- [06256] IMM - INTERPRET MORE MESSAGE.
- [06306] CPP - CALL PP PACKAGE TO CONTROL POINT.
- [06408] TABLES AND BUFFERS.
Source Code
- DIS.txt
- IDENT DIS,DIS
- PERIPH
- BASE MIXED
- SST CMEI,HDC,RDS
- QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
- SYSCOM
- *COMMENT DIS - JOB DISPLAY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE DIS - JOB DISPLAY.
- SPACE 4
- *** DIS - JOB DISPLAY.
- *
- * D. A. CAHLANDER. 70/02/24.
- * E. W. HOBBS. 70/06/05.
- * R. S. HORECK. 70/12/19.
- * G. R. MANSFIELD. 70/12/20.
- SPACE 4
- *** DIS PROVIDES A CONVIENENT MEANS TO ALTER THE
- * RUNNING OF A JOB, OR IF CALLED TO A BLANK CONTROL POINT
- * INITIATE THE OPERATION OF UTILITY PROGRAMS.
- *
- * DIS PROVIDES AN INTERPRETED DISPLAY OF THE EXCHANGE
- * AREA FOR THE JOB, AS WELL AS THE STATUS OF THE JOB.
- * KEYBOARD ENTRIES ARE PROVIDED TO ALLOW THE USER TO
- * ALTER CENTRAL MEMORY IN SEVERAL FORMATS, AND TO EXECUTE
- * COMMANDS AS IF THEY HAD ENTERED THE SYSTEM WITH
- * AN INPUT FILE.
- SPACE 4
- *** CALL.
- *
- *
- *T 18/ *DIS*, 1/ 0, 5/ CP, 24/ 0, 1/ D, 11/ EQ
- * D DIRECT CALL TO CONTROL POINT
- * CP CONTROL POINT NUMBER
- * EQ DISPLAY CONSOLE EST ORDINAL
- SPACE 4
- *** OPERATOR MESSAGES.
- *
- *
- * *REQUEST DISPLAY. (DIS)* = DIS IS WAITING FOR THE DISPLAY
- * TO BE ASSIGNED.
- SPACE 4
- ** PROGRAMS CALLED.
- *
- *
- * 1AJ - ADVANCE JOB STATUS.
- * 1DL - DISPLAY OVERLAY LOADER.
- * DDF - DISPLAY DISK FILE.
- * O26 - KEYPUNCH SIMULATOR.
- SPACE 4
- *CALL COMPMAC
- *CALL COMDMAC
- *CALL COMSCPS
- *CALL COMSDST
- *CALL COMSEJT
- *CALL COMSEVT
- *CALL COMSLFD
- *CALL COMSPRD
- *CALL COMSMLS
- *CALL COMSPIM
- *CALL COMSSSD
- SPACE 4
- **** DIRECT LOCATION ASSIGNMENTS.
- EB EQU 16 - 17 EXTENDED MEMORY BUFFER POINTER
- FA EQU 20 RELATIVE FNT ADDRESS IN NFL
- NL EQU 21 NEGATIVE FIELD LENGTH
- AB EQU 22 - 26 ASSEMBLY BUFFER (5 LOCATIONS)
- UE EQU 27 USER EM SHIFT COUNT
- LS EQU 30 LEFT SCREEN DISPLAY
- RS EQU 31 RIGHT SCREEN DISPLAY
- LN EQU 32 CURRENT LEFT SCREEN DISPLAY
- NC EQU 33 NUMBER OF CONTROL POINTS (FOR *COMDSYS*)
- AI EQU 34 LEFT SCREEN ADVANCE INDEX
- BF EQU 35 BREAKPOINT ACTIVE FLAG
- BA EQU 36 - 37 BREAKPOINT ADDRESS (2 LOCATIONS)
- KI EQU 40 KEYBOARD INDEX
- KE EQU 41 KEYBOARD ENTRY
- KM EQU 42 KEYBOARD MESSAGE ADDRESS
- CA EQU 43 CHARACTER ADDRESS
- UC EQU 44 UPPER CASE FLAG
- T8 EQU 46 TEMPORARY STORAGE
- T9 EQU 47 TEMPORARY STORAGE
- CC EQU 57 CYCLE COUNT
- SM EQU 60 SECURITY MODE
- SF EQU SM
- PC EQU 61 BASE OF PP COMMUNICATION AREA
- PN EQU 62 NUMBER OF PPU-S
- KR EQU 63 KEYBOARD LINE REFRESH CONTROL
- XC EQU 66 X-COORDINATE
- YC EQU 67 Y-COORDINATE
- ****
- SPACE 4
- * ASSEMBLY CONSTANTS.
- CH EQU CHDS DISPLAY CHANNEL
- WCDC EQU 4 WAITING FOR CM DELAY COUNT
- WDDC EQU 4 WAITING FOR DISK DELAY COUNT
- WEDC EQU 4 WAITING FOR EM DELAY COUNT
- SPACE 4,10
- * OVERLAY CONTROL.
- NAME MICRO 1,, DIS
- OVNG MICRO 1,, IH OVERLAY NUMBER GENERATOR
- OVNB MICRO 1,1, "OVNG" OVERLAY NAME BIAS MICRO
- OVNB EQU 1R"OVNB" OVERLAY NAME BIAS
- NOREF .L,.N
- .N SET 0 OVERLAY NUMBER
- .N OCTMIC .N,2
- .L SET *
- TITLE MACRO DEFINITIONS.
- COMMAND SPACE 4
- ** COMMAND - GENERATE COMMAND OVERLAY.
- *
- *
- * COMMAND (SUBTITLE)
- * ENTRY *SUBTITLE* = COMMAND SUBTITLE.
- COMMAND MACRO TEXT
- QUAL
- .M OVLN .N
- QUAL DIS".M"
- TTL DIS/9".M" - TEXT
- TITLE
- BSS 0
- HERE
- QUAL
- USE END FORCE /LITERALS*/
- .1 SET *
- .N SET .N+1
- .N MICRO 1,, ".M"
- QUAL DIS".N"
- IDENT 9".N",OVL TEXT
- ORG OVL
- *COMMENT DIS - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- QUAL
- .L MAX .1,.L
- QUAL *
- ENDM
- DISPLAY SPACE 4
- ** DISPLAY - GENERATE DISPLAY OVERLAY.
- *
- *
- * DISPLAY (SUBTITLE)
- * ENTRY *SUBTITLE* = DISPLAY SUBTITLE.
- DISPLAY MACRO TEXT
- QUAL
- .M OVLN .N
- QUAL DIS".M"
- TTL DIS/9".M" - TEXT
- TITLE
- BSS 0
- HERE
- DIS HERE
- QUAL
- USE END FORCE /LITERALS*/
- .1 SET *
- .N SET .N+1
- .N MICRO 1,, ".M"
- QUAL DIS".N"
- IDENT 9".N",OVD TEXT
- ORG OVD
- *COMMENT DIS - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- QUAL
- .L MAX .1,.L
- QUAL *
- ENDM
- ENTER SPACE 4
- ** ENTER - ENTER SPECIAL SYNTAX.
- *
- *
- *ADDR ENTER (SYNTAX)
- * ENTRY *ADDR* = OVERLAY ENTRY ADDRESS.
- * *SYNTAX* = SYNTAX OF COMMAND.
- MACRO ENTER,ADDR,SYNTAX
- CON ADDR/10000+100*OVNB,ADDR-ADDR/10000*10000
- ORG *-2
- DATA Z$SYNTAX$
- VFD 24/ADDR
- ENDM
- ENTRY SPACE 4
- ** ENTRY - DEFINE OVERLAY ENTRY POINT.
- *
- *
- *NAME ENTRY ADDR
- * ENTRY *NAME* = ENTRY POINT NAME.
- * *ADDR* = ADDRESS OF ENTRY POINT.
- * IF *ADDR* IS NOT PRESENT, ADDRESS OF ENTRY
- * POINT IS THE CURRENT VALUE OF THE ORIGIN COUNTER.
- PURGMAC ENTRY
- MACRO ENTRY,NAME,ADDR
- IFC NE,*ADDR**
- RMT
- QUAL
- NAME EQU .N*10000B+/DIS".N"/ADDR
- QUAL *
- RMT
- ELSE 4
- NAME BSS 0
- QUAL
- NAME EQU .N*10000B+/DIS".N"/NAME
- QUAL *
- ENDM
- JMP SPACE 4
- ** JMP - THREADED JUMP.
- *
- *
- * JMP ADDR
- * ENTRY *ADDR* = JUMP ADDRESS.
- JMP MACRO ADDR
- IF -DEF,.ADDR,2
- NOREF .ADDR
- .ADDR MAX ADDR,*-40
- IFGT .ADDR,*-40
- UJN .ADDR
- .ADDR SET *-1
- ELSE 2
- .ADDR SET *
- LJM ADDR
- ENDM
- OVLN SPACE 4
- ** OVLN - GENERATE OVERLAY NUMBER.
- *
- *
- *A OVLN B
- * ENTRY *B* = OVERLAY NUMBER.
- * EXIT *A* = MICRO OF OVERLAY NAME.
- MACRO OVLN,A,B
- LOCAL C
- C SET B/1R4
- C MICRO C+1,1, "OVNG"
- A MICRO B-C*1R4+1,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ01234
- A MICRO 1,, "C""A"
- ENDM
- TITLE MAIN PROGRAM.
- ** DIS - MAIN PROGRAM.
- ORG PPFW
- DIS RJM PRS PRESET STORAGE
- * RJM CJS (CHECK JOB STATUS)
- DISD EQU *-1
- RJM DLS DISPLAY LEFT SCREEN
- * PROCESS KEYBOARD IF CDC721 SYSTEM CONSOLE.
- DFIM (CON RJMI)
- UJN *+2 SKIP IF CC545
- CON KBI PROCESS KEYBOARD INPUT
- * DISPLAY RIGHT SCREEN.
- RJM SYS DISPLAY HEADERS
- LDM DPCA,RS DISPLAY RIGHT SCREEN
- STD T1
- PAUSE NE (R) = CONTROL POINT RA
- RJM 0,T1
- CFNC THCF COMBINATION OF *THVF* AND *CHSF*
- DCN CH+40
- RJM KBI KEYBOARD INPUT
- DIS1 LDD BA CHECK BREAKPOINT
- ADD BA+1
- ZJN DIS3 IF NO BREAKPOINT
- LDN STSW
- ADD CP
- CRD CM CHECK PP-S ASSIGNED
- DISE UJN DIS2 (*BKPA*)
- * SOD CM (*BKP*)
- LPN 37
- NJN DIS3 IF OTHER PP-S ASSIGNED
- DIS2 LDD CM+2
- LPN 1
- NJN DIS3 IF ROLLOUT REQUESTED
- LDM KBIA
- LMC KBI5
- NJN DIS3 IF OVERLAY LOAD IN PROGRESS
- LDC MBK MONITOR BREAKPOINT
- LJM LOV LOAD BREAKPOINT OVERLAY
- DIS3 AOD CC ADVANCE CYCLE COUNT
- RJM PSS PAUSE FOR SYSTEM
- LJM DIS LOOP
- DPP SPACE 4,10
- ** DPP - DROP PP.
- DPP RJM DDS DROP DISPLAY
- RJM RBW RESTORE BREAKPOINT WORD
- LDN 10 CLEAR *DIS* FLAG
- STD CM+4
- LDN CCTS
- STD CM+1
- MONITOR SJCM
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- SPACE 4,10
- ** GLOBAL VARIABLES.
- DFIM (CON C721) CODE FOR 721 CONSOLE
- DCTY CON C545 DISPLAY CONSOLE TYPE (0 = *CC545*)
- DFIM (CON T721) FIRST VISIBLE LINE FOR THE 721
- CTOS CON T545 FIRST LINE IN THE BODY OF THE DISPLAY
- DFIM (CON Y721) LAST VISIBLE LINE FOR THE 721
- CBOS CON Y545 LAST LINE IN THE BODY OF THE DISPLAY
- MORE CON XMOR X-COORDINATE FOR *MORE* MESSAGE
- DATA H$MORE$
- MOREL EQU *-MORE
- TITLE MAIN PROGRAM SUBROUTINES.
- CJS SPACE 4
- ** CJS - CHECK JOB STATUS.
- *
- * USES KM, AB - AB+4, CM - CM+4, NL - NL+F, T1 - T6.
- *
- * CALLS CKB, CRA, IAJ.
- *
- * MACROS MONITOR.
- CJS15 LDN 0 (CPU REQUEST FLAG)
- CJSC EQU *-1
- * LDN 1 (CKR)
- ZJN CJSX IF NOT TO REQUEST CPU
- MONITOR RCPM
- CJS SUBR ENTRY/EXIT
- * MAKE SURE THAT *DIS* FLAG IS SET IN CONTROL POINT AREA.
- LDD CP READ CONTROL POINT AREA
- ADN JCIW
- CRD CM
- LDD CM+3
- SHN 21-11
- MJN CJS0 IF *DIS* FLAG ALREADY SET
- LDN SCTS SET JOB CONTROL FLAG(S)
- STD CM+1
- LDN 10 SET *DIS* FLAG
- STD CM+4
- MONITOR SJCM
- CJS0 LDD CP READ STATUS
- ADN STSW
- CRD CM
- ADN FLSW-STSW RESET NFL / 100
- CRD NL
- ERRNZ NL+1-AB READ DESTROYS DIRECT CELLS
- ADN RFCW-FLSW FETCH *TCS* COMMAND REQUEST
- CRD AB
- ADN SEPW-RFCW READ SPECIAL ENTRY POINT WORD
- CRD T1
- ADN SPCW-SEPW READ SPECIAL CALL WORD
- CRD T2
- LDD NL SET END OF NFL
- SHN 6
- ADN 1
- STD NL
- * CHECK ROLLOUT STATUS.
- LDD CM+2
- LPN 1
- ZJN CJS2 IF ROLLOUT NOT REQUESTED
- LDD T2
- ZJN CJS2 IF DMP= NOT IN PROGRESS
- LDD CM
- LPN 37
- SHN -1
- CJS1 NJP CJSX IF PP ACTIVITY
- LDM IAJB EJT ORDINAL
- SFA EJT
- CRD CM
- LDD CM+4
- LPC 101
- NJP CJS1 IF ADVANCE OR INTERLOCK SET
- LDD T2+1 CHECK SPECIAL REQUEST ACTIVE
- LPN 1S5
- NJN CJS1 IF NOT SPECIAL REQUEST
- * LDN PSNI
- STM IAJC
- UJN CJS3 CALL *1AJ*
- * CHECK JOB ACTIVITY.
- CJS2 RJM CAJ CHECK JOB ACTIVITY
- NJN CJS1 IF ACTIVITY
- * CHECK IF *TCS* EXECUTE COMMAND REQUEST PENDING.
- LDD AB+3
- SCN 77
- ADD AB+2
- ZJN CJS3.1 IF NO *TCS* COMMAND REQUEST PENDING
- LJM CJS12 CALL *1AJ*
- * CLEAR REPRIEVE PROCESSING AFTER SPECIAL ENTRY PROGRAM END.
- CJS2.1 LDN ZERL CLEAR REPRIEVE PROCESSING
- CRD CM
- LDD CP
- ADN EECW
- CRD T1
- LDD T1 RESET *NOEXIT* FLAG
- LPC 4000
- STD CM
- LDD CP
- ADN EECW
- CWD CM
- CJS3 LDN 2
- UJN CJS5 CALL *1AJ* FOR SPECIAL ENTRY JOB
- * CHECK SPECIAL ENTRY CONDITIONS.
- CJS3.1 LDD T1 CHECK FOR DMP=
- LPN 20
- ZJN CJS4 IF NOT SPECIAL ENTRY JOB
- RJM CRA CHECK SYSTEM REQUEST
- MJN CJS6 IF NOT *END* OR *ABT*
- LDD CM+1
- ZJN CJS2.1 IF NO ERROR FLAG SET
- LDN ZERL
- CRD CM CLEAR ERROR FLAG
- MONITOR CEFM
- CJS3.2 RJM CKB CLEAR KEYBOARD BUFFER
- UJN CJS10 CLEAR AUTO MODE
- CJS4 LDN 0 CHECK IF SPECIAL COMMAND
- CJSD EQU *-1
- * LDN 1 (EXC)
- ZJN CJS6 IF NOT SPECIAL CALL
- SOM CJSD
- LDC 20006 FORCE *1AJ* TO READ COMMAND IN
- CJS5 LJM CJS13 MS1W OF CONTROL POINT AREA
- * CHECK FOR NEXT COMMAND.
- CJS6 LDD KM CHECK AUTO MODE
- LMC CJSA
- NJN CJS11 IF NOT AUTO MODE
- LDD CM+1
- NJN CJS3.2 IF ERROR FLAG SET
- LDC CKR CHECK KEYBOARD REQUEST
- LJM LOV
- * GET NEXT COMMAND FROM COMMAND BUFFER.
- CJS7 LDD CP READ COMMAND POINTER
- ADN CSPW
- CRD AB
- LDD AB+3 CHECK IF CM PORTION EXHAUSTED
- LMD AB+4
- NJN CJS12 IF BUFFER NOT EMPTY
- LDD AB+1 CHECK IF EOR ON COMMAND FILE
- SHN 21-13
- PJN CJS12 IF NOT EOR
- CJS10 LDN 0 CLEAR AUTO MODE
- STD KM
- CJS11 LDD CM+1
- NJN CJS12 IF ERROR FLAG SET
- LDD CP
- ADN EOJW READ PROLOGUE/EPILOGUE FLAGS
- CRD AB
- ADN EECW-EOJW READ REPRIEVE FLAGS
- CRD CM
- LDD CM
- SHN 21-12
- MJN CJS11.1 IF EXTENDED REPRIEVE MODE ACTIVE
- LDD CM+1
- SHN 21-13
- MJN CJS14 IF ERROR EXIT ACTIVE
- CJS11.1 LDD CM+1
- SHN 21-6
- MJN CJS12 IF REPRIEVE ON NORMAL TERMINATION
- LDD AB+2
- LPC 700
- ZJN CJS14 IF NO PROLOGUE OR EPILOGUE ACTIVITY
- CJS12 LDC 20000 CALL*1AJ* FOR NORMAL JOBS
- CJS13 RJM IAJ ADVANCE JOB
- CJS14 LJM CJSX RETURN
- CJSA DATA C*AUTO MODE.*
- DKB SPACE 4
- ** DKB - DISPLAY KEYBOARD BUFFER.
- *
- * ENTRY (KM) = ADDRESS OF KEYBOARD MESSAGE.
- * (KI) = KEYBOARD INDEX.
- *
- * MACROS CFNC, DFIM.
- DKB SUBR ENTRY/EXIT
- LDN XINC SET CHARACTER SIZE
- STD T3
- LDN 1
- STD T2
- CFNC SLPF SELECT LEFT SCREEN - PRIORITY OUTPUT
- DFIM (UJN DKB1) BYPASS LARGE CHARACTER CHECK
- LDD KI CHECK KEYBOARD INDEX
- SBN 40
- PJN DKB1 IF > 32 CHARACTERS
- DCN CH+40
- CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
- LDN 2*XINC RESET SIZE
- STD T3
- LDN 2 ADVANCE COUNT
- RAD T2
- LDN LN49-LN50 CHANGE Y-COORDINATE
- RAM DKBA+1
- DKB1 LDN 2 OUTPUT COORDINATES
- OAM DKBA,CH
- LDD KM
- ZJN DKB3 IF NO MESSAGE
- STD T1
- DKB2 LDI T1 DISPLAY MESSAGE
- ZJN DKB3 IF END OF MESSAGE
- OAN CH+40
- AOD T1
- UJN DKB2 DISPLAY NEXT BYTE
- DKB3 CFNC EELF ERASE TO END OF LINE
- RJM DKL DISPLAY KEYBOARD LINE
- SOD T2
- DFIM (PSN) INTENSIFICATION NOT TO BE DONE
- PJN DKB1 LOOP
- DCN CH+40
- LDD KI CALCULATE KEYBOARD REFRESH CHECKSUM
- LMD KM
- STD KR
- LDC LN50 RESET Y-COORDINATE
- STM DKBA+1
- LJM DKBX RETURN
- DKBA CON CH01,LN50
- DKL SPACE 4
- ** DKL - DISPLAY KEYBOARD LINE.
- *
- * ENTRY (T3) = CHARACTER SIZE.
- *
- * USES T1, XC.
- *
- * MACROS CFNC, DFIM.
- *
- * RESTORES XC.
- DKL8 CFNC EELF ERASE TO END OF LINE
- DKL SUBR ENTRY/EXIT
- LDC CH01 SET X-COORDINATE
- STD XC
- LDC LN51 SET Y-COORDINATE
- STD YC
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- * LDN 0 CLEAR BUFFER INDEX
- STD T1
- LDD KI
- ZJN DKL8 IF BUFFER EMPTY
- DKL1 LDM KBUF,T1 CHECK CHARACTER
- ZJN DKL2 IF CHARACTER = 00 (COLON IN 64 CHAR SET)
- SBN 1R$
- ZJN DKL2 IF CHARACTER = *$*
- SBN 60-1R$
- MJN DKL3 IF LEGAL CODE
- DFIM (CFNC DSCF)
- DFIM (LDM KBUF,T1)
- DFIM (UJN DKL4) IF CDC 721 CONSOLE
- DKL2 LDD YC REVISE Y-COORDINATE
- ADD T3
- OAN CH+40
- LDM KBUF,T1 DISPLAY UPPER DIGIT
- SHN -3
- ADN 1R0
- OAN CH+40
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDM KBUF,T1 PREPARE LOWER DIGIT
- LPN 7
- SBN 60-1R0
- DKL3 ADN 60 DISPLAY CHARACTER
- DKL4 OAN CH+40
- LDD T3 ADVANCE X-COORDINATE
- RAD XC
- OAN CH+40
- AOD T1 ADVANCE BUFFER
- LMD KI
- NJN DKL1 IF NOT END OF BUFFER
- LDD UC CHECK FOR UPPER CASE
- DFIM (ZJN DKL6)
- ZJN DKL7 IF NOT UPPER CASE
- DFIM (UJN DKL5)
- LDD YC OUTPUT Y-COORDINATE
- ADD T3
- OAN CH+40
- DKL5 LDM KBIC OUTPUT UPPER CASE CHARACTER
- LPN 77
- DKL6 OAN CH+40
- DKL7 LDC CH01 RESET X-COORDINATE
- STD XC
- LJM DKL8 ERASE TO END OF LINE
- DLS SPACE 4
- ** DLS - DISPLAY LEFT SCREEN.
- *
- * ENTRY (LS) = SCREEN NAME.
- *
- * MACROS CFNC, DISPLA.
- DLS1 CFNC SLSF SELECT LEFT SCREEN - SMALL CHARACTERS
- LDD CP READ JOB STATUS
- ADN STSW
- CRD AB
- ADN PFCW-STSW READ FAMILY EST ORDINAL
- CRD T4
- ADN UIDW-PFCW READ USER IDENTIFICATION
- CRD T2
- ADN PKNW-UIDW READ PACKNAME
- CRD CM
- DISPLA CH01,HL04,(USER =)
- LDN 3 DISPLAY ACCOUNT NAME
- OAM T2,CH
- LDD T2+3
- SCN 77
- OAN CH+40
- DISPLA CH16,,(USER INDEX =)
- LDD T2+3 DISPLAY USER INDEX
- LPN 37
- SHN 14
- LMD T2+4
- RJM D6S
- LDD CM+3 DISPLAY PACKNAME
- SCN 77
- STD CM+3
- LDN 4 DISPLAY WORD
- OAM CM,CH
- SFA EST,T4+3
- ADK EQDE
- CRD CM
- LDD CM+4 READ FAMILY NAME WORD
- SHN 3
- ADN PFGL
- CRD CM
- LDD CM+3
- SCN 77
- STD CM+3
- LDN 4 DISPLAY FAMILY NAME
- OAM CM,CH
- LDD AB+2
- LPN 1
- ZJN DLS3 IF ROLLOUT FLAG NOT SET
- DISPLA CH52,,(ROLLOUT),H
- DLS3 LDM DPCA,LN SET DISPLAY PROGRAM
- STD T1
- PAUSE NE (R) = CONTROL POINT RA/100B
- RJM 0,T1 DISPLAY LEFT SCREEN
- FJM *,CH IF DATA TRANSFER NOT COMPLETE
- DCN CH+40
- DLS SUBR ENTRY/EXIT
- LDD LS CHECK DISPLAY
- LMD LN
- ZJN DLS0 IF LOADED
- RJM LDO LOAD DISPLAY OVERLAY
- DLS0 LJM DLS1 DISPLAY GENERAL INFORMATION
- LDO SPACE 4,10
- ** LDO - LOAD DISPLAY OVERLAY.
- *
- * USES LA.
- *
- * CALLS LOV.
- LDO SUBR ENTRY/EXIT
- LDM KBIA CHECK LOAD
- LMC KBI5
- NJN LDOX IF LOAD BUSY
- LDC LDO2 SET DISPLAY LOAD
- STM KBIA
- UJN LDOX RETURN
- * START DISPLAY LOAD.
- LDO2 LDC OVD SET LOAD ADDRESS
- STD LA
- LDM DLSA,LS CHECK OVERLAY
- SHN 14
- ADC LDO3
- LJM LOV LOAD OVERLAY
- * COMPLETE DISPLAY LOAD.
- LDO3 LDD LS
- STD LN
- DFIM (RJM CSB) CLEAR SCREEN BUFFER, IF CONSOLE IS A 721
- LJM KBI3 RETURN
- LJM KBI3 RETURN (IF 721 CONSOLE)
- PRO SPACE 4
- ** PRO - PROCESS ROLLOUT FLAG WHILE IN HOLD.
- PRO BSS 0 ENTRY
- LDD CP CHECK FOR ERROR FLAG IN CPA
- ADN STSW
- CRD AB
- ADK SPCW-STSW GET *DMP=* STATUS
- CRD CM
- LDD CM
- ZJN PRO1 IF *DMP=* NOT ACTIVE
- LDD CM+1
- SHN 21-5
- PJN PRO2 IF *DMP=* NOT INITIATED
- SHN 5-1
- MJN PRO2 IF *1RO* NOT COMPLETE
- PRO1 LDD AB+1
- ZJN RPP IF NO ERROR FLAG
- PRO2 LJM /COMDDSP/ROFX EXIT
- RPP SPACE 4,10
- ** RPP - RECALL PP.
- *
- * USES CM - CM+4.
- *
- * CALLS DDS, RBW.
- *
- * MACROS MONITOR.
- RPP LDC 4000
- RAD IR+4
- RJM DDS DROP DISPLAY
- RJM RBW RESTORE BREAKPOINT WORD
- LDN ZERL
- CRD CM
- LDD MA STORE PP RECALL REQUEST
- CWD IR
- MONITOR RECM
- LJM PPR EXIT TO PP RESIDENT
- TITLE KEYBOARD INPUT.
- KBI SPACE 4
- *** KEYBOARD INPUT.
- *
- * ALL ENTRIES ARE DISPLAYED ON THE BOTTOM OF THE LEFT SCREEN
- * AS THEY ARE ENTERED.
- *
- * *CR* MUST FOLLOW ALL ENTRIES BEFORE ACTION IS TAKEN.
- * *BKSP* DELETES THE PREVIOUS CHARACTER TYPED.
- * *LEFT BLANK* DELETES THE CURRENT LINE BEING ENTERED.
- * *RIGHT BLANK* ADVANCES LEFT SCREEN DISPLAY.
- *
- * IF THESE CHARACTERS ARE THE FIRST ENTRY, THE FOLLOWING
- * APPLIES -
- * *8* = INCREMENT LEFT SCREEN MANAGED TABLE POINTER.
- * *9* = DECREMENT LEFT SCREEN MANAGED TABLE POINTER.
- * *+* = ADVANCE LEFT SCREEN MEMORY DISPLAY ADDRESS BY 40.
- * *-* = DECREMENT LEFT SCREEN MEMORY DISPLAY ADDRESS BY 40.
- * INSERT A *BEGIN,* IN THE KEYBOARD BUFFER FOR A LEFT
- * SCREEN *A* DISPLAY.
- * (*) = HOLD DISPLAY.
- * */* = ADVANCE LEFT SCREEN MEMORY DISPLAY ADDRESS BY THE
- * VALUE IN THE BOTTOM 18 BITS OF THE FIRST WORD
- * DISPLAYED
- * *=* = TOGGLE MEMORY REFERENCES BETWEEN ABSOLUTE AND
- * RELATIVE.
- * *(* = BREAKPOINT PROGRAM TO (P+1).
- * *)* = BREAKPOINT PROGRAM TO (P-1).
- * *,* = CALL *O26*.
- * *.* = ENTER AUTOMATIC JOB ADVANCE MODE.
- *
- * ABOVE THE ENTRY DISPLAY, THE FOLLOWING MESSAGES MAY
- * APPEAR -
- * *REPEAT ENTRY.* = ENTRY WILL NOT BE CLEARED BY A
- * CARRIAGE RETURN.
- * *OUT OF RANGE.* = MEMORY ENTRY ADDRESS \ FL.
- * *PP BUSY.* = NO PP IS AVAILABLE TO HANDLE
- * THE REQUEST.
- * *DISK BUSY.* = DISK IS BUSY WHILE LOADING
- * AN OVERLAY.
- KBI SUBR ENTRY/EXIT
- KBI1 RJM SKI SELECT KEYBOARD INPUT
- LJM KBI5 PROCESS OVERLAY LOAD
- KBIA EQU *-1
- UJN KBI4 PROCESS KEYBOARD ENTRY
- KBI3 LDN 0 CLEAR KEYBOARD ENTRY
- STD KE
- DFIM (LDD KI) CHECK FOR CHANGE IN KEYBOARD STATUS
- KBI4 UJN KBI4.1 CC545 CONSOLE, DISPLAY KEYBOARD
- LMD KM
- LMD KR
- ZJN KBI4.2 IF NO CHANGE HAS OCCURRED
- KBI4.1 RJM DKB DISPLAY KEYBOARD BUFFER
- DFIM (CON LDMI)
- KBI4.2 UJN KBIX CC545 CONSOLE, RETURN
- CON SKIC CHECK LAST CHARACTER
- ZJN KBIX IF NONE
- UJN KBI1 CHECK FOR ANOTHER ONE
- KBI5 LDD KE
- ZJN KBI4 IF NO INPUT
- LDD KI
- NJN KBI6 IF NOT FIRST CHARACTER
- LDD KE
- SBN 1R8
- MJN KBI6 IF ALPHANUMERIC
- SBN KBIFL
- PJN KBI6 IF CHARACTER NOT IN TABLE
- LDM KBIF-1R8,KE
- STM KBIB SET ADDRESS
- LDN 0
- LJM * EXECUTE PROGRAM
- KBIB EQU *-1
- KBI6 LDD KE CHECK CHARACTER
- KBIC LMN 0
- NJN KBI7 IF NOT UPPER CASE SHIFT
- LDD UC
- NJN KBI7 IF UPPER CASE SET
- AOD UC
- UJP KBIX RETURN
- KBI7 LDD UC
- ZJN KBI9 IF NOT UPPER CASE
- LDN 0 CLEAR UPPER CASE FLAG
- STD UC
- LDC KBID-1 SET UPPER CASE TABLE
- STD T2
- KBI8 AOD T2 ADVANCE TABLE
- LDI T2
- ZJN KBI9 IF END OF TABLE
- SHN -6
- LMD KE COMPARE ENTRY
- NJN KBI8 IF NO MATCH
- LDI T2 ENTER SPECIAL CHARACTER
- LPN 77
- STD KE
- UJN KBI11 PROCESS NORMAL CHARACTER
- KBI9 LDD KE CHECK ENTRY
- SBN 53
- MJN KBI11 IF < *$*
- SBN KBIEL
- PJN KBI11 IF > * *
- LDM KBIE-53,KE
- STD T2
- LJM 0,T2 PROCESS ENTRY
- * PROCESS *SPACE*.
- KBI10 LDN 1R SUBSTITUTE * *
- STD KE
- * PROCESS NORMAL CHARACTER.
- KBI11 LDD KE STORE CHARACTER
- STM KBUF,KI
- AOD KI
- LMN KBUFL
- ZJN KBI12 IF BUFFER FULL
- JMP KBI3 RETURN
- * PROCESS *BKSP*.
- KBI12 SOD KI CLEAR PREVIOUS ENTRY
- LDN 0
- STM KBUF,KI
- LDD KM
- LMC INTB
- ZJN KBI13 IF *REPEAT ENTRY.*
- LMC CJSA&INTB
- ZJN KBI13 IF *AUTO COMMAND PROCESSING.*
- LDN 0 CLEAR MESSAGE
- STD KM
- KBI13 JMP KBI3 RETURN
- KBID BSS 0
- VFD 6/1RS,6/1R$
- VFD 6/1R0,6/1R#
- VFD 6/1R1,6/1R[
- VFD 6/1R2,6/1R]
- VFD 6/1R3,6/63
- VFD 6/1R4,6/64
- VFD 6/1R5,6/65
- VFD 6/1R6,6/1R!
- VFD 6/1R7,6/1R&
- VFD 6/1RQ,6/1R'
- VFD 6/1RW,6/1R?
- VFD 6/1RE,6/1R<
- VFD 6/1RR,6/1R>
- VFD 6/1RT,6/1R@
- VFD 6/1RY,6/1R\
- VFD 6/1RU,6/1R^
- VFD 6/1RI,6/77
- VFD 6/1RZ,6/00
- VFD 6/1R=,6/64
- VFD 6/1RA,6/67
- VFD 6/1R(,6/72
- VFD 6/1R),6/73
- VFD 6/1R+,6/74
- VFD 6/1R-,6/75
- VFD 6/1R,,6/77
- DATA 0
- KBIE BSS 0
- LOC 53
- CON PLB 53 *LEFT BLANK*
- CON KBI11 54
- CON ALS 55 *RIGHT BLANK*
- CON KBI11 56
- CON KBI11 57
- CON INT 60 *CR*
- CON KBI12 61 *BKSP*
- CON KBI10 62 * *
- LOC *O
- KBIEL EQU *-KBIE
- * TABLE OF FIRST CHARACTER FORMATS.
- KBIF BSS 0
- LOC 1R8
- CON AMT 8 - INCREMENT MANAGED TABLE POINTER
- CON DMT 9 - DECREMENT MANAGED TABLE POINTER
- CON AVD3 + - ADVANCE LEFT SCREEN
- CON AVD1 - - DECREMENT LEFT SCREEN
- CON RDC * - RELEASE DISPLAY CHANNEL
- CON AMV / - SET LEFT DISPLAY
- CON AVD2 ( - ADVANCE RIGHT SCREEN
- CON AVD ) - DECREMENT RIGHT SCREEN
- CON KBI6 LEFT BLANK
- CON KBI6 =
- CON KBI6 RIGHT BLANK
- CON LTE , - LOAD TEXT EDITOR
- CON SAC . - SET AUTO COMMAND PROCESSING
- CON SRE CR
- CON KBI3 BKSP
- CON KBI3 SPACE
- LOC *O
- KBIFL EQU *-KBIF
- TITLE KEYBOARD INPUT SUBROUTINES.
- ALS SPACE 4
- * ALS - ADVANCE LEFT SCREEN DISPLAY.
- ALS AOD AI ADVANCE INDEX
- LDM ALSA,AI SET SCREEN INDEX
- NJN ALS1
- STD AI
- LDM ALSA
- ALS1 STD LS SET LEFT SCREEN DISPLAY
- RJM LDO LOAD DISPLAY OVERLAY
- JMP KBI3 RETURN
- ALSA BSS 0
- DATA 1RA
- DATA 1RC
- DATA 1RH
- BSSZ 8D
- ALSAL EQU *-ALSA
- AVD SPACE 4
- ** AVD - ADVANCE DISPLAY.
- *
- * ENTRY (A) = 0.
- *
- * EXIT (T2) = DIRECTION.
- * 0 = INCREMENT OR FORWARD.
- * 1 = DECREMENT OR BACKWARD.
- * (T3) = NAME OF DISPLAY TO BE PAGED.
- *
- * USES T1.
- AVD LDN 1 DECREMENT RIGHT SCREEN
- AVD1 ADN 1 DECREMENT LEFT SCREEN
- AVD2 ADN 1 INCREMENT RIGHT SCREEN
- AVD3 SHN 21-0 INCREMENT LEFT SCREEN
- STD T2 SET INCREMENT/DECREMENT FLAG
- SHN -21
- ADN LS
- ERRNZ LS+1-RS *LS* AND *RS* ARE NOT CONSECUTIVE
- STD T3
- LDI T3 GET CURRENT DISPLAY
- STD T3 SET CURRENT DISPLAY
- LDM TDAD,T3 GET ADDRESS OF ADVANCE ROUTINE
- STD T1
- LJM 0,T1
- AMV SPACE 4,10
- ** AMV - ADVANCE LEFT SCREEN MEMORY DISPLAY ADDRESS BY THE
- * VALUE IN THE BOTTOM 18-BITS OF THE FIRST WORD DISPLAYED.
- *
- * USES T1, AB - AB+4.
- AMV LDD LS CHECK LEFT SCREEN DISPLAY
- LMN 1RM
- NJN AMV1 IF NOT *M*
- LDD EB SET ADDRESS OF FIRST EXTENDED MEMORY WORD
- SHN 14
- LMD EB+1
- ADN 4
- UJN AMV2
- AMV1 LDM DFCA,LS SET DISPLAY FIELD ADDRESS
- STD T1
- LDI T1 READ FIRST DISPLAY WORD
- SHN 6
- ADD RA
- SHN 6
- ADM 1,T1
- AMV2 CRD AB
- LDD AB+3 ADVANCE = VALUE
- LPN 37
- STD AB+3
- LDD T1 GET DISPLAY FIELD ADDRESS
- UJN AMF2 ADVANCE DISPLAY FIELD
- AMF SPACE 4
- ** AMF - ADVANCE MEMORY FIELDS.
- *
- * USES AB+3, AB+4.
- *
- * CALLS ADF.
- *
- * MACROS DFIM.
- AMF BSS 0 ENTRY
- LDD T2 CHECK CHARACTER
- ZJN AMF1 IF *+*
- DFIM (LCN 17+20) TWO-S COMPLEMENT OF 20
- LCN 37+40 TW0-S COMPLEMENT OF 40
- DFIM (ADN 20)
- AMF1 ADN 40
- STD AB+4 (AB+4) = 0040/0020/7760/7740
- SHN -6
- STD AB+3 (AB+3) = 0000/7777
- LDM DFCA,T3
- AMF2 RJM ADF ADVANCE DISPLAY FIELD
- JMP KBI3 RETURN
- BPA SPACE 4
- ** BPA - BREAKPOINT PROGRAM TO (P) +/- 1.
- *
- * ENTRY (BA) = BREAKPOINT ACTIVE FLAG.
- * (T2) = 0, IF INCREMENT P.
- * = 1, IF DECREMENT P.
- *
- * EXIT TO BREAKPOINT INCREMENT OVERLAY.
- * (CA) = 2 * (T2).
- *
- * USES CA.
- *
- * CALLS ECP, LOV.
- BPA LDD T2
- SHN 1
- STD CA
- LDD BF
- NJN BPA2 IF BREAKPOINT ACTIVE
- LJM ILE INCORRECT ENTRY
- BPA2 RJM ECP END CENTRAL PROGRAM
- LDC BPI&O26
- * UJN LTE LOAD OVERLAY
- LTE SPACE 4,10
- ** LTE - LOAD CONSOLE TEXT EDITOR.
- *
- * CALLS LOV.
- LTE LMC O26
- LJM LOV LOAD OVERLAY
- RCD SPACE 4,10
- ** RDC - RELEASE DISPLAY CHANNEL.
- RDC RJM HDC HOLD DISPLAY CHANNEL
- RJM CSB CLEAR SCREEN BUFFER
- JMP KBI3 RETURN
- SAC SPACE 4
- ** SAC - SET AUTO COMMAND PROCESSING.
- SAC LDD CP CHECK FOR SPECIAL ENTRY JOB
- ADC SEPW
- CRD CM
- LDD CM
- LPN 24
- ZJN SAC1 IF NOT DMP= OR SSJ=
- LDN 2 CALL *1AJ* TO CLEAN UP JOB
- RJM IAJ
- SAC1 LDC CJSA SET AUTO MODE
- UJN SRE1
- SRE SPACE 4
- ** SRE - SET REPEAT ENTRY.
- SRE LDC INTB *REPEAT ENTRY.*
- SRE1 STD KM
- JMP KBI3 RETURN
- AMT SPACE 4
- ** AMT - ADVANCE MANAGED TABLE POINTER.
- AMT LDM DFCA,LS
- STD T1
- ZJN AMT1
- AOM -1,T1
- AMT1 JMP KBI3 RETURN
- DMT SPACE 4
- ** DMT - DECREMENT MANAGED TABLE POINTER.
- DMT LDM DFCA,LS
- STD T1
- ZJN AMT1
- SOM -1,T1
- JMP KBI3 RETURN
- ADA SPACE 4,10
- ** ADA - ADVANCE *A* DISPLAY.
- *
- * IF A *-* HAS BEEN ENTERED, INSERT A *BEGIN,* IN THE
- * KEYBOARD BUFFER.
- *
- * ENTRY (T2) = 0, ADVANCE THE A DISPLAY.
- * = 1, INSERT *BEGIN,* INTO THE KEYBOARD BUFFER.
- ADA LDD T2
- ZJN ADA1 IF *+*
- LDC BEG *-* WAS ENTERED, ENTER *BEGIN,*
- LJM LOV LOAD OVERLAY
- ADA1 LDC DSAA ADVANCE FNT
- UJN ADH1 UPDATE PAGING BYTES
- ADH SPACE 4,10
- ** ADH - ADVANCE *H* DISPLAY.
- *
- * ENTRY (T2) = 0, IF FORWARD.
- * = 1, IF BACKWARD.
- * (A) = FWA OF PAGING BYTES WHEN ENTERED AT *ADH1*.
- ADH LDC DSHA ADVANCE FNT
- ADH1 STD T1
- LDD T2
- LMN 1
- ZJN ADH2 IF *-*
- LDM 1,T1 ADVANCE FNT
- ADH2 STI T1
- JMP KBI3 RETURN
- ADT SPACE 4
- ** ADT - ADVANCE *T* DISPLAY.
- *
- * ENTRY (T2) = 0, IF FORWARD.
- * = 1, IF BACKWARD.
- * (T3) = NAME OF DISPLAY TO BE PAGED.
- ADT LDD T2 CHECK CHARACTER
- ZJN ADT1 IF *+*
- DFIM (LDC 377740)
- LDC 377700 SET *-*
- DFIM (LMN 20)
- ADT1 LMN 40
- RAM DSTA+2-1RT,T3
- SHN -14
- ADM DSTA-1RT,T3
- LPN 37
- STM DSTA-1RT,T3
- JMP KBI3 RETURN
- CKB SPACE 4
- ** CKB - CLEAR KEYBOARD BUFFER.
- CKB SUBR ENTRY/EXIT
- LDD KM
- ZJN CKB1 IF NO MESSAGE
- LMC INTC
- ZJN CKB1 IF MESSAGE *DISK BUSY.*
- LMC CJSA&INTC
- NJN CKBX IF NOT *AUTOMATIC COMMAND PROCESSING.*
- CKB1 STD KI CLEAR KEYBOARD INDEX
- STD T1
- CKB2 LDN 0 CLEAR BUFFER
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN CKB2
- UJN CKBX RETURN
- CSB SPACE 4,10
- ** CSB - CLEAR SCREEN BUFFER.
- *
- * CLEAR SCREEN BUFFER, RESET TOP OF PAGE, AND SET *KBI*-S
- * RETURN ADDRESS TO *DIS1* WHEN THE CONSOLE TYPE IS A *CDC721*.
- *
- * USES T1.
- *
- * MACROS CFNC, DFIM.
- CSB1 LDN CSBAL-1
- STD T1
- CSB2 LDM CSBA,T1 ISSUE FUNCTION
- CFNC
- SOD T1
- PJN CSB2 IF MORE FUNCTIONS
- STD KR FORCE *DKB* TO EXECUTE
- LDC DIS1 SET *KBI* EXIT
- STM KBI
- CSB SUBR ENTRY/EXIT
- DFIM (UJN CSB1)
- UJN CSBX RETURN
- CSBA BSS 0 TABLE OF FUNCTION CODES IN REVERSE ORDER
- CON CHSF CLEAR HIDDEN SCREEN
- CON RTPF RESET TOP OF PAGE
- CON SRSF SELECT RIGHT SCREEN, SMALL CHARACTERS
- CON RTPF RESET TOP OF PAGE
- CON SLSF SELECT LEFT SCREEN, SMALL CHARACTERS
- CSBAL EQU *-CSBA
- PLB SPACE 4
- ** PLB - PROCESS *LEFT BLANK*.
- PLB LDN 0 CLEAR KEYBOARD MESSAGE
- STD KM
- * UJN KBR
- KBR SPACE 4
- ** KBR - NORMAL RETURN.
- KBR RJM CKB CLEAR KEYBOARD BUFFER
- JMP KBI3 RETURN
- ILE SPACE 4,10
- ** ILE - INCORRECT ENTRY.
- ILE LDC INTG *INCORRECT ENTRY.*
- * UJN KIC PROCESS INCORRECT ENTRY
- KIC SPACE 4
- ** KIC - INCOMPLETE RETURN.
- *
- * ENTRY (A) = MESSAGE ADDRESS.
- KIC STD T1
- LDD KE
- LMN 53
- NJN KIC1 IF NOT *LEFT BLANK*
- LJM AOL ABORT OVERLAY LOAD
- KIC1 LDD KM
- NJN KIC2 IF MESSAGE
- LDD T1
- STD KM
- KIC2 JMP KBI4 RETURN
- SPACE 4
- TITLE INTERPRET KEYBOARD MESSAGE.
- INT SPACE 4
- *** NOTE - ALL NUMERIC ENTRIES ARE OCTAL AND RIGHT JUSTIFIED
- * IN THE FIELD IN WHICH THEY ARE STORED, UNLESS SPECIFIED
- * OTHERWISE. IMBEDDED SPACES ARE IGNORED IN NUMERIC FIELDS
- * AND LEADING ZEROES MAY BE OMMITTED. SPACES ARE NOT
- * IGNORED IN ALPHABETIC FIELDS.
- *
- *** MN.
- *
- * IF M AND N ARE VALID DISPLAY IDENTIFIERS, CHANGE THE LEFT
- * AND RIGHT SCREEN DISPLAYS TO M AND N RESPECTIVELY.
- *
- *** MX,YYYYYY.
- *
- * IF M IS ONE OF THE LETTERS C,D,F,G, OR M, AND X IS
- * AN OCTAL DIGIT, CHANGE THE M DISPLAY FIELDS AS FOLLOWS:
- *
- * X = 0 - 3, CHANGE FIELD X TO DISPLAY FROM YYYYYY.
- * X = 4, CHANGE FIELDS 0 - 3 TO DISPLAY FROM YYYYYY
- * CONSECUTIVELY.
- * X = 5, ADVANCE DISPLAY OF FIELDS BY YYYYYY.
- * X = 6, DECREMENT DISPLAY OF FIELDS BY YYYYYY.
- *
- *** M,XXXX.
- *
- * IF M IS ONE OF THE LETTERS C,D,F,G, OR M, XXXX IS
- * THE BIAS ADDRESS FOR MANAGED TABLE DISPLAY.
- INT SPACE 4
- ** INT - INTERPRET KEYBOARD MESSAGE.
- INT LDC UJNI+ILL-INTD ENTRY
- UJN INT2
- ERRPL ILL-INTD-40B
- INT1 LDC RJMI ENTRY TO FORCE DIS COMMAND
- INT2 STM INTD
- LDM KBUF
- STD T9
- SBN 1R0
- MJN INT4 IF ALPHA
- SBN 1R8-1R0
- PJN INT4 IF NON-OCTAL DIGIT
- LDC ENM ENTER MEMORY
- INT3 LJM LOV
- INT4 LDD T9 CHECK FIRST CHARACTER
- LMN 1RE
- NJN INT5 IF NOT *E*
- LDM KBUF+1 CHECK SECOND CHARACTER
- SBN 1R0
- MJN INT5 IF ALPHA
- SBN 1R8-1R0
- PJN INT5 IF NON- OCTAL DIGIT
- LDC EEC
- UJN INT3
- INT5 LDM KBUF+2 CHECK THIRD CHARACTER
- LMN 1R.
- NJN INT6 IF NOT PERIOD
- * CHANGE DISPLAY.
- LDD T9 CHECK LEFT SCREEN INDEX
- SBN DPCAL
- PJN INT6 IF NO DISPLAY
- LDM KBUF+1 CHECK RIGHT SCREEN INDEX
- STD T1
- SBN DPCAL
- PJN INT6 IF NO DISPLAY
- LDM DLSA,T1
- NJN INT6 IF RIGHT SCREEN IS OVERLAY
- LDD T9 SET LEFT SCREEN DISPLAY
- STD LS
- LDD T1 SET RIGHT SCREEN DISPLAY
- STD RS
- RJM LDO LOAD DISPLAY OVERLAY
- LJM KBR RETURN
- INT6 LDM KBUF+2
- LMN 1R,
- NJN INT7 IF NOT COMMA
- * CHANGE DISPLAY FIELD.
- LDD T9 SET DISPLAY INDEX
- STD T6
- SBN DPCAL
- PJN INT7 IF NO DISPLAY
- LDM DFCA,T6 SET DISPLAY FIELD
- STD T7
- ZJN INT7 IF NO FIELD
- LDM KBUF+1 SET FIELD NUMBER
- SBN 1R0
- STD T5
- MJN INT7 IF ALPHA
- SBN 10
- PJN INT7 IF NOT DIGIT
- LDC CDF
- UJN INT8.1 LOAD OVERLAY
- INT7 LDM KBUF+1 CHECK 2ND CHARACTER
- LMN 1R,
- NJN INT8 IF NOT *,*
- * CHANGE DISPLAY TABLE.
- LDD T9 SET DISPLAY INDEX
- STD T6
- SBN DPCAL
- PJN INT8 IF NO DISPLAY
- LDM DFCA,T6 SET DISPLAY FIELD
- STD T7
- ZJN INT8 IF NO FIELD
- LDC KBUF+2 ASSEMBLE DIGITS
- RJM ASD
- LDD AB+4 SET ADDRESS
- STM -1,T7
- LDD T6
- LJM SLS SET LEFT SCREEN
- INT8 LDC INTA SERACH FOR SPECIAL FORMAT
- RJM SSF
- LDC IKM INTERPRET KEYSET MESSAGE
- INT8.1 UJN INT10 LOAD OVERLAY
- INT9 RJM PPC PROCESS PP CALL
- INTD RJM CKB CLEAR KEYBOARD BUFFER
- LJM CJS7
- * INCORRECT DIS COMMAND.
- ILL LDC KBUF
- STD CA
- LDC EXC EXECUTE COMMAND
- INT10 LJM LOV LOAD OVERLAY
- * TABLE OF REQUESTS.
- INTA BSS 0
- CDS ENTER (DIS.)
- DRP ENTER (DROP.)
- ERR ENTER (ERR.)
- HOL ENTER (HOLD.)
- MCU ENTER (M.)
- O26 ENTER (O26.) THIS MUST BE THE LAST ITEM IN THE LIST
- DATA 0 END OF TABLE
- INTB DATA C*REPEAT ENTRY.*
- INTC DATA C*DISK BUSY.*
- INTE DATA C*PP BUSY.*
- INTF DATA C*JOB ACTIVE.*
- INTG DATA C*INCORRECT ENTRY.*
- SKI SPACE 4
- ** SKI - SELECT KEYBOARD INPUT.
- *
- * EXIT (A) = (KE) = (SKIC) = INPUT KEY.
- SKI2 LDN 20 SET REPEAT DELAY
- SKI3 LMN 24 SET INITIAL DELAY
- STM SKIB
- LDD KE
- SKI4 STM SKIA STORE CURRENT CHARACTER
- SKI SUBR ENTRY/EXIT
- CFNC SKIF SELECT KEYBOARD INPUT
- IAN CH+40 INPUT CHARACTER
- DCN CH+40
- STM SKIC
- SBN 63
- MJN SKI1 IF LEGAL CHARACTER
- LCN 63
- SKI1 ADN 63
- STD KE
- DFIM (UJN SKIX) RETURN
- ZJN SKI4 IF INPUT CHARACTER NOT PRESENT
- LDC 0
- SKIA EQU *-1
- ZJN SKI3 IF NO PREVIOUS CHARACTER
- SOM SKIB DECREMENT DELAY
- ZJN SKI2 IF DELAY ELAPSED
- LDN 0
- STD KE
- UJN SKIX RETURN
- SKIB DATA 0 REPEAT KEY DELAY
- SKIC CON 0
- SSF SPACE 4
- ** SSF - SEARCH FOR SPECIAL FORMAT.
- *
- * ENTRY (A) = ADDRESS OF FORMAT TABLE.
- *
- * EXIT TO PROCESSOR IF FORM FOUND.
- * (A) = CHARACTER ADDRESS.
- *
- * USES T1, T2.
- SSF SUBR ENTRY/EXIT
- STD T1 SET TABLE ADDRESS
- SSF1 LDI T1
- ZJN SSFX RETURN IF END OF TABLE
- LDC KBUF SET CHARACTER ADDRESS
- STD CA
- SSF2 LDI T1 COMPARE UPPER
- SHN -6
- ZJN SSF5 IF COMPARE COMPLETE
- LMI CA
- NJN SSF4
- AOD CA
- LDI T1 COMPARE LOWER
- LPN 77
- ZJN SSF5 IF COMPARE COMPLETE
- LMI CA
- NJN SSF4
- AOD CA
- AOD T1
- UJN SSF2
- SSF3 AOD T1 SKIP TO END OF SYNTAX
- SSF4 LDI T1
- LPN 77
- NJN SSF3 LOOP
- LDN 3
- RAD T1
- UJN SSF1 LOOP
- SSF5 LDM 1,T1 SET OVERLAY ADDRESS
- SHN 14
- ADM 2,T1
- LJM LOV LOAD OVERLAY
- TITLE RESIDENT DISPLAY ROUTINES.
- DSC SPACE 4
- *** DISPLAY C. CENTRAL MEMORY, 5 GROUPS OF 4 DIGITS, WITH
- *
- * DISPLAY CODE TRANSLATION.
- DSC CON * ENTRY
- LDM DSC
- STM DSD SET RETURN ADDRESS
- LDC 1RC*10000+DSCA
- * UJN DSD1 GENERATE HEADER MESSAGE
- DSD SPACE 4,10
- *** DISPLAY D. CENTRAL MEMORY, 5 GROUPS OF 4 DIGITS, WITH
- *
- * DISPLAY CODE TRANSLATION.
- DSD1 STD T8 SAVE FIELD TABLE ADDRESS
- SHN -6
- SCN 77
- LMN 1R. FORM DISPLAY IDENTIFIER
- STM DSDH+4
- * DISPHD (DIS C. CENTRAL MEMORY.)
- * DISPHD (DIS D. CENTRAL MEMORY.)
- LDN DSDHL
- OAM DSDH,CH DISPLAY HEADER
- LDC D5F
- STD T6 SET WORD FORMAT
- LDD T8
- RJM DCM DISPLAY CENTRAL MEMORY
- DSD SUBR ENTRY/EXIT
- LDC 1RD*10000+DSDA
- UJN DSD1 GENERATE HEADER MESSAGE
- DSDH CON CH01,HL01
- DATA H*DIS D. CENTRAL MEMORY.*
- DSDHL EQU *-DSDH
- DSJ SPACE 4,10
- *** DISPLAY B. CONTROL POINT STATUS.
- *
- * DISPLAYS CONTROL POINT STATUS AND NEXT COMMANDS.
- *
- * ENTRY (CP) = CPA ADDRESS.
- *
- * XREF COMDGJD.
- *
- * NOTE - THE DISPLAY FORMAT IS DOCUMENTED IN *COMDGJD*.
- * ALSO, THE EXIT POINT FROM THIS ROUTINE MUST BE
- * *DSJX* DUE TO REQUIREMENTS OF *COMDGJD*.
- DSJX LDC 2R. RESTORE *.*-S
- STM D6SA
- STM D4SB
- LJM * EXIT
- DSB EQU *-1 ENTRY
- DISPHD (DIS B. JOB STATUS.)
- * LDN 0 CLEAR *.*-S
- STM D6SA
- STM D4SB
- LDD CP GET EJTO
- ADN TFSW
- CRD T7
- SFA EJT,T7 GET JSN AND CONNECTION STATUS
- ADK JSNE
- CRD AB
- LDM CMEF GET CENTRAL MEMORY EXTENSION FLAG
- * UJN GJD
- SPACE 4,10
- * COMMON DECKS.
- QUAL GJD
- GJD$ EQU UE DEFINE LOCATION OF *UESC* SHIFT
- LIST X
- *CALL COMDGJD
- LIST *
- QUAL *
- DSN SPACE 4
- *** DISPLAY N. BLANK SCREEN.
- DSN SUBR ENTRY/EXIT
- DISPHD (DIS N. BLANK SCREEN.)
- UJN DSNX RETURN
- TITLE DISPLAY SUBROUTINES.
- DAL SPACE 4,10
- ** DAL - DISPLAY ACCESS LEVEL STRING.
- *
- * ENTRY (A) = VALID ACCESS LEVEL.
- DAL SUBR ENTRY/EXIT
- SHN 2 CONVERT ACCESS LEVEL TO TABLE INDEX
- ADK TALV
- STM DALA
- LDN 4
- OAM 0,CH DISPLAY STRING
- DALA EQU *-1
- UJN DALX RETURN
- DLA SPACE 4,10
- ** DLA - DISPLAY LINE ADVANCE.
- *
- * EXIT (A) .LT. 0 IF END OF DISPLAY.
- *
- * USES T4, YC, XC.
- DLA SUBR ENTRY/EXIT
- LDD XC DISPLAY X-COORDINATE
- OAN CH+40
- LCN YINC ADVANCE Y-COORDINATE
- RAD YC
- OAN CH+40
- DFIM (ADC -Y721)
- ADC -Y545
- UJN DLAX RETURN
- DMS SPACE 4,10
- SPACE 4
- * COMMON DECKS.
- LIST X
- *CALL COMDDCM
- N2Z$ EQU 1 DO NOT ASSEMBLE *D2Z*
- *CALL COMDDIS
- *CALL COMDDSP
- DSS$ EQU 0 DISPLAY SUBSYSTEM STATUS
- N2S$ EQU 1 DO NOT ASSEMBLE *D2S*
- *CALL COMDSYS
- LIST *
- EJT$ EQU 1 EJT SEARCH
- IFP$ EQU 1 *COMPGFP* REMOTE ASSEMBLY
- *CALL COMPGFP
- VAL$ EQU 1
- *CALL COMPVLC
- TITLE RESIDENT COMMAND PROCESSOR ROUTINES.
- CMEF EQU DCMD CENTRAL MEMORY EXTENSION FLAG
- DIS SPACE 4
- *** DIS.
- *
- * CALL DIS AND DROP DISPLAY.
- QUAL DIS".N"
- CDS ENTRY
- LDM /COMDDSP/DDSA SET EST ORDINAL
- LMC 4000 FORCE DIRECT CALL
- STD IR+4
- LDD KM CHECK IF AUTO COMMAND PROCESSING
- LMC CJSA
- NJN CDS1 IF NOT AUTO COMMAND
- LDD HN
- RAD IR+3
- CDS1 RJM DDS DROP DISPLAY
- LDD IA WRITE INPUT REGISTER FOR *DIS*
- CWD IR
- LJM PPR EXIT TO PP RESIDENT
- DROP SPACE 4
- *** DROP.
- *
- * DROP DISPLAY.
- DRO EQU DPP DEFINE ENTRY POINT TO DROP DISPLAY
- DRP ENTRY DRO
- * RJM DDS DROP DISPLAY
- * RJM RBW RESTORE BREAKPOINT WORD
- * LJM DPP DROP PPU
- ERR SPACE 4
- *** ERR.
- *
- * SET ERROR FLAG.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- ERR ENTRY
- LDN ZERL
- CRD CM
- LDN FSET SET FORCED ERROR FLAG
- STD CM+1
- MONITOR CEFM
- JMP KBR RETURN
- HOL SPACE 4
- *** HOLD.
- *
- * DROP DISPLAY AND WAIT FOR RE-ASSIGNMENT.
- HOL ENTRY
- RJM DDS DROP DISPLAY
- * LDN 0
- STM OVD-5 CLEAR DISPLAY OVERLAY
- LDN 1RN
- STD LN
- RJM RDS REQUEST DISPLAY
- RJM CSB CLEAR SCREEN BUFFER
- JMP KBR RETURN
- QUAL
- TITLE COMMAND PROCESSOR SUBROUTINES.
- ADF SPACE 4
- ** ADF - ADVANCE DISPLAY FIELD.
- *
- * ENTRY (A) = ADDRESS OF FIELD TO BE ADVANCED,
- * (AB+3 - AB+4) = ADVANCE INCREMENT.
- *
- * EXIT NONE.
- *
- * USES T1, T2.
- ADF SUBR ENTRY/EXIT
- STD T1 SET FIELD ADDRESS
- ZJN ADFX RETURN IF NO FIELD
- ADN 10 SET LIMIT
- STD T2
- ADF1 LDD AB+4 ADVANCE DISPLAY FIELD
- RAM 1,T1
- SHN -14
- ADD AB+3
- RAI T1
- LDN 2 ADVANCE FIELD
- RAD T1
- LMD T2
- NJN ADF1 LOOP FOR ALL FIELDS
- UJN ADFX RETURN
- ASC SPACE 4
- ** ASC - ASSEMBLE CHARACTERS.
- *
- * ENTRY (A) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (AB - AB+4) = ASSEMBLY.
- *
- * USES T1, T2
- ASC SUBR ENTRY/EXIT
- STD T1 STORE CHARACTER ADDRESS
- LDN AB SET BYTE ADDRESS
- STD T2
- ASC1 LDI T1 PACK BYTE
- SHN 6
- ADM 1,T1
- STI T2
- ZJN ASC2 IF ZERO BYTE
- LDN 2 ADVANCE ADDRESS
- RAD T1
- ASC2 AOD T2 ADVANCE BYTE
- LMN AB+5
- NJN ASC1 LOOP TO END OF WORD
- UJN ASCX RETURN
- ASD SPACE 4
- ** ASD - ASSEMBLE DIGITS.
- *
- * ENTRY (A) = CHARACTER ADDRESS.
- *
- * EXIT (AB - AB+4) = ASSEMBLY.
- *
- * CALLS CDR.
- ASD SUBR ENTRY/EXIT
- RJM CDR CONVERT DIGITS
- LMN 1R.
- ZJN ASDX RETURN IF PERIOD
- LJM ILL INCORRECT ENTRY
- ASN SPACE 4,10
- ** ASN - ASSEMBLE NAME.
- *
- * ENTRY (A) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = SEPARATOR CHARACTER.
- * (AB - AB+4) = ASSEMBLY.
- *
- * USES T1, T2.
- ASN3 ADN 1R+ STORE CHARACTER
- RAI T2
- AOD T1
- AOD T2
- LMN AB+4
- NJN ASN1 LOOP FOR 7 CHARACTERS
- LDI T1 RETURN WITH CHARACTER
- ASN SUBR ENTRY/EXIT
- STD T1 STORE CHARACTER ADDRESS
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- LDN AB SET BYTE ADDRESS
- STD T2
- ASN1 LDI T1 CHECK UPPER CHARACTER
- SBN 1R+
- MJN ASN2 IF NOT SEPARATOR
- ADN 1R+ RETURN WITH SEPARATOR
- UJN ASNX
- ASN2 ADN 1R+ STORE CHARACTER
- SHN 6
- STI T2
- AOD T1
- LDI T1 CHECK LOWER
- SBN 1R+
- MJN ASN3 IF NOT SEPARATOR
- ADN 1R+ RETURN WITH SEPARATOR
- UJN ASNX
- BCP SPACE 4
- ** BCP - BEGIN CENTRAL PROGRAM.
- BCP SUBR ENTRY/EXIT
- RJM CRA CHECK SYSTEM REQUEST
- PJN BCP1 IF *END* OR *ABT*
- LDD AB+1
- ADD AB+2
- ADD AB+3
- NJN BCP2
- LDD AB+4
- ZJN BCP2 IF NO PP OA
- BCP1 LDN ZERL CLEAR SYSTEM REQUEST (RA+1)
- CRD CM
- LDD RA
- SHN 6
- ADN 1
- CWD CM
- BCP2 MONITOR RCPM REQUEST CPU
- UJN BCPX RETURN
- CAJ SPACE 4,10
- ** CAJ - CHECK ACTIVE JOB.
- *
- * EXIT (A) = 0, IF NO ACTIVITY.
- *
- * USES CM - CM+4.
- CAJ SUBR ENTRY/EXIT
- LDD CP FETCH CP STATUS WORD
- ADN STSW
- CRD CM
- LDD CM+2 EXTRACT ROLLOUT CPU STATUS
- LPN 2
- SHN 11-1
- LMD CM
- SBN 1
- SHN 4 APPEND PP REQUEST QUEUE STATUS
- ADD CM+4
- SCN 17
- UJN CAJX RETURN
- CDR SPACE 4
- ** CDR - CONVERT DIGITS RIGHT ADJUSTED.
- *
- * ENTRY (A) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = SEPARATOR CHARACTER.
- * (AB - AB+4) = ASSEMBLY.
- *
- * USES T1, T2.
- CDR SUBR ENTRY/EXIT
- STD T1 SAVE ADDRESS
- LDN ZERL CLEAR ASSEMBLY AREA
- CRD AB
- CDR1 LDI T1 LOAD CHARACTER
- SBN 1R0
- MJN CDR2 IF ALPHA
- SBN 1R8-1R0
- MJN CDR3 IF OCTAL DIGIT
- SBN 1R -1R8
- ZJN CDR5 IF SPACE
- CDR2 LDI T1 LOAD CHARACTER
- UJN CDRX RETURN
- CDR3 ADN 10 STORE DIGIT
- STD T3
- LDN AB+4 SET BYTE ADDRESS
- STD T2
- CDR4 LDI T2 LOAD BYTE
- SHN 3
- ADD T3 ADD NEW DIGIT
- STI T2 STORE
- SHN -14 SAVE OVERFLOW
- STD T3
- SOD T2 ADVANCE BYTE ADDRESS
- LMN AB-1
- NJN CDR4 LOOP
- CDR5 AOD T1 ADVANCE ADDRESS
- UJN CDR1 LOOP
- CRA SPACE 4
- ** CRA - CHECK SYSTEM REQUEST FOR *END* OR *ABT*.
- *
- * EXIT (A) = 0 IF *END*
- * (A) = 1 IF *ABT*
- * (A) = -1 IF NEITHER
- * (AB - AB+4) = RA+1.
- CRA1 LDN 1 SET *ABT* EXIT
- CRA SUBR ENTRY/EXIT
- LDD RA CHECK SYSTEM REQUEST
- SHN 6
- ADN 1
- CRD AB
- LDD AB+1
- SCN 77
- SHN 6
- LMD AB
- LMC 3RDEN
- ZJN CRAX IF *END*
- LMC 3RTAB&3RDEN
- ZJN CRA1 IF *ABT*
- LCN 1 SET NEITHER EXIT
- UJN CRAX RETURN
- ECP SPACE 4
- ** ECP - END CENTRAL PROGRAM.
- *
- * CALLS FTN.
- ECP SUBR ENTRY/EXIT
- LDN 0
- STD CM+1
- MONITOR DCPM DROP CPU
- RJM RBW RESTORE BREAKPOINT WORD
- UJN ECPX RETURN
- IAJ SPACE 4
- ** IAJ - CALL *1AJ*.
- *
- * ENTRY (A) = 6/FN,9/0,1/S,1/E,1/R
- * FN = 0, FOR MTR TYPE REQUEST (FOR SSJ= AND DMP=).
- * = 2, FOR DIS TYPE REQUEST.
- * R = RSS FLAG.
- * E = FOR RETURN ERROR MESSAGE TO MS2W.
- * S = FOR TAKE COMMAND FROM MS1W.
- * (IAJC) = *PSNI* IF *DMP=* REQUEST
- *
- * EXIT (KM) = KEYBOARD MESSAGE CODE.
- *
- * USES KM, CM - CM+4.
- *
- * CALLS CAJ.
- *
- * MACROS EXECUTE, MONITOR, SFA.
- IAJ3 LDC INTF *JOB ACTIVE.*
- STD KM
- IAJ SUBR ENTRY/EXIT
- STM IAJA+4
- SHN -14
- STM IAJA+2
- RJM CAJ CHECK ACTIVE JOB
- IAJ1 NJN IAJ3 IF JOB ACTIVE
- IAJC EQU *-1
- * PSNI (DMP=)
- LDC 0 RESTORE ACTIVITY CHECK
- ORG *-1
- LOC IAJC
- NJN IAJ3 IF JOB ACTIVE
- LOC *O
- STM IAJC
- LDN ZERL
- CRD CM
- LDC 4001 VERIFY JOB ADVANCE NOT SET
- STD CM
- LDN 6 SET LOW ORDER BIT OF FIELD
- SHN 6
- STD CM+1
- LDD MA
- CWD CM
- LDN 1 SET JOB ADVANCE
- STD CM
- STD CM+4
- LDD MA
- ADN 1
- CWD CM
- LDN ZERL
- CRD CM
- LDN 40+2 VERIFY AND SET JOB ADVANCE AND INTERLOCK
- STD CM+1
- LDC ** INTERLOCK EJT ENTRY
- IAJB EQU *-1 (EJTO)
- SFA EJT
- STD CM+4
- SHN -14
- STD CM+3
- MONITOR UTEM
- LDD CM+1
- NJN IAJ2 IF INTERLOCK NOT SET
- * LDN 0 ALLOW QUEUING OF PP REQUEST
- * STD CM+1
- EXECUTE 1AJ,=
- LDD MA WRITE REQUEST
- CWM IAJA,ON
- MONITOR RPPM
- LJM IAJX RETURN
- IAJ2 LJM IAJ3 DISPLAY * JOB ACTIVE.*
- IAJA VFD 18D/0L1AJ,6/0,12D/2,12D/0,12D/0
- PPC SPACE 4
- *** AAA. OR AAA,XXXXXX. OR AAA,XXXXXX,YYYYYY.
- *
- * IF AAA IS THE NAME OF A PP PROGRAM BEGINNING WITH A
- * LETTER, CALL THIS PROGRAM TO EXECUTE WITH PARAMETERS
- * XXXXXX AND YYYYYY. IN THE FORMS MISSING EITHER XXXXXX
- * OR YYYYYY, THE ASSUMED VALUE WILL BE 0.
- PPC SUBR ENTRY/EXIT
- LDC KBUF ASSEMBLE NAME
- RJM ASN
- SBN 1R+
- MJN PPCX RETURN IF NO SEPARATOR
- LDD AB CHECK NAME
- SHN -6
- SBN 1R0
- PJN PPCX RETURN IF NOT ALPHA
- LDD AB+1
- ZJN PPCX RETURN IF NOT 3 CHARACTERS
- LPN 77
- NJN PPCX RETURN IF MORE THAN 3 CHARACTERS
- LDC CPP CALL PPU
- LJM LOV
- RBW SPACE 4
- ** RBW - RESTORE BREAKPOINT WORD.
- *
- * ENTRY (BA - BA+1) = BREAKPOINT ADDRESS.
- *
- * USES BA, BA+1.
- RBW SUBR ENTRY/EXIT
- LDD BA
- SHN 14
- ADD BA+1
- ZJN RBWX IF BREAKPOINT NOT SET
- SHN 14 RESTORE BREAKPOINT WORD
- ADD RA
- SHN 6
- CWM RBWA,ON
- LDN 0 CLEAR BREAKPOINT
- STD BA
- STD BA+1
- UJN RBWX RETURN
- RBWA VFD 60D/0 INSTRUCTION WORD BUFFER
- SLS SPACE 4
- ** SLS - SET LEFT SCREEN.
- *
- * ENTRY (A) = NAME OF SCREEN.
- SLS LMD RS
- ZJN SLS1 IF RIGHT SCREEN DISPLAY
- LMD RS
- STD LS SET LEFT SCREEN
- RJM LDO LOAD DISPLAY OVERLAY
- SLS1 LJM KBR
- TITLE TABLE OF DISPLAYS.
- TDSP SPACE 4
- ** TDSP - TABLE OF DISPLAYS.
- *
- *
- *A TDSP B,C
- * ENTRY (A) = DISPLAY NAME.
- * (B) = DISPLAY FIELD ADDRESS (OPTIONAL).
- * (C) = + AND - PROCESSOR (OPTIONAL).
- MACRO TDSP,A,B,C
- ORG TDAD+1R;A
- CON C AMF
- ORG DFCA+1R;A
- CON B 0
- ORG DPCA+1R;A
- CON DS;A-DS;A/10000*10000
- ORG DLSA+1R;A
- CON DS;A/10000
- ENDM
- TDSP SPACE 4
- ** TABLE OF DISPLAYS.
- TDAD EQU *-1
- DUP 1RZ,1
- CON AMF
- DFCA EQU *-1
- DUP 1RZ,1
- CON 0
- DFCAL EQU *-DFCA
- DPCA EQU *-1
- DUP 1RZ,1
- CON DSZ-DSZ/10000*10000
- DPCAL EQU *-DPCA
- DLSA EQU *-1
- DUP 1RZ,1
- CON DSZ/10000
- TDSP SPACE 4
- ** TDSP - DISPLAY CONTROL TABLE.
- A TDSP ,ADA
- B TDSP
- C TDSP DSCA
- D TDSP DSDA
- F TDSP DSFA
- G TDSP DSGA
- H TDSP ,ADH
- M TDSP DSMA
- N TDSP
- T TDSP ,ADT
- U TDSP ,ADT
- V TDSP
- X TDSP ,BPA
- Y TDSP
- Z TDSP
- TFNT SPACE 4
- ** TFNT - TABLE OF FILE TYPES.
- TFNT DATA H*"NMFT"*
- TITLE OVERLAY AREA.
- OVL SPACE 4
- * TERMINATE RESIDENT ROUTINES.
- QUAL
- HERE
- DIS HERE
- USE END FORCE /LITERALS*/
- SPACE 4
- * OVERLAY AREA.
- USE OVL
- OVD EQU *+5
- TITLE PRESET PROGRAM.
- PRS SPACE 4
- QUAL PRESET
- PRS SPACE 4
- ** PRS - PRESET PROGRAM.
- *
- * CALLS CKB, CUA, DFM, MDC, RDS, SFI.
- PRS SUBR ENTRY/EXIT
- LDN 0 CLEAR *RCPM* REQUIRED FLAG
- STD T8
- LDD IR+4
- SHN 21-13
- MJN PRS3 IF DIRECT CALL
- LDD CP
- ADN STSW
- CRD CM
- LDD CM
- SHN -11
- LMN 6
- NJN PRS2 IF NOT *I* STATUS
- LDD IR+1
- LPN 40
- STD T8 SET *RCPM* REQUIRED FLAG IF RECALL SET
- PRS2 RJM CUA CHECK USER ACCESS
- ZJN PRS3 IF VALID USER
- LDC PRSC * INCORRECT COMMAND.*
- RJM DFM
- MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT TO PP RESIDENT
- PRS3 LDD IR+1 CLEAR AUTO-RECALL IN INPUT REGISTER
- SCN 40
- STD IR+1
- RJM IFP INITIALIZE *SFA* MACRO
- LDN DSEQ
- SFA EST GET EST ENTRY FOR DISPLAY CONSOLE
- ADK EQAE
- CRD CM
- LDD CM+2
- ZJN PRS4 IF CC545 CONSOLE
- MDIN MODIFY DISPLAY GENERATOR
- PRS4 LDN SSML SAVE SECURITY MODE
- CRD CM
- LDD CM
- LPN 3
- STD SM
- LDN NCPL SAVE NUMBER OF CP-S
- CRD CM
- LDD CM+1
- STD NC
- LDK EIBP GET POINTER TO *EICB*
- CRD CM
- LDD CM+3
- SHN 14
- LMD CM+4
- ZJN PRS4.1 IF *EICB* NOT DEFINED
- ADK D7ST SAVE POINTER TO *D7ST* FOR *COMDSYS*
- STM FDPA+1
- SHN -14
- RAM FDPA
- PRS4.1 LDD CP FETCH INPUT FILE STATUS
- ADN TFSW
- CRD T1
- LDD T1 SET JOB EJTO
- STM IAJB
- LDD IR+4
- SHN 21-13
- PJN PRS5 IF NOT DIRECT CALL
- LDD T1
- NJN PRS5 IF JOB PRESENT
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- PRS5 LDK MABL CHECK MAINFRAME TYPE
- CRD CM
- LDD CM+1
- SHN -11
- LMN 7
- SHN -2+22 SAVE CM EXTENSION STATUS
- STM CMEF
- ZJN PRS5.1 IF CYBER 176 MAINFRAME
- LDC EEMC SET DEFAULT ERROR EXIT MODE
- UJN PRS6 SET ERROR EXIT MODE
- PRS5.1 LDC EEMC&1 DESELECT UNDERFLOW
- PRS6 STM PRSA SET ERROR EXIT MODE
- LDD IR+4
- SHN 21-13
- MJN PRS7 IF CALLED TO RUNNING JOB
- LDD CP SET EXIT MODE IN EXCHANGE PACKAGE
- ADN 3
- CRD CM CURRENT EXIT MODE
- LDD CM
- LPC 770 RETAIN NON EXIT MODE BITS
- LMC EEMC
- * LDC EEMC&1 (CYBER 176 CPU)
- PRSA EQU *-1
- STD CM
- LDD CP
- ADN 3
- CWD CM WRITE CHANGED EXIT MODE
- PRS7 LDN 10 SET MASK FOR *JCIW*
- STD CM+4
- LDN SCTS SET *DIS* FLAG IN CPA
- STD CM+1
- MONITOR SJCM
- * LDN 0 CLEAR KEYBOARD MESSAGE
- STD KM
- STD BA CLEAR BREAKPOINT
- STD BA+1
- STD AI CLEAR ADVANCE INDEX
- STD UC CLEAR UPPER CASE FLAG
- LDC CH01 SET X-COORDINATE
- STD XC
- LDN 1RA SET LEFT SCREEN DISPLAY
- STD LS
- LDN 1RN
- STD LN
- LDN 1RB SET RIGHT SCREEN DISPLAY
- STD RS
- LDC OVL SET LOAD ADDRESS
- STD LA
- LDD IR+2 SET UPPER CASE CHARACTER
- LPN 77
- RAM KBIC
- LDD IR+3 CHECK CALLING PARAMETER
- SHN 13
- PJN PRS8 IF NOT AUTO COMMAND PROCESSING
- LDC CJSA SET AUTO COMMAND
- STD KM
- LDD IR+3 CLEAR CALLING PARAMETER
- LPC 7677
- STD IR+3
- * SET UP DIRECT CELLS.
- PRS8 LDN PPUL FETCH PP CONFIGURATION
- CRD CM
- LDN 20D PRESET NUMBER OF PPU,S
- STD PN
- LDD CM+2
- SBN 11D
- PJN PRS9 IF MORE THAN 10 PP-S
- LDN 10D SET 10 PPU,S
- STD PN
- PRS9 LDN PPCP FETCH PP COMMUNICATION AREA POINTER
- CRD CM
- LDD CM+4 SET FIRST PP INPUT REGISTER
- STD PC SET PP COMMUNICATION AREA POINTER
- LDK MEFL SET USER EM SHIFT COUNT
- CRD CM
- LDD CM+2
- SHN -11
- STD UE
- LDC EDBP GET EXTENDED MEMORY DISPLAY BUFFER POINTER
- CRD CM
- LDD CM
- STD EB
- LDD CM+1
- STD EB+1
- * CALL *9IA* TO COMPLETE PRESET.
- LDM PRS CALL *9IA* TO COMPLETE PRESET
- STM EXR
- EXECUTE 9IA,*
- LJM EXR+1 LOAD OVERLAY
- PRSC DATA C* INCORRECT COMMAND.*
- SPACE 4
- ** COMMON DECKS.
- *CALL COMPCUA
- QUAL
- IFP HERE
- QUAL *
- QUAL *
- PRS EQU /PRESET/PRS
- SPACE 4,10
- ** DUMP INSTRUCTION MODIFICATION BLOCK.
- DIMB
- SPACE 4,10
- OVERFLOW
- DISPLAY (PRESET PROGRAM.)
- SPACE 4,10
- *** FINISH PRESETTING *DIS* RESIDENT.
- *
- * 1. LOAD SUBROUTINES INTO THE MASS STORAGE DRIVER AREA.
- * 2. CLEAR THE KEYBOARD BUFFER.
- * 3. ISSUE *RCPM* IF THE CONTROL POINT IS IN *I* STATUS.
- PRP SPACE 4,15
- *** PRP - PRESET PROGRAM.
- *
- * FINISH PRESETTING *DIS* RESIDENT.
- *
- * ENTRY (T8) .NE. 0 = RESTART CPU PROGRAM WITH *RCPM*.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS CKB, RDS.
- *
- * MACROS DFIM, DIMB, MDIN, MONITOR, SETMS.
- PRP SUBR ENTRY/EXIT
- LDM DCTY
- ZJN PRP1 IF THE CONSOLE IS A *CC545*
- MDIN
- PRP1 LDN 0
- STD T1
- PRP2 LDM PRPA,T1 MOVE CODE TO DRIVER AREA
- STM MSFW,T1
- AOD T1
- LMC PRPAL
- NJN PRP2 IF NOT END OF MOVE
- SETMS NODRIVER INVALIDATE DRIVER
- LDD IR+4 CLEAR ROLLOUT/JOB CALL FLAG
- LPC 3777
- STD IR+4
- LDD IR+1
- LPN 37 SET CP NUMBER FOR *1DL*
- RAM LOVB+1
- LDC PRO SET ADDRESS TO EXIT TO
- STM /COMDDSP/ROFA
- RJM RDS REQUEST DISPLAY
- RJM CSB CLEAR SCREEN BUFFER
- RJM CKB CLEAR KEYBOARD BUFFER
- LDN ZERL LAST 3 WORDS ALWAYS ZERO
- CRM KBUF+KBUFL-2,ON
- LDC CJS RESET PRESET CALL
- STM DISD
- LDD T8
- ZJN PRP4 IF CP IS NOT IN *I* STATUS
- MONITOR RCPM
- PRP4 LJM PRPX RETURN
- DFT SPACE 4
- ** DISPLAY FIELD TABLES.
- PRPA BSS 0
- QUAL
- LOC MSFW
- CON 0
- DSAA CON 0 CURRENT FNT INDEX
- CON 0 NEXT FNT INDEX
- CON 0
- DSCA CON 0,0
- CON 0,10
- CON 0,20
- CON 0,30
- CON 0
- DSDA CON 0,0
- CON 0,10
- CON 0,20
- CON 0,30
- CON 0
- DSFA CON 0,0
- CON 0,10
- CON 0,20
- CON 0,30
- CON 0
- DSGA CON 0,0
- CON 0,10
- CON 0,20
- CON 0,30
- DSHA CON 0
- CON 0
- CON 0
- DSMA CON 0,0
- CON 0,10
- CON 0,20
- CON 0,30
- DSTA CON 0
- DSUA CON 0
- CON 100
- CON 400
- DSVA CON 0,0
- TDSL CON 0,0
- LOV SPACE 4
- ** LOV - LOAD OVERLAY.
- *
- * ENTRY (A) = BITS 17-12 OVERLAY INDEX.
- * BITS 11-00 ENTRY ADDRESS.
- LOV STM LOVA SET ENTRY
- SHN -14
- ZJN LOV1 IF RESIDENT
- STD T0
- SHN 1
- SCN 77
- LMD T0
- SCN 40
- STD T0
- SHN -6
- ADD T0
- LMC 2L9"OVNB"
- ERRNZ 2R"OVNG"-2RIH CODE ASSUMES *9I* AND *9H* OVERLAYS
- STM LOVB+4
- SHN -14
- STM LOVB+3
- SHN 6
- LMM -5,LA
- SHN 6
- LMM LOVB+4
- SHN 6
- LMM -4,LA
- ZJN LOV1 IF PROGRAM IN CORE
- RJM LPP LOAD PP PROGRAM
- LOV1 LDN ZERL CLEAR ASSEMBLY BUFFER
- CRD AB
- LDC KBI5 CLEAR OVERLAY LOAD
- STM KBIA
- LDC OVL
- STD LA
- LDD CA (A) = CHARACTER ADDRESS
- LJM *
- LOVA EQU *-1
- LOVB VFD 24/3L1DL,12/CH,24/0
- LPP SPACE 4
- ** LPP - LOAD PP PROGRAM.
- *
- * ENTRY (LOVB+3 - LOVB+4) = PP PROGRAM NAME.
- LPP SUBR ENTRY/EXIT
- PAUSE NE PAUSE FOR STORAGE RELOCATION
- LDD LA SET LOAD ADDRESS
- SBN 5
- STM LPPC
- EXECUTE 1DL,=
- LDD MA
- CWM LOVB,ON
- LDN 1 SELECT NO QUEUING OF PP REQUEST
- STD CM+1
- MONITOR RPPM CALL *1DL*
- LDK WDDC SET KEYBOARD MESSAGE DELAY
- STM LPPD
- LDD CM+1 CHECK CALL
- STM LPPA
- NJN LPP1 IF PP AVAILABLE
- LDC INTE
- UJN AOL1 ABORT OVERLAY LOAD
- * WAIT FOR 1DL.
- LPP1 RJM KBIA SET RE-ENTRY
- DFIM (CON SDCF),*+1
- LDC 0
- CFNC CLEAR DISPLAY
- LDC ** READ PP INPUT REGISTER
- LPPA EQU *-1
- CRD CM
- LDD CM+1 CHECK INPUT REGISTER
- LMM LOVB+1
- ZJN LPP2 IF *1DL*
- * AOL - ABORT OVERLAY LOAD.
- AOL LDN 0 CLEAR KEYBOARD MESSAGE
- AOL1 STD KM
- LDD LN RESET LEFT SCREEN DISPLAY
- STD LS
- LDC OVL SET LOAD ADDRESS
- STD LA
- DCN CH+40
- CCF *+2,CH CLEAR CHANNEL FLAG
- LDC KBI5 CLEAR OVERLAY LOAD
- STM KBIA
- LJM KBI3 RETURN
- LPP2 LDD CM+2
- LMC 7777
- ZJN LPP4 IF TRANSMISSION READY
- SOM LPPD
- SHN -14
- ZJN LPP3 IF THE DELAY HAS NOT EXPIRED
- LDC INTC
- LPP3 DCN CH+40
- CCF *+2,CH CLEAR CHANNEL FLAG
- LJM KIC INCOMPLETE ENTRY
- * INPUT OVERLAY.
- LPP4 LDD TH
- SBN 1
- NJN *-1
- DCN CH+40
- * LDN 0 SET RECEIVE READY
- STD CM+2
- STD T1 SET TIMER
- LDM LPPA
- CWD CM
- ACN CH+40
- LPP5 FJM LPP6,CH IF CHANNEL FULL
- SOD T1
- NJN LPP5 IF NOT TIMED OUT
- DCN CH+40
- CCF *+2,CH CLEAR CHANNEL FLAG
- * LDN 0
- UJP AOL1 ABORT OVERLAY LOAD
- LPP6 LCN 0 INPUT OVERLAY
- STD T1
- IAM OVL,CH
- LPPC EQU *-1
- LPP7 LDM LPPA CHECK INPUT REGISTER
- CRD CM
- LDD CM+1
- LMM LOVB+1
- NJN LPP8 IF *1DL* GONE
- SOD T1
- NJN LPP7 IF DELAY NOT EXPIRED
- LPP8 LDD KM
- LMC INTC
- NJN LPP9 IF MESSAGE NOT *DISK BUSY.*
- * LDN 0 CLEAR KEYBOARD BUFFER
- STD KM
- LPP9 CCF *+2,CH CLEAR CHANNEL FLAG
- LJM LPPX RETURN
- LPPD CON WDDC WAITING FOR DISK DELAY COUNT
- ERRNG PPFW-* IF PP RESIDENT MEMORY OVERFLOW
- LOC *O
- QUAL *
- PRPAL EQU *-PRPA
- SPACE 4,10
- ** DUMP INSTRUCTION MODIFICATION BLOCK.
- DIMB
- SPACE 4,10
- OVERFLOW OVD
- TTL DIS - DISPLAY OVERLAYS.
- DISPLAY (DISPLAY A. - DAYFILE.)
- .L SET 0 RESET *.L* FOR THE DISPLAY OVERLAYS
- DSA SPACE 4
- *** *A* DISPLAY.
- *
- * DISPLAYS ACCUMULATED DAYFILE MESSAGES FOR JOB.
- DSA ENTRY DSA
- DSA SUBR ENTRY/EXIT
- DISPHD (DIS A. JOB DAYFILE.)
- NFA LFCN READ NUMBER OF LOCAL FILES
- CRD T2 (T6) = NUMBER OF LOCAL FILES - 1
- * NEXT INSTRUCTION IS AN *SBK* BECAUSE THE TAGS ARE IN NFL.
- SBK DAPN-LFCN READ DAYFILE BUFFER POINTERS
- CRD AB
- ADN 1
- CRD T1
- ADN 1 READ FILE STATUS
- CRD CM
- NFA DAYN SET ABSOLUTE VALUE OF FIRST
- STD AB+1
- SHN -14
- STD AB
- RJM SDF SET DISPLAY FWA
- * DISPLAY NEXT LINE.
- DSA1 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- DSA2 LDN 6 SET WORD COUNT PER LINE
- STD T5
- DSA3 SOD T5
- MJN DSA6 IF EDGE OF SCREEN
- LDD AB DISPLAY NEXT WORD
- LPN 77
- SHN 14
- ADD AB+1
- ADD T7
- CRD CM
- RJM DWD DISPLAY WORD
- AOD T7 UPDATE INDEX
- LMD T3
- NJN DSA4 IF NOT AT END OF BUFFER
- STD T7
- DSA4 LDD T7
- LMD T2
- ZJN DSA7 IF ALL DATA DISPLAYED
- LDD CM+4
- NJN DSA3 IF NOT END OF LINE
- LDD T5
- LMN 5
- NJN DSA5 IF NOT FIRST WORD OF LINE
- LDD CM
- ZJN DSA1 IF NULL LINE
- DSA5 LCN YINC UPDATE Y-COORDINATE
- RAD YC
- UJN DSA1 PROCESS NEXT LINE
- DSA6 LDC CH11 ADJUST X-COORDINATE FOR SECOND LINE
- OAN CH+40
- LCN YINC MOVE DOWN ONE LINE
- RAD YC
- OAN CH+40
- LJM DSA2 FINISH CURRENT LINE
- * DISPLAY FILES TO END OF SCREEN.
- DSA7 LCN 2*YINC SET Y-COORDINATE
- ADM SDFA
- OAN CH+40
- SBN YINC
- STD YC
- LDD SM
- ZJN DSA8 IF UNSECURED SYSTEM
- LDN DSAB2-DSAB1
- DSA8 ADN DSAB1
- OAM DSAB,CH DISPLAY COLUMN HEADERS
- * LDN 0
- STM /COMDDIS/D4SB CLEAR *. *
- STM /COMDSYS/D6SA
- STM //DSAA+1 CLEAR NEXT INDEX
- LDM //DSAA SET CURRENT INDEX
- STD T7
- SHN 1
- ADD T7
- STD T1
- LDC FNTN-LENF
- ADD T1
- STD FA
- DSA9 LDN LENF ADVANCE FNT ADDRESS
- RAD FA
- SBD NL
- PJN DSA10 IF END OF LOCAL FNT
- AOD T7 ADVANCE FILE ORDINAL
- NFA FA,R READ FNT ENTRY
- CRD CM
- LDD CM
- ZJN DSA9 IF EMPTY ENTRY
- LDC CH01 OUTPUT X-COORDINATE
- OAN CH+40
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- OAN CH+40 OUTPUT Y-COORDINATE
- SBM CBOS
- PJN DSA11 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH DISPLAY *MORE*
- SOD T7 SET NEXT INDEX
- STM //DSAA+1
- DSA10 LDC 2R. RESTORE *. *
- STM /COMDDIS/D4SB
- STM /COMDSYS/D6SA
- LJM DSAX RETURN
- DSA11 LDD T7 DISPLAY NUMBER
- SBN 1
- RJM D4S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDN 3 DISPLAY NAME
- OAM CM,CH
- LDD CM+3
- SCN 77
- OAN CH+40
- LDC CH18 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CM+4 INDEX = TYPE
- SHN 14
- STD T1
- SHN -14
- STD T9
- LDM TFNT,T1 DISPLAY TYPE
- OAN CH+40
- LDD CM+3 EXTRACT LOCK BIT
- LPN 1
- ZJN DSA12 IF NOT LOCKED
- LDC 2R*
- DSA12 OAN CH+40 DISPLAY (*) FOR LOCK
- NFA FA,R READ FST INFORMATION
- ADN FSTL
- CRD CM
- ADN FUTL-FSTL READ FUT INFORMATION
- CRD AB
- LDD CM DISPLAY EQUIPMENT
- RJM D4S
- SFA EST,CM
- ADK EQDE
- CRD T1
- LDD T1
- SHN 21-13
- PJN DSA13 IF NOT MASS STORAGE DEVICE
- LDD CM+1 DISPLAY FIRST TRACK
- RJM D4S
- DSA13 LDC CH35 OUTPUT X-COORDINATE
- OAN CH+40
- LDM TSID,T9 DISPLAY ID STATUS
- OAN CH+40
- LDN 0
- OAN CH+40
- LDD CM+4 DISPLAY STATUS
- RJM D6S
- LDD SM
- ZJN DSA14 IF UNSECURED SYSTEM
- LDN 0
- OAN CH+40
- LDD AB+2 GET FILE ACCESS LEVEL
- LPN 7
- RJM DAL DISPLAY FILE ACCESS LEVEL
- DSA14 LJM DSA9 DISPLAY NEXT FILE
- DSAB CON CH02
- DATA 4HFNT
- CON CH09
- DATA 4HNAME
- CON CH17
- DATA 30HTYPE EST TRACK FS STATUS
- DSAB1 EQU *-DSAB
- CON CH49
- DATA 6HLEVEL
- DSAB2 EQU *-DSAB
- TSID SPACE 4,10
- ** TSID - TABLE OF STATUS VALUE-ID CODE CORRESPONDENCES.
- TSID INDEX
- INDEX UPST,2RUP USER FILE PRIVACY
- INDEX SSST,2RSS SPECIAL SYSTEM JOB FILE
- INDEX CBST,2RCB CB CHECKPOINT FILE
- INDEX CKST,2RCK CK CHECKPOINT FILE
- INDEX SOST,2RSO SPECIAL OUTPUT FILE
- INDEX AAST,2RAA APPLICATION ACCOUNTING FILE
- INDEX NDST,2RND NO DROP FILE
- INDEX MXST END OF TABLE
- SDF SPACE 4,25
- ** SDF - SET DISPLAY FWA.
- *
- * ENTRY (AB - AB+4) = FIRST WORD OF DAYFILE BUFFER POINTERS.
- * (T1 - T1+4) = SECOND WORD OF DAYFILE BUFFER POINTERS.
- * (CM - CM+4) = THIRD WORD OF DAYFILE BUFFER POINTERS.
- *
- * EXIT (T2) = *IN*.
- * (T7) = POINTER WITHIN BUFFER TO FIRST LINE OF DISPLAY.
- * (YC) = (*CTOS*).
- * TO *DSAX* IF THE DAYFILE BUFFER IS EMPTY.
- *
- * USES AB+2, T2, T4, T7, T8, T9, CM - CM+4.
- *
- * NOTE - *SDF* USES THE FOLLOWING BYTES FROM THE DAYFILE BUFFER
- * POINTER WORDS.
- *
- * (AB - AB+1) = FWA OF BUFFER.
- * (AB+4) = *IN*.
- * (T1+2) = *LIMIT*.
- * (T1+4) = *OUT*.
- * (CM+1) = FIRST TRACK OF DAYFILE FILE.
- * (CM+2) = CURRENT TRACK OF DAYFILE FILE.
- * (CM+3) = CURRENT SECTOR OF DAYFILE FILE.
- SDF SUBR ENTRY/EXIT
- LDD AB+4 START DISPLAY AT *IN*
- STD T4
- STD T7
- STD T2 SAVE *IN*
- LDD CM+1 COMPARE CURRENT TRACK AND FIRST TRACK
- LMD CM+2
- NJN SDF1 IF BUFFER DUMPED
- LDD CM+3 COMPARE CURRENT SECTOR TO SYSTEM SECTOR
- SBN FSMS+1
- PJN SDF1 IF BUFFER DUMPED
- LDD T1+4 START DISPLAY AT *OUT*
- STD T4
- LMD AB+4
- NJN SDF1 IF *OUT* .NE. *IN*
- LJM DSAX EXIT
- SDF1 LDM CTOS SET Y-COORDINATE
- STD YC
- STD T9 INITIALIZE LINE COUNTER
- LDM DCTY DETERMINE LAST LINE OF DAYFILE
- ZJN SDF1.1 IF *CC545*
- LDK 9D*YINC
- SDF1.1 SBK 21D*YINC
- ADD YC
- STM SDFA SET LAST LINE OF DAYFILE
- LDN 0
- SDF2 STD T8 INITIALIZE LINE LENGTH COUNTER
- STD AB+2 SAVE INITIAL VALUE
- SDF2.1 SOD T7 DECREMENT POINTER
- PJN SDF3 IF POINTER .GE. *FIRST*
- ADD T1+2 POINTER = *LIMIT* - 1
- STD T7
- SDF3 SBD T4
- NJN SDF3.1 IF NOT BACK TO START OF DISPLAY
- LJM SDFX RETURN
- SDF3.1 LDD AB READ WORD FROM BUFFER
- SHN 14
- LMD AB+1
- ADD T7
- CRD CM
- AOD T8 INCREMENT LINE LENGTH COUNTER
- LDD CM+4
- NJN SDF2.1 IF NOT END OF LINE
- LDD T8
- SHN -1
- NJN SDF5 IF NOT NULL LINE
- SDF4 LDD CM
- ZJN SDF2 IF NULL WORD
- LDN 1
- UJN SDF2 FIND NEXT LINE
- SDF5 SHN -2
- ZJN SDF6 IF LINE WAS SIX OR LESS WORDS LONG
- LCN YINC
- SDF6 SBN YINC
- RAD T9 UPDATE LINE COUNT
- SBM SDFA
- ZJN SDF7 IF EXACTLY AT THE BOTTOM LINE
- PJN SDF4 IF NOT AT THE BOTTOM LINE YET
- LDD T8 GO BACK TO THE NEXT LINE
- SBD AB+2 SKIP PAST NULL WORD IF NECESSARY
- SDF7 ADN 1
- RAD T7
- SBD T1+2
- MJN SDF8 IF POINTER .LT. *LIMIT*
- STD T7
- SDF8 LJM SDFX RETURN
- SDFA CON T545-21D*YINC BOTTOM LINE FOR THE DAYFILE
- DISPLAY (DISPLAY X. - EXCHANGE PACKAGE.)
- DSB SPACE 4,10
- *** *X* DISPLAY.
- *
- * DISPLAY OF THE BREAKPOINT ADDRESS LINE AND
- * EXCHANGE PACKAGE WHEN THE CPU IS NOT ACTIVE.
- DSX ENTRY DSX
- DSX SUBR ENTRY/EXIT
- DISPHD (DIS X. EXCHANGE PACKAGE.)
- * DISPLAY BREAKPOINT ADDRESS LINE.
- LDD BA CHECK BREAKPOINT ADDRESS
- ADD BA+1
- ZJN DSX1 IF NOT SET
- DISPLA CH06,LN06,(BKP = )
- LDD BA DISPLAY BREAKPOINT ADDRESS
- SHN 14
- LMD BA+1
- RJM D6S
- * DISPLAY EXCHANGE PACKAGE.
- DSX1 LDD CP GET CPU STATUS
- ADN STSW
- CRD CM
- LDD CM
- SHN -11
- LMN 1RA
- ZJN DSXX IF JOB ACTIVE IN CPU 0
- LMN 1RB&1RA
- ZJN DSXX IF JOB ACTIVE IN CPU 1
- LDC LN08 SET Y-COORDINATE
- STD YC
- LDN 0 CLEAR *. *
- STM /COMDSYS/D6SA
- STD T7 CLEAR EXCHANGE REGISTER INDEX
- LDM CMEF
- NJN DSX2 IF NOT CYBER 176 MAINFRAME
- LDC 2RPS SET *PSD* REGISTER NAME
- STM DSXBA
- LDC 2RD
- STM DSXCA
- DSX2 LDD YC OUTPUT Y-COORDINATE
- OAN CH+40
- LDC CH06 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CP
- ADD T7
- CRD CM
- LPN 17
- SBN 10
- MJN DSX3 IF NOT *X* REGISTER
- ADC 2RX0 DISPLAY *XX*
- OAN CH+40
- LDC 2R =
- OAN CH+40
- RJM D5F DISPLAY DIGITS 0-19
- LJM DSX7 DISPLAY NEXT LINE
- DSX3 LDM DSXB,T7 DISPLAY REGISTER LABEL
- OAN CH+40
- LDM DSXC,T7
- OAN CH+40
- LDC 2R=
- OAN CH+40
- LDD CM DISPLAY DIGITS 0-1
- SHN -6
- STD T0
- ZJN DSX5 IF 2 LEADING ZEROS
- SHN -3
- ZJN DSX4 IF 1 LEADING ZERO
- ADN 1R0
- SHN 6
- DSX4 LMD T0
- SCN 70
- ADN 1R0
- OAN CH+40
- LDD CM DISPLAY DIGITS 2-3
- RJM D2D
- LDD CM+1 DISPLAY DIGITS 4-7
- RJM D4D
- UJN DSX6 DISPLAY A REGISTER
- * PROCESS 2 LEADING ZEROS.
- DSX5 OAN CH+40 OUTPUT ZERO BYTE
- LDD CM DISPLAY DIGITS 2-7
- SHN 14
- LMD CM+1
- RJM D6S
- DSX6 LDC CH25 OUTPUT X-COORDINATE
- OAN CH+40
- LDD T7 DISPLAY *AX*
- ADC 2RA0
- OAN CH+40
- LDC 2R =
- OAN CH+40
- LDC CH30 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CM+3 DISPLAY A REGISTER
- SCN 77
- SHN 6
- LMD CM+2
- SHN 6
- RJM D6S
- LDC CH41 OUTPUT X-COORDINATE
- OAN CH+40
- LDD T7 DISPLAY *BX*
- ADC 2RB0
- OAN CH+40
- LDC 2R =
- OAN CH+40
- LDC CH46 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CM+3 DISPLAY B REGISTER
- LPN 77
- SHN 14
- LMD CM+4
- RJM D6S
- DSX7 LCN YINC DECREASE Y-COORDINATE
- RAD YC
- AOD T7 ADVANCE EXCHANGE ADDRESS
- LPN 7
- NJN DSX8 IF NOT END OF FIELD
- LCN YINC DECREASE Y-COORDINATE
- RAD YC
- LDD T7 CHECK INDEX
- LMN 20
- ZJN DSX9 IF END OF DISPLAY
- DSX8 LJM DSX2 LOOP
- DSX9 LDC 2R. RESTORE *. * DISPLAY
- STM /COMDSYS/D6SA
- LDD BF
- ZJN DSX10 IF BREAKPOINT NOT ACTIVE
- DISPLA CH06,LN26,(+ AND - WILL SET *BKP* TO (P) +/- 1.)
- DSX10 LJM DSXX RETURN
- DSXB DATA H*P *
- DATA H*RA*
- DATA H*FL*
- DSXBA DATA H*EM*
- * DATA H*PS* (CYBER 176)
- DATA H*RA*
- DATA H*FL*
- DATA H*MA*
- DATA H*EE*
- DSXC DATA 0
- DATA 0
- DATA 0
- DSXCA DATA 0
- * DATA L*D * (CYBER 176)
- DATA L*E *
- DATA L*E *
- DATA 0
- DATA L*A *
- DISPLAY (DISPLAY F. - CENTRAL MEMORY 4 GROUPS OF 5.)
- DSF SPACE 4
- *** *F* DISPLAY.
- *
- * DISPLAY CM IN 4 GROUPS OF 5 DIGITS, WITH
- * DISPLAY CODE TRANSLATION.
- DSF ENTRY DSF
- DSF SUBR ENTRY/EXIT
- DISPHD (DIS F. CENTRAL MEMORY.)
- LDC D4F SET WORD FORMAT
- STD T6
- LDC DSFA
- * LDN (NON-ZERO) SIMULATE SECURED SYSTEM
- STD T8
- RJM DCM DISPLAY CENTRAL MEMORY
- UJN DSFX
- D5D SPACE 4
- ** D5D - DISPLAY 5 DIGITS.
- *
- * ENTRY (A) = DIGITS RIGHT ADJUSTED.
- *
- * USES T1.
- *
- * CALLS D4D.
- D5D SUBR ENTRY/EXIT
- STD T1 UNPACK, CONVERT UPPER DIGIT
- SHN -14
- LPN 7
- ADN 1R0
- OAN CH+40 DISPLAY ONE DIGIT
- LDD T1
- RJM D4D DISPLAY 4 DIGITS
- UJN D5DX RETURN
- D4F SPACE 4
- ** D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- *
- * ENTRY (CM - CM+4) = CONTENTS OF CM WORD.
- *
- * USES T1.
- *
- * CALLS D5D, DIN.
- D4F SUBR ENTRY/EXIT
- LDD XC OUTPUT X-COORD
- ADC 110
- OAN CH+40
- LDD CM+1 PACK 1ST BYTE
- SHN -11
- STD T1
- LDD CM
- SHN 3
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+2 PACK 2ND BYTE
- SHN -6
- STD T1
- LDD CM+1
- LPC 777
- SHN 6
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+3 PACK 3RD BYTE
- SHN -3
- STD T1
- LDD CM+2
- LPN 77
- SHN 11
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+3 PACK 4TH BYTE
- LPN 7
- SHN 14
- ADD CM+4
- RJM D5D DISPLAY 5 DIGITS
- LDN 0 DISPLAY 2 SPACES
- OAN CH
- RJM DWD DISPLAY WORD
- LJM D4FX RETURN
- DISPLAY (DISPLAY G. - CM, 4 GROUPS OF 5.)
- DSG SPACE 4
- *** *G* DISPLAY.
- *
- * DISPLAY CM IN 4 GROUPS OF 5 DIGITS, WITH
- * INSTRUCTION FORMAT TRANSLATION.
- DSG ENTRY DSG
- DSG SUBR ENTRY/EXIT
- DISPHD (DIS G. CENTRAL MEMORY.)
- LDC D4F SET WORD FORMAT
- STD T6
- LDC DSGA
- * LDN (NON-ZERO) SIMULATE SECURED SYSTEM
- STD T8
- RJM DCM DISPLAY CENTRAL MEMORY
- UJN DSGX RETURN
- D5D SPACE 4
- ** D5D - DISPLAY 5 DIGITS.
- *
- * ENTRY (A) = DIGITS RIGHT ADJUSTED.
- *
- * USES T1.
- *
- * CALLS D4D.
- D5D SUBR ENTRY/EXIT
- STD T1 UNPACK, CONVERT UPPER DIGIT
- SHN -14
- LPN 7
- ADN 1R0
- OAN CH+40 DISPLAY ONE DIGIT
- LDD T1
- RJM D4D DISPLAY 4 DIGITS
- UJN D5DX RETURN
- D4F SPACE 4
- ** D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- *
- * ENTRY (CM - CM+4) = CONTENTS OF CM WORD.
- *
- * USES T1, T3.
- *
- * CALLS D5D, IIN.
- D4F SUBR ENTRY/EXIT
- LDD XC OUTPUT X-COORD
- ADC 110
- OAN CH+40
- LDD CM+1 PACK 1ST BYTE
- SHN -11
- STD T1
- LDD CM
- SHN 3
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+2 PACK 2ND BYTE
- SHN -6
- STD T1
- LDD CM+1
- LPC 777
- SHN 6
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+3 PACK 3RD BYTE
- SHN -3
- STD T1
- LDD CM+2
- LPN 77
- SHN 11
- ADD T1
- RJM D5D DISPLAY 5 DIGITS
- LDD CM+3 PACK 4TH BYTE
- LPN 7
- SHN 14
- ADD CM+4
- RJM D5D DISPLAY 5 DIGITS
- LDN 0 DISPLAY 2 SPACES
- OAN CH+40
- * DISPLAY INSTRUCTION FORMAT TRANSLATION.
- LDD XC SET PSEUDO X-COORDINATE
- ADC 26D*10+110
- STD T3
- LDD CM DISPLAY PARCEL 0
- SHN -3
- RJM IIN INTERPRET INSTRUCTION
- ZJN D4F1 IF 30 BIT INSTRUCTION
- LDN 7*10 SET X-COORDINATE
- ADD T3
- OAN CH+40
- LDD CM+1 DISPLAY PARCEL 1
- LPC 777
- RJM IIN INTERPRET INSTRUCTION
- ZJN D4F2 IF 30 BIT INSTRUCTION
- D4F1 LDC 14D*10 SET X-COORDINATE
- ADD T3
- OAN CH+40
- LDD CM+2 DISPLAY PARCEL 2
- LPN 77
- SHN 14
- LMD CM+3
- SHN -11
- RJM IIN
- ZJN D4F3 IF 30 BIT INSTRUCTION
- D4F2 LDC 21D*10 SET X-COORDINATE
- ADD T3
- OAN CH+40
- LDD CM+3 DISPLAY PARCEL 3
- LPN 7
- SHN 14
- LMD CM+4
- SHN -6
- RJM IIN
- D4F3 LJM D4FX RETURN
- IIN SPACE 4
- ** IIN - INTERPRET AND DISPLAY INSTRUCTION.
- *
- * ENTRY (A) = 9 BIT OPCODE.
- *
- * EXIT (A) " 0 IF 15 BIT INSTRUCTION ENCOUNTERED.
- *
- * USES T1, T2.
- *
- * CALLS NONE.
- * PROCESS 03X INSTRUCTIONS.
- IIN1 LDD T1 GET OPCODE
- LPN 7 GET X
- STD T2
- LDM O3T,T2 DISPLAY MNEMONIC
- OAN CH+40
- LDN 1RX DISPLAY * X*
- OAN CH+40
- LDN 0 SET 30 BIT INSTRUCTION FLAG
- UJN IINX RETURN
- * PROCESS 5X, 6X, 7X INSTRUCTIONS.
- IIN2 SHN -3
- STD T2 SAVE PRIMARY TYPE 5, 6, OR 7
- LDM SIM,T2 DISPLAY MENMONIC
- OAN CH+40
- LDD T1 SET SUFFIX
- LPN 70
- SHN -2
- STD T2
- LDM SIT,T2 DISPLAY FIRST SUFFIX WORD
- OAN CH+40
- LDM SIT+1,T2 DISPLAY SECOND SUFFIX WORD
- IIN3 OAN CH+40
- LPN 70 SET 15/30 BIT INSTRUCTION FLAG
- IIN SUBR ENTRY/EXIT
- STD T1 SAVE OPCODE
- SHN -3
- SBN 3
- ZJN IIN1 IF 03X INSTRUCTION
- SBN 50-3
- PJN IIN2 IF 5X, 6X, OR 7X
- * PROCESS 01, 02, 04-47 INSTRUCTIONS.
- ADN 50
- STD T2
- LDM IND,T2 GET TABLE INDICES
- STD T2
- SHN -6 GET MNEMONIC ORDINAL
- STD T1
- LDM TMN,T1 DISPLAY MNEMONIC
- OAN CH+40
- LDD T2
- LPN 77 DISPLAY SUFFIX
- SHN 1
- STD T2
- LDM OPT,T2 DISPLAY FIRST WORD OF SUFFIX WORD
- OAN CH+40
- LDM OPT+1,T2 DISPLAY SECOND SUFFIX WORD
- UJN IIN3 EXIT
- * O3T - TABLE OF 03X INSTRUCTION MNEMONICS.
- O3T CON 2RZR ZERO
- CON 2RNZ NON-ZERO
- CON 2RPL POSITIVE
- CON 2RNG NEGATIVE
- CON 2RIR IN RANGE
- CON 2ROR OUT OF RANGE
- CON 2RDF DEFINITE
- CON 2RID INDEFINITE
- * SIM - TABLE OF SET INSTRUCTION MNEMONICS.
- SIM CON 2RSA SET (AI)
- CON 2RSB SET (BI)
- CON 2RSX SET (XI)
- * SIT - TABLE OF SET INSTRUCTION TYPES.
- SIT DATA 3LA+K (AJ) + K
- DATA 3LB+K (BJ) + K
- DATA 3LX+K (XJ) + K
- DATA 4HX+B (XJ) + (BK)
- DATA 4HA+B (AJ) + (BK)
- DATA 4HA-B (AJ) - (BK)
- DATA 4HB+B (BJ) + (BK)
- DATA 4HB-B (BJ) - (BK)
- * IND - TABLE OF INDICES TO MNEMONIC CODES AND SUFFIXES FOR
- * 01, 02, 04-47 INSTRUCTIONS.
- *
- * EACH ENTRY CONTAINS -
- * VFD 6/ MNEMONIC TABLE ORDINAL.
- * VFD 6/ SUFFIX TABLE ORDINAL.
- IND BSS 0
- LOC 0
- CON 0000 00 - PS 0
- CON 0101 01 - RJ/RWE
- CON 0202 02 - JP B+K
- CON 0000 03 - (INSTRUCTION PROCESSED SEPARATELY)
- CON 0303 04 - EQ BB
- CON 0403 05 - NE BB
- CON 0503 06 - GE BB
- CON 0603 07 - LT BB
- CON 0704 10 - BX X
- CON 0705 11 - BX X*X
- CON 0706 12 - BX X+X
- CON 0707 13 - BX X-X
- CON 0710 14 - BX -X
- CON 0711 15 - BXX*-X
- CON 0712 16 - BXX+-X
- CON 0713 17 - BXX--X
- CON 1014 20 - LX JK
- CON 1114 21 - AX JK
- CON 1015 22 - LX XB
- CON 1115 23 - AX XB
- CON 1215 24 - NX XB
- CON 1315 25 - ZX XB
- CON 1415 26 - UX XB
- CON 1515 27 - PX XB
- CON 1606 30 - FX X+X
- CON 1607 31 - FX X-X
- CON 1706 32 - DX X+X
- CON 1707 33 - DX X-X
- CON 2006 34 - RX X+X
- CON 2007 35 - RX X-X
- CON 2106 36 - IX X+X
- CON 2107 37 - IX X-X
- CON 1605 40 - FX X*X
- CON 2005 41 - RX X*X
- CON 1705 42 - DX X*X
- CON 2214 43 - MX JK
- CON 1616 44 - FX X/X
- CON 2016 45 - RX X/X
- CON 2317 46 - NO
- CON 2420 47 - CX X
- LOC *O
- * TMN - TABLE OF MNEMONICS FOR 01, 02, 04-47 INSTRUCTIONS.
- TMN BSS 0
- LOC 0
- CON 2RPS PROGRAM/ERROR STOP
- CON 2RRJ RETURN JUMP - READ/WRITE ECS/LCM
- CON 2RJP GO TO BI+K
- CON 2REQ GO TO K IF BI=BK
- CON 2RNE GO TO K IF BI"BJ
- CON 2RGE GO TO K IF BI\BJ
- CON 2RLT GO TO K IF BI<BJ
- CON 2RBX PERFORM BOOLEAN OPERATION
- CON 2RLX PERFORM LOGICAL SHIFT
- CON 2RAX PERFORM ARITHMETIC SHIFT
- CON 2RNX NORMALIZE (XI,BJ FROM XK)
- CON 2RZX ROUND AND NORMALIZE (XI,BJ FROM XK)
- CON 2RUX UNPACK (XK TO XI,BJ)
- CON 2RPX PACK (XI FROM XK,BJ)
- CON 2RFX PERFORM SINGLE PRECISION F.P. OPERATION
- CON 2RDX PERFORM DOUBLE PRECISION F.P. OPERATION
- CON 2RRX PERFORM ROUNDED SINGLE PREC. F.P. OPERATION
- CON 2RIX PERFORM INTEGER ARITHMETIC OPERATION
- CON 2RMX SET A MASK OF JK BITS IN XI
- CON 2RNO NO OPERATION (PASS)
- CON 2RCX SET XI TO THE NUMBER OF 1 BITS IN XK
- LOC *O
- * OPT - SUFFIXES FOR 01, 02, 04-47 INSTRUCTIONS.
- OPT BSS 0
- DATA 3L
- DATA 4H/RWE
- DATA 3LB+K
- DATA 3L BB
- DATA 4H X
- DATA 4HX*X
- DATA 4HX+X
- DATA 4HX-X
- DATA 4H -X
- DATA 4HX*-X
- DATA 4HX+-X
- DATA 4HX--X
- DATA 4H JK
- DATA 4H XB
- DATA 4HX/X
- DATA 4H
- DATA 4H X
- DISPLAY (DISPLAY H. - FILE NAME TABLE.)
- DSH SPACE 4
- *** *H* DISPLAY.
- *
- * DISPLAYS ALL FILES ASSIGNED TO CONTROL POINT ALONG WITH
- * THE EQUIPMENT ASSIGNED TO THE FILES.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * FNT NAME TYPE EST TRACK FS STATUS LEVEL
- *
- * 0 OUTPUT* IN* 6 1234 ND 5 LVLXXXX
- DSH ENTRY DSH
- DSH SUBR ENTRY/EXIT
- DISPHD (DIS H. FILE STATUS.)
- LDM CTOS
- OAN CH+40
- SBN YINC SET Y-COORDINATE
- STD YC
- LDD SM
- ZJN DSH1 IF UNSECURED SYSTEM
- LDN DSHB2-DSHB1
- DSH1 ADN DSHB1
- OAM DSHB,CH DISPLAY COLUMN HEADERS
- * LDN 0
- STM /COMDDIS/D4SB CLEAR *. *
- STM /COMDSYS/D6SA
- STM DSHA+1 CLEAR NEXT INDEX
- LDM DSHA SET INDEX
- STD T7
- SHN 1
- ADD T7
- STD T1
- LDC FNTN-LENF
- ADD T1
- STD FA
- DSH2 LDN LENF ADVANCE FNT ADDRESS
- RAD FA
- SBD NL
- MJN DSH4 IF NOT END OF LOCAL FNT
- DSH3 LDC 2R. RESTORE *. *
- STM /COMDDIS/D4SB
- STM /COMDSYS/D6SA
- LJM DSHX RETURN
- DSH4 AOD T7 INCREMENT INDEX
- NFA FA,R READ FNT ENTRY
- CRD CM
- LDD CM
- ZJN DSH2 IF EMPTY ENTRY
- LDC CH01 OUTPUT X-COORDINATE
- OAN CH+40
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- OAN CH+40 OUTPUT Y-COORDINATE
- SBM CBOS
- NJN DSH5 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH DISPLAY *MORE*
- SOD T7 SET NEXT INDEX
- STM DSHA+1
- UJN DSH3 RETURN
- DSH5 LDD T7 DISPLAY NUMBER
- SBN 1
- RJM D4S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDN 3 DISPLAY NAME
- OAM CM,CH
- LDD CM+3
- SCN 77
- OAN CH+40
- LDC CH18 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CM+4 INDEX = TYPE
- SHN 14
- STD T1
- SHN -14
- STD T9
- LDM TFNT,T1 DISPLAY TYPE
- OAN CH+40
- LDD CM+3 EXTRACT LOCK BIT
- LPN 1
- ZJN DSH6 IF FILE UNLOCKED
- LDC 2R* DISPLAY (*) FOR LOCK
- DSH6 OAN CH+40
- NFA FA,R READ FST INFORMATION
- ADN FSTL
- CRD CM
- ADN FUTL-FSTL GET ACCESS LEVEL
- CRD AB
- LDD CM DISPLAY EQUIPMENT
- RJM D4S
- SFA EST,CM
- ADK EQDE
- CRD T1
- LDD T1
- SHN 21-13
- PJN DSH6.1 IF NOT MASS STORAGE DEVICE
- LDD CM+1 DISPLAY FIRST TRACK
- RJM D4S
- DSH6.1 LDC CH35 OUTPUT X-COORDINATE
- OAN CH+40
- LDM TSID,T9 DISPLAY ID STATUS
- OAN CH+40
- LDN 0
- OAN CH+40
- LDD CM+4 DISPLAY STATUS
- RJM D6S
- LDD SM
- ZJN DSH7 IF UNSECURED SYSTEM
- LDN 0
- OAN CH+40
- LDD AB+2 DISPLAY FILE ACCESS LEVEL
- LPN 7
- RJM DAL
- DSH7 LJM DSH2 DISPLAY NEXT FILE
- DSHB CON CH02
- DATA 4HFNT
- CON CH09
- DATA 4HNAME
- CON CH17
- DATA 30HTYPE EST TRACK FS STATUS
- DSHB1 EQU *-DSHB
- CON CH49
- DATA 6HLEVEL
- DSHB2 EQU *-DSHB
- TSID SPACE 4,10
- * TSID - TABLE OF STATUS VALUE - ID CODE CORRESPONDENCES.
- TSID INDEX
- INDEX UPST,2RUP USER FILE PRIVACY
- INDEX SSST,2RSS SPECIAL SYSTEM JOB FILE
- INDEX CBST,2RCB CB CHECKPOINT FILE
- INDEX CKST,2RCK CK CHECKPOINT FILE
- INDEX SOST,2RSO SPECIAL OUTPUT FILE
- INDEX AAST,2RAA APPLICATION ACCOUNTING FILE
- INDEX NDST,2RND NO DROP FILE
- INDEX MXST END OF TABLE
- DISPLAY (DISPLAY M - EXTENDED MEMORY DISPLAY.)
- DSM ENTRY DSM
- DSM SPACE 4
- *** *M* DISPLAY.
- *
- * DISPLAY EXTENDED MEMORY.
- DSM14 DISPLA CH01,LN06,(EXTENDED MEMORY EQUIPMENT UNDEFINED.)
- DSM SUBR ENTRY/EXIT
- DISPHD (DIS M. EXTENDED MEMORY.)
- LDD EB
- ADD EB+1
- ZJN DSM14 IF NO EXTENDED MEMORY DEFINED
- LDD UE PRESET SHIFT INSTRUCTIONS
- ADD TH
- ERRNZ SHNI-1000
- STM DSMF
- LMN 77
- SBN 11
- STM DSMG
- LDK MEFL SET EM CONFIGURATION
- CRD CM
- LDD CM+2
- SHN 21-7
- PJN DSM1 IF NOT EXPANDED ADDRESSING MODE
- LCN 0
- STM DSMA
- DSM1 LDD CP
- ADN ECSW EXTENDED MEMORY STATUS WORD
- CRD AB
- LDD AB+2 SET EXTENDED MEMORY RA (RAE)
- SHN 14
- ADD AB+3
- DSMF SHN 0
- * SHN UESC
- SHN 11-14+22
- STD T6
- SHN 11-11+14-22
- SCN 77
- STD T7
- LDD AB+4 SAVE EXTENDED MEMORY FL
- STD T8
- NJN DSM2 IF EXTENDED MEMORY FL ASSIGNED
- LJM DSMX RETURN
- DSM2 LDC DSMC SET ADDRESS OF ERROR STATUS WORDS
- STD T3
- LDN 0 SET RELATIVE LIST ADDRESS
- STD T4
- ADN 4
- STD T5
- SOM DSMB CHECK REREAD COUNTER
- MJN DSM3 IF TIME TO REREAD
- LJM DSM7 CHECK FOR ERRORS
- DSM3 LDC //DSMA ADDRESS TABLE
- STD T1
- ADN 10 SET END OF TABLE
- STD T2
- LDN 0
- STD AB
- STD AB+2
- LDN 10 SET UP ADDRESS LIST FOR ECSM FUNCTION
- STM DSMB
- SHN 6
- STD AB+1 SET NUMBER OF WORDS IN EACH GROUP = 10
- DSM4 LDI T1
- LPC 777 MASK ADDRESS TO 21 BITS
- * LPC 7777 (ABSOLUTE ESM MODE MASK)
- DSMA EQU *-1
- STI T1
- STD AB+3
- AOD T1
- LDI T1
- STD AB+4
- LDD T7 ADD RAE TO EM ADDRESS
- RAD AB+4
- SHN -14
- ADD T6
- RAD AB+3
- LDD EB
- SHN 14
- LMD EB+1
- ADD T4
- CWD AB WRITE ADDRESS LIST
- AOD T4
- AOD T1
- LMD T2
- NJN DSM4 IF NOT END OF ADDRESS TABLE
- LDD EB+1 SET LIST ADDRESS IN *ECSM* REQUEST
- STD CM+2
- LDD EB
- ADC 400 SET NUMBER OF ENTRIES IN LIST = 4
- STD CM+1
- LDC PELS*1000+200 SET *ECSM* READ LIST (USER) REQUEST
- STD CM+3
- MONITOR ECSM READ EXTENDED MEMORY
- LDN 3
- STM DSME
- DSM6 SOD T4 READ ERROR RESPONSE
- LDD EB
- SHN 14
- LMD EB+1
- ADD T4
- CRD CM
- LDD CM+4
- STM 0,T3
- DSME EQU *-1
- SOM DSME
- PJN DSM6 IF NOT END OF TABLE
- DSM7 LDN 0 TABLE INDEX
- STD T6
- LDC LN07 SET Y-COORDINATE
- STD YC
- DSM8 LDN 1 SET ERROR FLAG MASK
- STD T4
- LDI T3 SET ERROR BITS
- STM DSMD
- LDM //DSMA,T6 EXTENDED MEMORY ADDRESS
- STD AB
- LDM //DSMA+1,T6
- STD AB+1
- DSM9 LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- LDD T4 CHECK FOR EXTENDED MEMORY ERROR
- LPC 1
- DSMD EQU *-1
- ZJN DSM10 IF NO ERROR ON THIS WORD
- CFNC BIVF BEGIN INVERSE VIDEO
- LDD CC
- ADD T5
- LPN 3
- DSM10 STD T2 SET INTENSIFICATION COUNT
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDD AB DISPLAY ADDRESS
- RJM D4D
- LDD AB+1
- RJM D4D
- LDD SM
- ZJN DSM10.2 IF SYSTEM UNSECURED
- LDD AB GET ADDRESS
- SHN 14
- LMD AB+1
- DSMG SHN -11 CHECK ADDRESS
- * SHN -11-UESC
- SBD T8
- MJN DSM10.2 IF ADDRESS WITHIN EM FL
- LDN DCMFL DISPLAY SECURITY BLANKET
- OAM DCMF,CH
- UJN DSM10.3 CONTINUE
- DSM10.2 LDD EB READ AND DISPLAY WORD
- SHN 14
- LMD EB+1
- ADD T5
- CRD CM
- RJM D5F DISPLAY WORD
- DSM10.3 LDM DCTY
- NJN DSM10.4 IF CDC 721 CONSOLE
- SOD T2
- PJP DSM10 IF MORE INTENSIFICATION
- DSM10.4 CFNC EIVF END INVERSE VIDEO
- AOD AB+1 INCREMENT ADDRESS
- SHN -12D
- RAD AB
- AOD T5
- LDD T4 SHIFT MASK
- SHN 1
- STD T4
- SHN -10
- NJN DSM11 IF END OF GROUP
- LJM DSM9 CHECK FOR ERRORS
- DSM11 LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- AOD T3 ADVANCE ERROR WORD POINTER
- LDN 2
- RAD T6
- LMN 10
- ZJN DSM13 IF END OF DISPLAY
- LDM DCTY
- ZJN DSM12 IF CC545 CONSOLE
- LDD T6
- LMN 4
- ZJN DSM13 IF END OF DISPLAY FOR CDC 721 CONSOLE
- DSM12 LJM DSM8 CHECK FOR ERRORS
- DSM13 LJM DSMX RETURN
- DSMB CON 0 REREAD COUNTER
- DSMC BSS 4 ERROR INDICATION TEMPORARIES
- DISPLAY (DISPLAYS T,U. - TEXT DISPLAYS.)
- DST SPACE 4,10
- *** DISPLAY T. TEXT DISPLAY.
- *
- * DISPLAYS TEXT FROM CENTRAL MEMORY IN CODED LINES.
- * LINES ARE FOLDED AT 60 CHARACTERS.
- DST ENTRY DST
- DST SUBR ENTRY/EXIT
- DISPHD (DIS T. TEXT DISPLAY.)
- LDC DSTA DISPLAY CHARACTER TEXT
- RJM DCT
- UJN DSTX RETURN
- DSU SPACE 4,10
- *** DISPLAY U. TEXT DISPLAY.
- *
- * DISPLAYS TEXT FROM CENTRAL MEMORY IN CODED LINES.
- * LINES ARE FOLDED AT 60 CHARACTERS.
- DSU ENTRY DSU
- DSU SUBR ENTRY/EXIT
- DISPHD (DIS U. TEXT DISPLAY.)
- LDC DSUA DISPLAY CHARACTER TEXT
- RJM DCT
- UJN DSUX RETURN
- DCT SPACE 4,10
- ** DCT - DISPLAY CHARACTER TEXT.
- *
- * ENTRY (A) = ADDRESS TABLE ADDRESS.
- *
- * USES T1, T4, T5, T6, T7, CM - CM+4.
- *
- * CALLS CYC, DLA, D6S, SMD.
- DCT SUBR ENTRY/EXIT
- STD T1
- DISPLA CH01,BL01,(ADDRESS =)
- LDI T1 SET DISPLAY ADDRESS
- STD T6
- SHN 14
- ADM 2,T1
- STD T7
- RJM D6S DISPLAY ADDRESS
- LDC LN06 SET Y-COORDINATE
- STD YC
- LCN 0 SET WORD COUNTER
- STD T5
- LDN T6 SET POINTER TO ADDRESS
- STD T2
- LDD SM GET SECURITY MODE
- STD T8
- * PROCESS END OF LINE.
- DCT1 LCN 0 RESET CHARACTER COUNT
- STD T4
- RJM DLA DISPLAY LINE ADVANCE
- DCT2 MJN DCTX IF END OF SCREEN
- * DISPLAY LINE.
- DCT3 AOD T5 ADVANCE MEMORY INDEX
- LDD T6 CHECK ADDRESS .LE. 131K
- SHN 14
- ADD T7
- ADD T5
- MJN DCT2 IF ADDRESS .GT. 131K
- SHN 14 READ MEMORY
- ADD RA
- SHN 6
- CRD CM
- AOD T4 ADVANCE CHARACTER COUNT
- LMN 6
- NJN DCT3.5 IF NOT END OF SCREEN
- STD T4 RESET CHARACTER COUNT
- RJM DLA DISPLAY LINE ADVANCE
- MJN DCT2 IF END OF SCREEN
- DCT3.5 RJM SMD SECURE MEMORY DISPLAY
- ZJN DCT4 IF WORD MAY BE DISPLAYED
- LDN DCMFL DISPLAY SECURITY BLANKET
- OAM DCMF,CH
- UJN DCT1 CONTINUE
- DCT4 LDM DCTY
- ZJN DCT5 IF THE CONSOLE IS A CC545
- RJM CYC CHECK Y-COORDINATES
- DCT5 LDN 5 DISPLAY WORD
- OAM CM,CH
- LDD CM+4
- ZJP DCT1 IF END OF LINE
- LJM DCT3 CONTINUE
- CYC SPACE 4,10
- ** CYC - CHECK Y-COORDINATES.
- *
- * ENTRY (CM - CM+4) = WORD TO BE CHECKED.
- *
- * EXIT OUT OF BOUNDS Y-COORDINATES REPLACED WITH *LN06*.
- *
- * USES T0.
- CYC SUBR ENTRY/EXIT
- LDN CM CHECK Y-COORDINATES
- STD T0
- CYC1 LDI T0
- ADC -LN51
- MJN CYC3 IF BYTE IS NOT A Y-COORDINATE
- ADK -LN46+LN51
- MJN CYC2 IF Y-COORDINATE IS IN THE TRAILER AREA
- ADK -LN06-1+LN46
- MJN CYC3 IF Y-COORDINATE IS NOT IN THE HEADER AREA
- CYC2 LDC LN06 FORCE Y-COORDINATE TO LINE BELOW ADDRESS
- STI T0
- CYC3 AOD T0
- SBN CM+5
- MJN CYC1 IF MORE BYTES TO CHECK
- UJN CYCX RETURN
- DISPLAY (DISPLAY V. - CENTRAL MEMORY BUFFER.)
- DSV SPACE 4
- *** *V* DISPLAY.
- *
- * DISPLAY CM. THE DISPLAY TERMINATES AFTER 240 WORDS
- * HAVE BEEN DISPLAYED ON A CC545 OR 120 WORDS HAVE
- * BEEN DISPLAYED ON A CDC 721.
- DSV ENTRY DSV
- DSV SUBR ENTRY/EXIT
- DISPHD (DIS V. CM BUFFER.)
- DISPLA CH01,BL01,(ADDRESS =)
- LDM DSVA SET DISPLAY ADDRESS
- LPN 37
- STD T6
- SHN 14
- LMM DSVA+1
- STD T7
- RJM D6S DISPLAY ADDRESS
- LDN 50 SET LOOP COUNT FOR 40 GROUPS OF 6
- STD T5
- LDM DCTY
- ZJN DSV1 IF CC545 CONSOLE
- LDN 24 SET LOOP COUNT FOR 20 GROUPS OF 6
- STD T5
- DSV1 LDC LN06 SET Y-COORDINATE
- STD YC
- DSV2 RJM DLA DISPLAY LINE ADVANCE
- LDN 6 SET GROUP SIZE
- STD T1
- LDN 0
- STD T2
- LDD T6 CHECK FWA .LE. 131K
- SHN 14
- LMD T7
- PJN DSV3 IF FWA .LE. 131K
- LJM DSVX RETURN
- DSV3 ADN 6 CHECK FOR FINAL GROUP
- PJN DSV4 IF NOT FINAL GROUP
- LPN 7 SET FINAL GROUP SIZE
- LMN 7
- ADN 1
- STD T1
- DSV4 LDD T6 GET LWA
- SHN 14
- LMD T7
- ADD T1
- SHN -6 CHECK LWA
- SBD FL
- MJN DSV7 IF WORD GROUP MAY BE DISPLAYED
- NJN DSV5 IF WORD GROUP IS SECURED AREA
- LDD T7 DETERMINE NUMBER OF SECURED WORDS
- ADD T1
- LPN 77
- STD T2
- SBD T1
- MJN DSV6 IF NOT ALL WORDS ARE IN SECURED AREA
- DSV5 LDD T1
- STD T2
- DSV6 LDD T1 NUMBER OF WORDS WHICH CAN BE DISPLAYED
- SBD T2
- STD T1
- DSV7 LDD T1
- ZJN DSV8 IF NO WORDS TO DISPLAY
- LDD T6 READ GROUP OF CM WORDS
- SHN 6
- ADD RA
- SHN 6
- ADD T7
- CRM DSVC,T1
- LDM DCTY
- ZJN DSV7.1 IF THE CONSOLE IS A CC545
- RJM CYC CHECK Y-COORDINATES
- DSV7.1 LDD T1 DISPLAY GROUP OF CM WORDS
- SHN 2
- ADD T1
- OAM DSVC,CH
- DSV8 LDD T2
- ZJN DSV9 IF NO SECURITY BLANKETS TO DISPLAY
- SHN 2
- ADD T2
- OAM DSVD,CH DISPLAY SECURITY BLANKETS
- DSV9 LDD T1 INCREMENT GROUP ADDRESS
- ADD T2
- RAD T7
- SHN -14
- RAD T6
- SOD T5 DECREMENT GROUP COUNT
- ZJN DSV10 IF ALL GROUPS DISPLAYED
- LJM DSV2 DISPLAY NEXT LINE
- DSV10 LJM DSVX RETURN
- DSVC BSS 6*5 SCRATCH AREA FOR CURRENT LINE
- DSVD BSS 0
- DUP 6,1
- DATA C$* SECURE *$
- CYC SPACE 4,10
- ** CYC - CHECK Y-COORDINATES.
- *
- * ENTRY (T1) = NUMBER OF WORDS TO BE CHECKED.
- * (DSVC - DSVC+(T1)*5-1) = WORDS TO BE CHECKED.
- *
- * EXIT OUT OF BOUNDS Y-COORDINATES REPLACED WITH *LN06*.
- *
- * USES T1, T4.
- CYC SUBR ENTRY/EXIT
- LDD T1
- SHN 2
- ADD T1
- STD T4
- CYC1 SOD T4
- MJN CYCX IF DONE, RETURN
- LDM DSVC,T4
- ADC -LN51
- MJN CYC1 IF BYTE IS NOT A Y-COORDINATE
- ADK -LN46+LN51
- MJN CYC2 IF Y-COORDINATE IS IN THE TRAILER AREA
- ADK -LN06-1+LN46
- MJN CYC1 IF Y-COORDINATE IS NOT IN THE HEADER AREA
- CYC2 LDC LN06 FORCE Y-COORDINATE TO LINE BELOW ADDRESS
- STM DSVC,T4
- UJN CYC1 CHECK NEXT BYTE
- DISPLAY (DISPLAY Y. - MONITOR FUNCTIONS.)
- DSY SPACE 4
- *** *Y* DISPLAY.
- *
- * DISPLAY MNEMONICS AND VALUES OF ALL MONITOR FUNCTIONS.
- DSY ENTRY DSY
- DSY SUBR ENTRY/EXIT
- DISPHD (DIS Y. MONITOR FUNCTIONS.)
- * LDN 0 CLEAR FUNCTION TABLE INDEX
- STD T6
- STD T7
- LDC CH01 SET X-COORDINATE
- STD XC
- DSY1 LDM CTOS SET Y-COORDINATE TO (*CTOS*) OR *LN06*
- SBK LN06
- MJN DSY1.1 IF STARTING LINE IS BELOW LINE 6
- LDN 0
- DSY1.1 ADK LN06
- STD YC
- DSY2 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDN 2 ADVANCE TABLE
- RAD T7
- LDM TFTN,T7
- NJN DSY3 IF NOT END OF TABLE
- LDC CH01 RESET X-COORDINATE
- STD XC
- LJM DSYX RETURN
- DSY3 LDD T7 DISPLAY VALUE
- SHN -1
- RJM D4S
- LDM TFTN,T7 DISPLAY FUNCTION NAME
- OAN CH+40
- LDM TFTN+1,T7
- OAN CH+40
- LDD T7
- LPN 37
- NJN DSY4 IF NOT END OF COLUMN
- LDC XINC*14 ADVANCE X-COORDINATE
- RAD XC
- LJM DSY1 LOOP
- DSY4 LPN 17
- ZJN DSY5 IF DOUBLE SPACING
- LDN YINC/2+1 DECREMENT Y-COORDINATE
- SBM DCTY
- SHN -1+22
- DSY5 ADM DCTY
- SBN YINC/2+1
- SHN 2
- RAD YC
- LJM DSY2 LOOP
- SPACE 4
- * COMMON DECKS.
- *CALL COMDTFN
- CON 0
- DISPLAY (DISPLAY Z. - DIRECTORY.)
- DSZ SPACE 4
- *** *Z* DISPLAY.
- *
- * DISPLAY DIRECTORY OF ALL DISPLAYS.
- DSZ ENTRY DSZ
- DSZ SUBR ENTRY/EXIT
- DISPHD (DIS Z. DIRECTORY.)
- LCN 0 CLEAR INDEX
- STD T1
- LDC CH13 SET X-COORDINATE
- STD XC
- LDM CTOS SET Y-COORDINATE TO (*CTOS*) OR *LN06*
- SBK LN06
- MJN DSZ0 IF STARTING LINE IS BELOW LINE 6
- LDN 0
- DSZ0 ADK LN06
- STD YC
- DSZ1 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- DSZ2 AOD T1 ADVANCE BYTE
- LDM DSZA,T1 OUTPUT BYTE
- OAN CH+40
- NJN DSZ2 IF NOT END OF MESSAGE
- LDM DCTY DECREMENT Y-COORDINATE
- SHN 1
- SBN YINC+2
- RAD YC
- LDM DSZA+1,T1 CHECK NEXT MESSAGE
- NJN DSZ1 IF NOT EMPTY MESSAGE
- LDC CH01 RESET X-COORDINATE
- STD XC
- LJM DSZX RETURN
- DSZA BSS 0
- DATA C*LEFT SCREEN ONLY DISPLAY*
- DATA C* * BLANK LINE
- DATA C*A JOB DAYFILE.*
- DATA C*F CENTRAL MEMORY. FOUR GROUPS OF FIVE.*
- DATA C*G CENTRAL MEMORY. FOUR GROUPS OF FIVE.*
- DATA C*H FILE STATUS.*
- DATA C*M EXTENDED MEMORY.*
- DATA C*T TEXT DISPLAY.*
- DATA C*U TEXT DISPLAY.*
- DATA C*V CM BUFFER.*
- DATA C*X EXCHANGE PACKAGE.*
- DATA C*Y MONITOR FUNCTIONS.*
- DATA C*Z DIRECTORY.*
- DATA C* * BLANK LINE
- DATA C* * BLANK LINE
- DATA C*LEFT AND RIGHT SCREEN DISPLAYS*
- DATA C* * BLANK LINE
- DATA C*B JOB STATUS.*
- DATA C*C CENTRAL MEMORY. FIVE GROUPS OF FOUR.*
- DATA C*D CENTRAL MEMORY. FIVE GROUPS OF FOUR.*
- DATA C*N BLANK SCREEN.*
- DATA 0 END OF TABLE
- TITLE OVERLAY CONTROL.
- * TERMINATE DISPLAY OVERLAYS.
- QUAL
- HERE
- DIS HERE
- USE END FORCE /LITERALS*/
- SPACE 4
- * OVERLAY CONTROL.
- .L MAX *,.L
- .L SET .L+4-OVD
- .L SET .L/5*5+OVD
- OVL EQU .L+5
- TTL DIS - COMMAND OVERLAYS.
- COMMAND (CPU COMMANDS.)
- ENTL, SPACE 4
- *** ENTL,XXXXXX.
- *
- * ENTER CPU TIME LIMIT OF XXXXXX SECONDS.
- ETL ENTRY
- RJM ASD ASSEMBLE DIGITS
- LDD AB+3 ENTER TIME LIMIT
- LPN 77
- STD CM+3
- LDD AB+4
- STD CM+4
- LDN RLTL SET TIME LIMIT SUBFUNCTION
- STD CM+1
- MONITOR RLMM
- JMP KBR RETURN
- GO. SPACE 4
- *** GO.
- *
- * CLEAR PAUSE BIT.
- GGO ENTRY
- LDN ZERL
- CRD AB
- LDD CP READ SWITCH WORD
- ADN SNSW
- CRD CM
- LDD CM+3 CLEAR PAUSE BIT
- SCN 1
- STD CM+3
- LDD CP STORE SWITCH WORD
- ADN SNSW
- CWD CM
- ADN MS2W-SNSW CLEAR MESSAGE 2
- CWD AB
- LDD RA READ (RA)
- SHN 6
- CRD CM
- LDD CM+3 CLEAR PAUSE BIT
- SCN 1
- STD CM+3
- LDD RA RESTORE (RA)
- SHN 6
- CWD CM
- MONITOR RCLM RECALL CPU
- JMP KBR RETURN
- RCP. SPACE 4
- *** RCP.
- *
- * REQUEST CENTRAL PROCESSOR.
- RCP ENTRY
- RJM ECP END CENTRAL PROGRAM
- RJM BCP BEGIN CENTRAL PROGRAM
- JMP KBR RETURN
- RCS. SPACE 4
- *** RCS.
- *
- * READ AND EXECUTE FOLLOWING COMMANDS.
- *
- * USES KM, CM - CM+4.
- RCS ENTRY
- LDC CJSA SET AUTO COMMAND MODE
- STD KM
- RJM CAJ CHECK JOB ACTIVITY
- ZJN RNS1 IF NOT ACTIVE
- JMP KBR RETURN
- RNS. SPACE 4
- *** RNS.
- *
- * READ AND EXECUTE NEXT COMMAND.
- RNS ENTRY
- LDN 0 CLEAR RSS
- RNS1 STD T1
- LDD CP READ COMMAND POINTER
- ADN CSPW
- CRD CM
- LDD CM+3
- LMD CM+4
- NJN RNS2 IF BUFFER NOT EMPTY
- LDD CM+1 CHECK STATUS
- SHN 6
- MJN RNS3 IF EOR
- RNS2 LDC 20000 CALL *1AJ*
- LMD T1
- RJM IAJ
- RNS3 JMP KBR RETURN
- RSS. SPACE 4
- *** RSS.
- *
- * READ COMMAND AND STOP BEFORE EXECUTION.
- RSS ENTRY
- LDN 1 SET RSS
- JMP RNS1
- DCP. SPACE 4
- *** DCP.
- *
- * DROP CENTRAL PROCESSOR.
- SCP ENTRY
- RJM ECP END CENTRAL PROGRAM
- LDN 0 CLEAR AUTO MODE
- STD KM
- JMP KBR RETURN
- COMMAND (BREAKPOINT PROCESSING.)
- BKPA SPACE 4,10
- *** BKPA,XXXXXX.
- *
- * BREAKPOINT CENTRAL PROGRAM TO XXXXXX WITH ASSIGNED PP-S.
- BKA ENTRY
- LDC * SET *BKPA*
- ORG *-1
- LOC DISE
- UJN DIS2 CHECK BREAKPOINT ADDRESS
- LOC *O
- UJN BKP1
- BKP SPACE 4,10
- *** BKP,XXXXXX.
- *
- * BREAKPOINT CENTRAL PROGRAM TO XXXXXX.
- BKP ENTRY
- LDC SODI+CM SET *BKP*
- BKP1 STM DISE SET BREAKPOINT TYPE
- LDD CA ASSEMBLE ADDRESS
- RJM ASD
- RJM ECP END CENTRAL PROGRAM
- UJN BPP BREAKPOINT PROGRAM
- BPI SPACE 4,10
- ** BPI - BREAKPOINT P INCREMENT.
- *
- * ENTRY (CA) = 0, IF INCREMENT.
- * = 2, IF DECREMENT.
- BPI ENTRY
- LDD CP
- CRD CM READ P
- LDD CM
- SHN 14 ADVANCE P
- ADD CM+1
- ADN 1
- SBD CA
- STD AB+4 SAVE FOR BPP
- SHN -14
- STD AB+3
- * UJN BPP BREAKPOINT PROGRAM
- BPP SPACE 4,10
- *** BPP - BREAKPOINT PROGRAM.
- *
- * ENTRY (AB - AB+4) = BREAKPOINT ADDRESS.
- BPP ENTRY
- LDD AB+3 CHECK ENTRY
- LPN 37
- SHN 14
- LMD AB+4
- ZJN BPP1 IF BREAKPOINT AT ZERO
- SHN -6
- SBD FL
- MJN BPP2 IF NOT OUT OF RANGE
- LDC =C*OUT OF RANGE.*
- STD KM
- BPP1 UJN BPP3 EXIT
- BPP2 LDD AB+3 SET BREAKPOINT ADDRESS
- STD BA
- SHN 14
- LMD AB+4
- STD BA+1
- SHN 14 FORM JUMP TO *
- STD CM+1
- SHN -6
- SCN 77
- STD CM+2
- LDC 400 SET BREAKPOINT ACTIVE FLAG
- STD BF
- STD CM
- LDN 0
- STD CM+3
- STD CM+4
- LDD BA READ INSTRUCTION WORD
- SHN 6
- ADD RA
- SHN 6
- ADD BA+1
- CRM RBWA,ON
- SBN 1 STORE JUMP
- CWD CM
- RJM BCP BEGIN CENTRAL PROGRAM
- BPP3 LJM KBR EXIT
- MBK SPACE 4,10
- *** MBK - MONITOR BREAKPOINT.
- *
- * USES KM, CM - CM+4.
- *
- * CALLS RBW.
- *
- * MACROS MONITOR.
- MBK ENTRY
- LDN ZERL
- CRD CM
- LDD BA
- STD CM+3 SET BREAKPOINT ADDRESS INTO *RPNM* REQUEST
- LDD BA+1
- STD CM+4
- MONITOR RPNM
- LDD CM+4
- NJN MBK1 IF BREAKPOINT NOT ENCOUNTERED
- RJM RBW RESTORE BREAKPOINT WORD
- LDD KM
- LMC CJSA
- NJN MBK1 IF NOT *AUTO MODE*
- STD KM CLEAR *AUTO MODE*
- MBK1 LJM DIS3 RETURN
- COMMAND (STATEMENT ENTRY.)
- ELS. SPACE 4
- *** ELS.CCC - CCC
- *
- * ENTER CHARACTERS CCC - CCC AS LAST COMMAND.
- ELS ENTRY
- RJM CJA CHECK JOB ACTIVITY
- LDD CM+3 CHECK BUFFER
- LMD CM+4
- NJN ELS2 IF BUFFER NOT EMPTY
- LDC CSBN
- STD CM+3
- STD CM+4
- LDD CM+1 CHECK COMMAND FILE
- SHN 6
- MJN ELS2 IF EOR
- LDC =C*COMMANDS ON FILE.*
- STD KM
- UJN ELS4
- ELS2 LDI CA
- ZJN ELS4 IF KEYBOARD BUFFER EMPTY
- RJM EST
- ZJN ELS3 IF BUFFER NOT FULL
- LDC =C*COMMAND BUFFER FULL.*
- STD KM
- UJN ELS4
- ELS3 LDD CP STORE COMMAND POINTER
- ADN CSPW
- CWD CM
- ELS4 LDD KM
- ZJN ELS5 IF NO KEYBOARD MESSAGE
- LMC CJSA
- NJN ELS7 IF KEYBOARD MESSAGE SET
- ELS5 LDN 4 SET KEYBOARD MESSAGE
- STD KI
- STD T1
- ELS6 LDN 0 CLEAR REMAINDER OF BUFFER
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN ELS6
- ELS7 JMP KBI3 RETURN
- ENS. SPACE 4
- *** ENS.CCC - CCC
- *
- * ENTER CHARACTERS CCC - CCC AS NEXT COMMAND.
- ENS ENTRY
- RJM CJA CHECK JOB ACTIVITY
- LDD CM+1 SET EOR FLAG
- LPC 3777
- LMC 4000
- STD CM+1
- LDC CSBN SET BUFFER EMPTY
- STD CM+3
- STD CM+4
- RJM EST ENTER STATEMENT
- LDD CP STORE COMMAND POINTER
- ADN CSPW
- CWD CM
- JMP KBR RETURN
- CJA SPACE 4,10
- ** CJA - CHECK JOB ACTIVITY AND RETURN COMMAND POINTER.
- *
- * EXIT TO KBI3, IF ACTIVITY EXITS.
- * (CM - CM+4) = CSPW WORD.
- *
- * CALLS CAJ.
- CJA1 LDD CP FETCH COMMAND POINTER WORD
- ADN CSPW
- CRD CM
- CJA SUBR ENTRY/EXIT
- RJM CAJ CHECK ACTIVE JOB
- ZJN CJA1 IF NO ACTIVITY
- LDC INTF MESSAGE = *JOB ACTIVE.*
- STD KM
- JMP KBI3 RETURN
- EST SPACE 4
- ** EST - ENTER STATEMENT (COMMAND).
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- * (CM+4) = COMMAND BUFFER LIMIT POINTER.
- *
- * EXIT (A) = 0 IF BUFFER NOT FULL.
- *
- * USES T1.
- *
- * CALLS ASC.
- *
- * MACROS NFA.
- EST SUBR ENTRY/EXIT
- LDD CA SET CHARACTER ADDRESS
- STD T1
- LDI T1
- ZJN ESTX RETURN IF KEYBOARD BUFFER EMPTY
- EST1 LDD T1 ASSEMBLE CHARACTERS
- RJM ASC
- NFA CM+4,R STORE WORD
- CWD AB
- SOD CM+4 ADVANCE LIMIT POINTER
- LDD AB+4
- ZJN ESTX IF END OF COMMAND, RETURN
- LDD CM+4
- LMC CSBN-110
- NJN EST1 IF COMMAND BUFFER NOT FULL
- LDN 1
- UJN ESTX RETURN
- COMMAND (EXECUTE COMMANDS.)
- GTO SPACE 4
- *** BEGIN,CCC-CCC
- * OR
- * CALL,CCC-CCC
- * OR
- * GOTO,CCC-CCC
- * OR
- * ENTER./CCCCCCC./CCCCCCC./
- *
- * SET AUTO COMMAND PROCESSING AND EXECUTE COMMAND.
- GTO ENTRY
- LDD CP READ COMMAND POINTER
- ADN CSSW
- CRD CM
- LDD CM
- LPC 5777 CLEAR ADVANCE TO EXIT FLAG
- STD CM
- LDD CP
- ADN CSSW
- CWD CM
- ESX ENTRY
- LDC CJSA SET AUTO COMMAND PROCESSING
- STD KM
- LDC KBUF
- STD CA
- X. SPACE 4
- *** X.CCC - CCC
- * OR
- * CCC - CCC
- *
- * EXECUTE CHARACTERS CCC - CCC AS NEXT COMMAND.
- EXC ENTRY
- LDI CA
- ZJN EXC3 IF KEYBOARD BUFFER EMPTY
- RJM EST ENTER STATEMENT
- LDD CP CHECK SPECIAL ENTRY PENDING
- ADC SEPW
- CRD CM
- LDD CM
- LPN 24
- ZJN EXC1 IF NOT PENDING
- LDC LDNI+1 SET SPECIAL CALL FLAG
- STM CJSD
- LDN 2
- UJN EXC2 CLEAN UP SPECIAL ENTRY POINTS
- EXC1 LDC 20006 CALL *1AJ*
- EXC2 RJM IAJ
- EXC3 JMP KBR RETURN
- ROLLOUT. SPACE 4
- *** ROLLOUT.
- *
- * ALLOW JOB TO ROLLOUT.
- ROL ENTRY
- LDN ROSR SELECT SCHEDULER ROLLOUT OPTION
- UJN ROL4 ISSUE *ROCM*
- ROL1 SPACE 4,10
- *** ROLLOUT,XXXX.
- *
- * SET TIMED ROLLOUT OF XXXX JOB SCHEDULER TIME PERIODS.
- * IF XXXX .GT. 7777B, 7777B WILL BE USED.
- ROL1 ENTRY
- RJM ASD
- LDD AB+3 SET ROLLOUT TIME
- NJN ROL2 IF MAXIMUM ROLLOUT TIME EXCEEDED
- LDD AB+4
- UJN ROL3 STORE ROLLOUT TIME IN *TERW*
- ROL2 LDC 7777 SET MAXIMUM TIME
- ROL3 STD CM+4 SET TIME
- LDK EXTM/10000 SET EVENT DESCRIPTOR
- STD CM+3
- LDN 0 CLEAR MULTIPLIER
- STD CM+2
- LDD MA WRITE TIMED/EVENT PARAMETERS TO MB
- CWD CM
- LDN ROTE SET TIMED/EVENT ROLLOUT OPTION
- ROL4 STD CM+1
- MONITOR ROCM ROLLOUT CONTROL POINT
- LJM RPP SET *DIS* RECALL AND DROP PP
- RSS, SPACE 4
- *** RSS,CCC-CCC
- *
- * READ COMMAND CCC-CCC AND STOP BEFORE EXECUTION.
- RSN ENTRY
- LDI CA
- ZJN RSN1 IF KEYBOARD BUFFER EMPTY
- RJM EST ENTER STATEMENT
- LDC 20007 CALL *1AJ*
- RJM IAJ
- RSN1 JMP KBR RETURN
- EST SPACE 4
- ** EST - ENTER (STATEMENT) COMMAND.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * USES T1, T3.
- *
- * CALLS ASC.
- EST SUBR ENTRY/EXIT
- LDN MS1W SET ADDRESS FOR COMMAND
- STD T3
- LDD CA SET CHARACTER ADDRESS
- STD T1
- LDI T1
- ZJN ESTX RETURN IF KEYBOARD BUFFER EMPTY
- EST1 LDD T1 ASSEMBLE CHARACTERS
- RJM ASC
- LDD CP STORE WORD
- ADD T3
- CWD AB
- AOD T3 ADVANCE COMMAND ADDRESS
- LDD AB+4
- ZJN ESTX IF END OF COMMAND
- LDD T3
- LMN MS2W
- NJN EST1 IF NOT END OF BUFFER
- LDC =C*COMMAND TOO LONG.*
- STD KM
- JMP KBR RETURN
- COMMAND (ENTER REGISTER.)
- ENA, SPACE 4
- *** ENAX,YYYYYY.
- *
- * ENTER *A* REGISTER *X* WITH YYYYYY.
- ENA ENTRY
- RJM REG SET UP REGISTER ENTRY
- LDD CP READ REGISTER WORD
- ADD T7
- CRD CM
- LDD AB+3 REPLACE A REGISTER
- LPN 77
- SHN 14
- LMD AB+4
- SHN 14
- STD CM+2
- SHN -6
- LMD CM+3
- SCN 77
- LMD CM+3
- STD CM+3
- LDD CP RESTORE REGISTER WORD
- ADD T7
- CWD CM
- JMP KBR RETURN
- ENB, SPACE 4
- *** ENBX,YYYYYY.
- *
- * ENTER *B* REGISTER *X* WITH YYYYYY.
- ENB ENTRY
- RJM REG SET UP REGISTER ENTRY
- LDD CP READ REGISTER WORD
- ADD T7
- CRD CM
- LDD AB+4 REPLACE B REGISTER
- STD CM+4
- LDD AB+3
- LMD CM+3
- LPN 77
- LMD CM+3
- STD CM+3
- LDD CP RESTORE REGISTER WORD
- ADD T7
- CWD CM
- JMP KBR RETURN
- ENEM, SPACE 4
- *** ENEM,X.
- *
- * ENTER EXIT MODE WITH X.
- ENE ENTRY
- RJM ASD ASSEMBLE DIGITS
- RJM ECP END CENTRAL PROGRAM
- LDD CP READ EXCHANGE PACKAGE
- ADN 3
- CRD CM
- LDD AB+4 SET EXIT MODE
- LMD CM
- LPC 7007 RETAIN EXCHANGE PACKAGE FLAG BITS
- LMD CM
- STD CM
- LDD CP STORE EXCHANGE PACKAGE
- ADN 3
- CWD CM
- JMP KBR RETURN
- ENP, SPACE 4
- *** ENP,XXXXXX.
- *
- * ENTER *P* REGISTER WITH XXXXXX.
- ENP ENTRY
- RJM ASD ASSEMBLE DIGITS
- RJM ECP END CENTRAL PROGRAM
- LDD CP READ WORD
- CRD CM
- LDD AB+3 REPLACE P
- LPN 37
- STD CM
- LDD AB+4
- STD CM+1
- LDD CP RESTORE WORD
- CWD CM
- JMP KBR RETURN
- ENPR, SPACE 4
- *** ENPR,XX.
- *
- * ENTER PRIORITY OF XX.
- * IF NN = *, SET PRIORITY TO SERVICE CLASS VALUE.
- EPR ENTRY
- STD T1 SAVE CHARACTER ADDRESS
- LDI T1
- LMN 1R*
- NJN EPR1 IF NOT ENPR,*.
- LDM 1,T1
- LMN 1R.
- NJP ILL IF COMMAND NOT TERMINATED
- LDN 0 SET PRIORITY TO SERVICE CLASS VALUE
- STD CM+4
- UJN EPR5 CHECK CURRENT CPU PRIORITY
- EPR1 LDD T1
- RJM ASD
- LDD AB+4 SET REQUESTED PRIORITY
- STD CM+4
- SBN LJCS
- PJN EPR4 IF .GE. LOWEST USER JOB PRIORITY
- EPR3 LDC =C*INCORRECT PRIORITY.*
- STD KM
- JMP KBR RETURN
- EPR4 SBN LSCS-LJCS
- PJN EPR3 IF NOT .LT. SYSTEM PRIORITIES
- EPR5 LDD CP CHECK CURRENT PRIORITY
- ADN CWQW
- CRD T1
- LDD T1
- SHN -3
- ADC -200-LSCS
- PJN EPR3 IF NOT .LT. SYSTEM PRIORITIES
- LDN CPRS CHANGE CPU PRIORITY
- STD CM+1
- MONITOR SJCM
- JMP KBR RETURN
- REG SPACE 4
- ** REG - SET UP REGISTER ENTRY.
- *
- * EXIT (T7) = REGISTER NUMBER.
- *
- * CALLS ASD, ECP.
- REG2 LDM KBUF+3 CHECK 4TH CHARACTER
- SBN 1R0
- MJN REG1 IF ALPHA
- STD T7 SET REGISTER NUMBER
- SBN 10
- PJN REG1 IF NOT OCTAL DIGIT
- LDC KBUF+5 ASSEMBLE ENTRY
- RJM ASD
- RJM ECP END CENTRAL PROGRAM
- REG SUBR ENTRY/EXIT
- LDM KBUF+4 CHECK 5TH CHARACTER
- LMN 1R,
- ZJN REG2 IF *,*
- REG1 LJM ILL INCORRECT ENTRY
- COMMAND (ENTER X REGISTER.)
- ENX, SPACE 4
- *** ENXY,ZZZZ - ZZZZ.
- * ENTER *X* REGISTER *Y* WITH ZZZZ - ZZZZ.
- *
- * ENXY,LZZZZ - ZZZZ.
- * ENTER *X* REGISTER *Y* WITH ZZZZ - ZZZZ LEFT JUSTIFIED.
- *
- * ENXY,DCCCC - CCCC
- * ENTER *X* REGISTER *Y* WITH CHARACTERS CCCC - CCCC.
- *
- * ENXY,B,ZZZZ.
- * ENTER BYTE B OF *X* REGISTER *Y* WITH ZZZZ.
- *
- ENX ENTRY
- LDM KBUF+4 CHECK 5TH CHARACTER
- LMN 1R,
- ZJN ENX2 IF *,*
- ENX1 LJM ILL INCORRECT ENTRY
- ENX2 LDM KBUF+3 CHECK 4TH CHARACTER
- SBN 1R0
- MJN ENX1 IF ALPHA
- STD T7
- SBN 10
- PJN ENX1 IF NOT OCTAL DIGIT
- LDN 0 SET ADDRESS
- STD T6
- LDD CP
- ADN 10
- RAD T7
- RJM ECP END CENTRAL PROGRAM
- LDC KBUF+4 SET CHARACTER ADDRESS
- STD T1
- RJM EWD ENTER WORD
- JMP KBR RETURN
- EWD SPACE 4
- ** EWD - ENTER WORD.
- *
- * ENTRY (T1) = CHARACTER ADDRESS.
- * (T6 - T7) = CM ADDRESS ABSOLUTE.
- *
- * USES T1, T5, AB - AB+4.
- *
- * CALLS CDR, CDL, ENI, ASC.
- EWD SUBR ENTRY/EXIT
- AOD T1 CHECK NEXT CHARACTER
- LDI T1
- LMN 1RD
- NJN EWD1 IF NOT *D*
- AOD T1 ASSEMBLE CHARACTERS
- RJM ASC
- LJM EWD5 STORE WORD
- EWD1 LMN 1RL&1RD
- NJN EWD2 IF NOT *L*
- AOD T1 ASSEMBLE DIGITS LEFT ADJUSTED
- RJM CDL
- LMN 1R,
- UJN EWD3 CHECK SEPARATOR
- EWD2 LDD T1 CONVERT DIGITS RIGHT ADJUSTED
- RJM CDR
- LMN 1R,
- NJN EWD3 IF NOT *,*
- LDD AB+4 SAVE BYTE NUMBER
- STD T5
- SBN 5
- PJN EWD4 IF > 4
- AOD T1 ASSEMBLE DIGITS
- RJM ASD
- LDD AB+4 SAVE ENTRY
- STD T1
- LDD T6 READ WORD
- SHN 14
- ADD T7
- CRD AB
- LDD T1 STORE BYTE
- STM AB,T5
- UJN EWD5 STORE WORD
- EWD3 LMN 1R.&1R,
- ZJN EWD5 IF *.*
- EWD4 LJM ILL INCORRECT ENTRY
- EWD5 LDD T6 STORE WORD
- SHN 14
- ADD T7
- CWD AB
- LJM EWDX RETURN
- CDL SPACE 4
- ** CDL - CONVERT DIGITS LEFT JUSTIFIED.
- *
- * ENTRY (A) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = NON-OCTAL CHARACTER FOUND.
- * (AB - AB+4) = LEFT JUSTIFIED ASSEMBLY.
- *
- * USES T1, T2.
- *
- * CALLS NONE.
- CDL SUBR ENTRY/EXIT
- STD T1 STORE CHARACTER ADDRESS
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- LDN AB SET BYTE ADDRESS
- STD T2
- CDL1 LDC SHNI&11 SET SHIFT
- STM CDLA
- CDL2 LDI T1 CHECK CHARACTER
- SBN 1R0
- MJN CDL4 IF ALPHA
- SBN 1R8-1R0
- MJN CDL3 IF OCTAL DIGIT
- SBN 1R -1R8
- NJN CDL4 IF NOT SPACE
- AOD T1 SKIP SPACE
- UJN CDL2 LOOP
- CDL3 ADN 10 STORE DIGIT
- CDLA SHN 11
- RAI T2
- AOD T1 ADVANCE CHARACTER
- LCN 3 ADVANCE SHIFT
- RAM CDLA
- SHN -11
- NJN CDL2 LOOP FOR 4 DIGITS
- AOD T2 ADVANCE BYTE
- LMN AB+5
- NJN CDL1 LOOP FOR FULL WORD
- CDL4 LDI T1 LOAD CHARACTER
- LJM CDLX RETURN
- COMMAND (ENTER MEMORY.)
- ENM SPACE 4
- *** ENTER MEMORY.
- * XXXXXX,YYY - YYY. ENTER YYY - YYY IN MEMORY LOCATION XXXXXX.
- *
- * XXXXXX,LYYY - YYY. ENTER YYY - YYY LEFT JUSTIFIED IN
- * MEMORY LOCATION XXXXXX.
- *
- * XXXXXX,Y,ZZZZ. ENTER ZZZZ IN BYTE Y, (0 - 4 FROM LEFT),
- * OF MEMORY LOCATION XXXXXX.
- *
- * XXXXXX,DCCC - CCC. ENTER CHARACTERS CCC - CCC LEFT
- * JUSTIFIED IN LOCATION XXXXXX.
- *
- * SUBSTITUTING A *+* FOR THE FIRST *,*, THE ADDRESS WILL BE
- * INCREMENTED AND THE ENTRY LEFT UNCLEARED.
- ENM ENTRY
- LDC KBUF ASSEMBLE ADDRESS
- RJM CDR
- LMN 1R+
- ZJN ENM3 IF *+*
- LMN 1R,&1R+
- ZJN ENM3 IF *,*
- ENM1 JMP ILE INCORRECT ENTRY
- ENM3 LDD T1 SAVE ADDRESS OF SEPARATOR
- STD CA
- LDD AB+3 SAVE ADDRESS
- LPN 77
- STD T6
- SHN 14
- LMD AB+4
- STD T7
- PJN ENM5 IF POSITIVE MEMORY
- LMC -0
- ADN 1
- STD T7
- SBD NL
- ENM4 PJN ENM1 IF OUT OF NFL
- NFA T7,R
- STD T7 SET ABSOLUTE NFL ADDRESS
- SHN -14
- STD T6
- UJN ENM6 ENTER WORD
- ENM5 SHN -6
- SBD FL
- PJN ENM4 IF .GE. FL
- LDD RA SET ABSOLUTE ADDRESS
- SHN 6
- RAD T7
- SHN -14
- RAD T6
- ENM6 RJM EWD ENTER WORD
- LDI CA CHECK FIRST SEPARATOR
- LMN 1R+
- NJN ENM7 IF NOT *+*
- LDC EIE ENTER MEMORY/ENTER INSTRUCTION EXIT
- JMP LOV
- ENM7 JMP KBR RETURN
- EWD SPACE 4,10
- ** EWD - ENTER WORD.
- *
- * ENTRY (T1) = CHARACTER ADDRESS.
- * (T6 - T7) = CM ADDRESS ABSOLUTE.
- *
- * USES T1, T5, AB - AB+4.
- *
- * CALLS CDR, CDL, ENI, ASC.
- EWD SUBR ENTRY/EXIT
- AOD T1 CHECK NEXT CHARACTER
- LDI T1
- LMN 1RD
- NJN EWD1 IF NOT *D*
- AOD T1 ASSEMBLE CHARACTERS
- RJM ASC
- LJM EWD6 STORE WORD
- EWD1 LMN 1RI&1RD
- NJN EWD2 IF NOT *I*
- LDC ENI ENTER INSTRUCTION
- JMP LOV
- EWD2 LMN 1RL&1RI
- NJN EWD3 IF NOT *L*
- AOD T1 ASSEMBLE DIGITS LEFT ADJUSTED
- RJM CDL
- LMN 1R,
- UJN EWD4 CHECK SEPARATOR
- EWD3 LDD T1 CONVERT DIGITS RIGHT ADJUSTED
- RJM CDR
- LMN 1R,
- NJN EWD4 IF NOT *,*
- LDD AB+4 SAVE BYTE NUMBER
- STD T5
- SBN 5
- PJN EWD5 IF > 4
- AOD T1 ASSEMBLE DIGITS
- RJM ASD
- LDD AB+4 SAVE ENTRY
- STD T1
- LDD T6 READ WORD
- SHN 14
- LMD T7
- CRD AB
- LDD T1 STORE BYTE
- STM AB,T5
- UJN EWD6 STORE WORD
- EWD4 LMN 1R.&1R,
- ZJN EWD6 IF *.*
- EWD5 JMP ILE INCORRECT ENTRY
- EWD6 LDD T6 STORE WORD
- SHN 14
- LMD T7
- CWD AB
- LJM EWDX RETURN
- CDL SPACE 4
- ** CDL - CONVERT DIGITS LEFT JUSTIFIED.
- *
- * ENTRY (A) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = NON-OCTAL CHARACTER FOUND.
- * (AB - AB+4) = LEFT JUSTIFIED ASSEMBLY.
- *
- * USES T1, T2.
- CDL SUBR ENTRY/EXIT
- STD T1 STORE CHARACTER ADDRESS
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- LDN AB SET BYTE ADDRESS
- STD T2
- CDL1 LDC SHNI&11 SET SHIFT
- STM CDLA
- CDL2 LDI T1 CHECK CHARACTER
- SBN 1R0
- MJN CDL4 IF ALPHA
- SBN 1R8-1R0
- MJN CDL3 IF OCTAL DIGIT
- SBN 1R -1R8
- NJN CDL4 IF NOT SPACE
- AOD T1 SKIP SPACE
- UJN CDL2 LOOP
- CDL3 ADN 10 STORE DIGIT
- CDLA SHN 11
- RAI T2
- AOD T1 ADVANCE CHARACTER
- LCN 3 ADVANCE SHIFT
- RAM CDLA
- SHN -11
- NJN CDL2 LOOP FOR 4 DIGITS
- AOD T2 ADVANCE BYTE
- LMN AB+5
- NJN CDL1 LOOP FOR FULL WORD
- CDL4 LDI T1 LOAD CHARACTER
- LJM CDLX RETURN
- COMMAND (ENTER INSTRUCTION.)
- ENI SPACE 4
- *** ENTER INSTRUCTION.
- *
- * XXXXXX,IY,ZZZZZ. ENTER ZZZZZ IN INSTRUCTION Y, (0 - 3 FROM
- * LEFT), OF LOCATION XXXXXX. ZZZZZ MAY BE A 15 OR 30 BIT
- * INSTRUCTION. ONE OR MORE BITS MUST BE SET IN UPPER 15
- * BITS OF 30 BIT INSTRUCTION OR ENTRY WILL BE TREATED AS
- * 15 BIT OPERATION.
- *
- * SUBSTITUTING A *+* FOR THE FIRST *,*, THE ADDRESS WILL BE
- * INCREMENTED AND THE ENTRY LEFT UNCLEARED.
- ENI ENTRY
- LDC KBUF ASSEMBLE ADDRESS
- RJM CDR
- LDD T1 SAVE ADDRESS OF SEPARATOR
- STD CA
- LDD AB+3 SAVE ADDRESS
- LPN 37
- STD T6
- SHN 14
- ADD AB+4
- STD T7
- LDD T6 ADD RA TO ADDRESS
- SHN 6
- ADD RA
- SHN 6
- RAD T7
- SHN -14
- STD T6
- AOD T1 POSITION PAST *I*
- AOD T1 ASSEMBLE DIGITS
- RJM CDR
- LMN 1R,
- ZJN ENI2 IF COMMA
- ENI1 JMP ILE INCORRECT ENTRY
- ENI2 LDD AB+4 SET PARCEL COUNT
- STD T5
- SBN 4
- PJN ENI1 IF NOT LESS THAN 4
- AOD T1 ASSEMBLE ENTRY
- RJM ASD
- LDD T6 READ WORD
- SHN 14
- ADD T7
- CRD CM
- ENI3 LDM ENIB,T5 SET PARCEL ADDRESS
- STM ENIA
- LDD AB+3 CHECK INSTRUCTION
- SHN -3
- ADD AB+2
- ZJN ENI4 IF 15 BIT
- LDD AB+2 SET UPPER 15 BITS
- LPN 77
- SHN 14
- LMD AB+3
- SHN -3
- UJN ENI5
- ENI4 LDD AB+3 SET SECOND HALF
- LPN 7
- SHN 14
- LMD AB+4
- ENI5 LJM * REPLACE PARCEL
- ENIA EQU *-1
- * ENTER PARCEL 0.
- ENI6 SHN 17
- STD CM
- SHN -6
- LMD CM+1
- LPC 7000
- LMD CM+1
- STD CM+1
- UJN ENI10
- * ENTER PARCEL 1.
- ENI7 SHN 14
- LMD CM+1
- LPC 770777
- LMD CM+1
- STD CM+1
- SHN -6
- LMD CM+2
- SCN 77
- LMD CM+2
- STD CM+2
- UJN ENI10
- * ENTER PARCEL 2.
- ENI8 SHN 3
- LMD CM+3
- SCN 7
- LMD CM+3
- STD CM+3
- SHN -14
- LMD CM+2
- LPN 77
- LMD CM+2
- STD CM+2
- UJN ENI10
- * ENTER PARCEL 3.
- ENI9 STD CM+4
- SHN -14
- LMD CM+3
- LPN 7
- LMD CM+3
- STD CM+3
- * STORE WORD.
- ENI10 AOD T5 ADVANCE PARCEL COUNT
- SBN 4
- PJN ENI11
- LDD AB+3
- SHN -3
- ADD AB+2
- ZJN ENI11 IF 15-BIT INSTRUCTION
- LDN 0
- STD AB+2
- LDD AB+3
- LPN 7
- STD AB+3
- LJM ENI3 LOOP TO NEXT INSTRUCTION
- ENI11 LDD T6 STORE WORD
- SHN 14
- ADD T7
- CWD CM
- LDI CA CHECK FIRST SEPARATOR
- LMN 1R+
- ZJN ENI12 IF *+*
- JMP KBR RETURN
- ENI12 LDC EIE ENTER MEMORY/ENTER INSTRUCTION EXIT
- LJM LOV
- ENIB CON ENI6 PARCEL 0
- CON ENI7 PARCEL 1
- CON ENI8 PARCEL 2
- CON ENI9 PARCEL 3
- COMMAND (ENTER EXTENDED MEMORY.)
- SPACE 4
- *** ENTER EXTENDED MEMORY.
- *
- * XXXXXXXX,YY. ENTER YY IN EXTENDED MEMORY
- * LOCATION XXXXXXXX, WHERE YY IS FROM 1 TO 20 DIGITS.
- *
- * XXXXXXXX,Y,ZZZZ. ENTER ZZZZ IN BYTE Y (0 - 4 FROM LEFT)
- * OF EXTENDED MEMORY LOCATION XXXXXXXX.
- *
- * XXXXXXXX,DCC. ENTER CHARACTER(S) CC LEFT JUSTIFIED IN
- * EXTENDED MEMORY LOCATION XXXXXXXX WHERE CC IS FROM
- * 1 TO 10 CHARACTERS.
- *
- * SUBSTITUTING A *+* FOR THE FIRST *,* CAUSES THE
- * ADDRESS TO BE INCREMENTED AND THE ENTRY LEFT UNCLEARED.
- EEC ENTRY
- LDD EB
- SHN 14
- LMD EB+1
- NJN EEC2 IF EXTENDED MEMORY DEFINED
- EEC1 JMP ILE INCORRECT ENTRY
- EEC2 LDC KBUF+1 SET START OF ADDRESS
- RJM CDR CONVERT DIGITS RIGHT JUSTIFIED
- LMN 1R+ CHECK SEPARATOR
- ZJN EEC3 IF *+*
- LMN 1R,&1R+
- NJN EEC1 IF NOT *,*
- EEC3 LDC SHNI+77 PRESET SHIFT INSTRUCTION
- SBD UE
- STM EECA
- LDD T1 SAVE ADDRESS
- STD CA
- LDD CP READ EXTENDED MEMORY RA AND FL
- ADN ECSW
- CRD CM
- LDD AB+4 CHECK FOR ADDRESS OUT OF RANGE
- SHN -11
- SHN 17
- ADD AB+3
- SHN 3
- EECA SHN 0
- * SHN -UESC
- SBD CM+4
- PJN EEC1 IF ADDRESS .GE. FLE
- LDD MA SAVE EXTENDED MEMORY ADDRESS
- ADN 1
- CWD AB
- AOD T1 CHECK NEXT CHARACTER
- LDI T1
- LMN 1RD
- ZJN EEC6 IF *D*
- LDD T1 CONVERT DIGITS RIGHT JUSTIFIED
- RJM CDR
- LMN 1R, CHECK BYTE ENTRY
- NJN EEC4 IF NOT *,*
- LDD AB+4 SAVE BYTE NUMBER
- STD T5
- SBN 5
- PJN EEC5 IF BYTE NUMBER TOO LARGE
- AOD T1 ASSEMBLE DIGITS
- RJM ASD
- LDD AB+4 SAVE ENTRY
- STD T1
- LDN 0 READ EXTENDED MEMORY WORD
- RJM RWE
- LDD T1 STORE BYTE
- STM AB,T5
- UJN EEC7 STORE WORD
- EEC4 LMN 1R.&1R,
- ZJN EEC7 IF *.*
- EEC5 JMP ILE PROCESS INCORRECT ENTRY
- EEC6 AOD T1 ASSEMBLE CHARACTERS
- RJM ASC
- EEC7 LDN 1 WRITE EXTENDED MEMORY WORD
- RJM RWE
- LDI CA CHECK FIRST SEPARATOR
- LMN 1R+
- NJN EEC8 IF NOT *+*
- LDC EIE ENTER MEMORY/ENTER EXTENDED MEMORY EXIT
- JMP LOV LOAD OVERLAY
- EEC8 JMP KBR EXIT
- RWE SPACE 4,15
- ** RWE - READ/WRITE RELATIVE EXTENDED MEMORY WORD.
- *
- * ENTRY (A) = 0 IF TO READ RELATIVE EXTENDED MEMORY WORD.
- * = 1 IF TO WRITE RELATIVE EXTENDED MEMORY WORD.
- * (AB - AB+4) = EXTENDED MEMORY WORD IF TO WRITE.
- * (MB+1) = EXTENDED MEMORY ADDRESS.
- *
- * EXIT (AB - AB+4) = EXTENDED MEMORY WORD.
- *
- * USES T6, AB - AB+4, CM - CM+4.
- *
- * MACROS MONITOR.
- RWE SUBR ENTRY/EXIT
- STD T6 SAVE READ/WRITE FLAG
- LDD MA SAVE EXTENDED MEMORY WORD
- CWD AB
- ADN 1 GET EXTENDED MEMORY ADDRESS
- CRD CM
- LDN RRES SET TO READ RELATIVE EXTENDED MEMORY
- ADD T6 SET *ECSM* READ/WRITE SUBFUNCTION
- ERRNZ WRES-RRES-1 CODE DEPENDS ON CONSECUTIVE VALUES
- SHN 11
- RAD CM+3
- LDN 0 SET WORD COUNT TO TRANSFER 1 WORD
- STD CM+1
- LDD MA SET CM ADDRESS FOR TRANSFER
- STD CM+2
- MONITOR ECSM READ/WRITE RELATIVE EXTENDED MEMORY
- LDD MA GET EXTENDED MEMORY WORD
- CRD AB
- UJN RWEX RETURN
- COMMAND (ENTER MEMORY/ENTER INSTRUCTION EXIT.)
- EIEX SPACE 4
- ** EIE - ENTER MEMORY/ENTER INSTRUCTION EXIT.
- EIE ENTRY
- LDD CA SET PREVIOUS CHARACTER
- SBN 1
- STD T1
- EIE2 LDI T1 CHECK CHARACTER
- SBN 1RE
- NJN EIE3 IF NOT *E*
- LJM EIE11
- EIE3 AOI T1
- SBN 1R8
- MJN EIE6 IF NO OVERFLOW
- LDN 1R0 RESET NUMBER
- STI T1
- SOD T1 NEXT
- ADC -KBUF
- PJN EIE2 IF NOT PAST START OF BUFFER
- LDN KBUFL-1
- STD T1
- EIE4 LDM KBUF,T1 MOVE CONTENTS OF BUFFER
- STM KBUF+1,T1
- SOD T1
- PJN EIE4 IF BUFFER NOT MOVED
- LDN 1R1 SET FIRST CHARACTER OF BUFFER
- STM KBUF
- EIE5 AOD KI INCREMENT KEYBOARD INDEX
- AOD CA SKIP PREVIOUS CHARACTER
- EIE6 AOD CA SKIP *+*
- LDI CA CHECK NEXT CHARACTER
- LMN 1RD
- ZJN EIE7 IF *D*
- LMN 1RI&1RD
- ZJN EIE7 IF *I*
- LMN 1RL&1RI
- NJN EIE8 IF NOT *L*
- EIE7 AOD CA SKIP CHARACTER
- EIE8 LDD KM CHECK MESSAGE
- NJN EIE10 IF SET
- LDD CA SET ENTRY INDEX
- ADC -KBUF
- STD KI
- STD T1 CLEAR BUFFER
- EIE9 LDN 0
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN EIE9 IF BUFFER NOT MOVED
- EIE10 LJM KBI3 RETURN
- EIE11 LDN KBUFL-2 OVERFLOW PAST START OF ECS ADDRESS
- STD T1
- EIE12 LDM KBUF+1,T1 MOVE CONTENTS OF BUFFER
- STM KBUF+2,T1
- SOD T1
- PJN EIE12 IF BUFFER NOT MOVED
- LDN 1R1 SET FIRST CHARACTER OF ADDRESS
- STM KBUF+1
- LJM EIE5
- COMMAND (CPU PROGRAM INTERFACE COMMANDS.)
- M. SPACE 4
- *** M.CCC - CCC
- *
- * ENTER CCC - CCC AS CPU PROGRAM COMMAND.
- * DATA IS PASSED STARTING AT (RA+CCDR).
- MCU ENTRY
- LDD FL
- NJN MCU1 IF FL GREATER THAN ZERO
- LDC =C*OUT OF RANGE.*
- STD KM SET ERROR MESSAGE
- JMP KBR EXIT
- MCU1 LDN CCDR
- STD T3 SET COMMAND ADDRESS
- LDD CA SET CHARACTER ADDRESS
- STD T1
- MCU2 LDD T1
- RJM ASC ASSEMBLE CHARACTERS
- LDD RA STORE WORD
- SHN 6
- ADD T3
- CWD AB
- AOD T3 ADVANCE WORD ADDRESS
- LDD AB+4
- NJN MCU2 IF NOT END OF COMMAND
- LDN 2 SET KEYBOARD INDEX
- STD KI
- STD T1
- MCU3 LDN 0 CLEAR REMAINDER OF BUFFER
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN MCU3 LOOP
- JMP KBI3 RETURN
- N. SPACE 4
- *** N.
- *
- * SET CPU DIRECT INPUT MODE.
- NCU ENTRY
- RJM CKB CLEAR KEYBOARD BUFFER
- LDC NCUA SET KEYBOARD MESSAGE
- STD KM
- RJM KBIA SET DIRECT INPUT MODE
- * RE-ENTRY FROM KEYBOARD INPUT.
- LDD KE CHECK CHARACTER
- ZJN NCU3 IF NO INPUT
- LMN 53
- NJN NCU1 IF NOT LEFT BLANK
- AOM NCUB COUNT LEFT BLANK
- LMN 2
- NJN NCU2 IF NOT 2 IN SUCCESSION
- STD KM CLEAR KEYBOARD MESSAGE
- LDC KBI5 RESET KEYBOARD INPUT
- STM KBIA
- NCU1 LDN 0 CLEAR COUNT
- STM NCUB
- NCU2 LDD FL
- ZJN NCU3 IF NO MEMORY
- LDN ZERL STORE INPUT CHARACTER
- CRD CM
- LDD KE
- STD CM+4
- LDD RA
- SHN 6
- ADN CCDR
- CWD CM
- NCU3 JMP KBI3 RETURN
- NCUA DATA 7001B
- DATA C*DIRECT CPU INPUT.*
- NCUB CON 0
- COMMAND (ENTER FIELD LENGTH.)
- ENFL, SPACE 4
- *** ENFL,XXXXXX.
- *
- * ENTER FIELD LENGTH WITH XXXXXX. VALUE WILL BE
- * ROUNDED TO NEXT HIGHER MULTIPLE OF 100B.
- ENF ENTRY
- RJM ASD ASSEMBLE DIGITS
- RJM ECP END CENTRAL PROGRAM
- LDD CP GET NFL SIZE
- ADN FLSW
- CRD CM
- LDD AB+3 ROUND REQUEST
- LPN 77
- SHN 6
- ADD CM INCLUDE NFL IN VALIDATION
- SHN 6
- ADD AB+4
- ADN 77
- MJN ENF1 IF FL .GT. 377700
- SHN -6
- SBD CM
- STM RQSA
- LDD CP CHECK FOR EXTENDED MEMORY ASSIGNED
- ADN ECSW
- CRD CM
- LDD CM+4
- ZJN ENF0 IF NO EXTENDED MEMORY ASSIGNED
- LDM RQSA CHECK THAT REQUESTED CM IS ENOUGH FOR ECS
- ADC -MCMX/100
- MJN ENF1 IF .LT. MCMX WORDS REQUESTED WITH ECS
- ENF0 RJM RQS REQUEST STORAGE
- JMP KBR RETURN
- ENF1 LDC =C*INCORRECT FL REQUEST.*
- LJM RQS3
- RQS SPACE 4
- ** RQS - REQUEST STORAGE.
- *
- * ENTRY (RQSA) = FIELD LENGTH REQUESTED.
- *
- * CALLS RSI.
- RQS4 STD KM
- LDC KBI5 RESET KEYBOARD
- STM KBIA
- RQS SUBR ENTRY/EXIT
- LDK WCDC SET KEYBOARD MESSAGE DELAY
- STM RQSB
- RQS1 LDC * REQUESTED FIELD LENGTH
- RQSA EQU *-1
- RJM RSI
- ZJN RQS4 IF STORAGE ASSIGNED
- MJN RQS2 IF NOT AVAILABLE
- SOM RQSB
- PJN RQS1.1 IF THE DELAY HAS NOT EXPIRED
- LDC =C*WAITING FOR STORAGE.*
- STD KM
- RQS1.1 RJM KBIA RESUME KEYBOARD PROCESSING
- LDD KE CHECK KEYBOARD ENTRY
- LMN 53
- NJN RQS1 IF NOT LEFT BLANK
- RJM RSI CLEAR PENDING REQUEST IN *FLIW*
- UJN RQS3
- RQS2 LDC =C*STORAGE NOT AVAILABLE.*
- RQS3 STD KM
- LDC KBI5 RESET KEYBOARD
- STM KBIA
- JMP KBR RETURN
- RQSB CON WCDC WAITING FOR CM DELAY COUNT
- SPACE 4
- * COMMON DECKS.
- *CALL COMPRSI
- COMMAND (ENTER EXTENDED MEMORY FIELD LENGTH.)
- SPACE 4,10
- *** ENFLE,XXXXX.
- *
- * ENTER EXTENDED MEMORY FIELD LENGTH WITH XXXXX*1000B.
- EFX ENTRY
- RJM ASD ASSEMBLE DIGITS
- RJM ECP END CENTRAL PROGRAM
- LDN ECRL DIRECT ACCESS ECS MUST BE DEFINED
- CRD CM
- LDD CM+1
- ZJP EFX8 IF NO USER EXTENDED MEMORY
- LDC SHNI+77 PRESET SHIFT INSTRUCTIONS
- SBD UE
- STM EFXB
- ADK 6-77
- STM EFXC
- LDD CP EXTENDED MEMORY LENGTH CONTROL WORD
- ADN ELCW
- CRD CM
- LDD AB+3 SET CURRENT AMOUNT REQUESTED
- EFXB SHN 0
- * SHN -UESC
- NJN EFX2 IF .GE. 10000 WORD BLOCKS
- LDD AB+3
- ADD AB+4
- ZJN EFX5 IF SETTING EXTENDED MEMORY FL TO ZERO
- LDD FL CHECK FOR ENOUGH CM FOR ECS REQUEST
- ADC -MCMX/100
- MJN EFX4 IF NOT ENOUGH CM
- LDD AB+3
- SHN 14
- LMD AB+4
- EFXC SHN 6
- * SHN 6-UESC
- ADN 77
- PJN EFX5 IF REQUEST .LE. 3777 BLOCKS
- EFX2 LDC =C*REQUEST EXCEEDS MAXIMUM FLE.*
- EFX3 LJM EFX9 RETURN WITH ERROR
- EFX4 LDC =C*INSUFFICIENT FIELD LENGTH.*
- UJN EFX3 RETURN WITH ERROR
- EFX5 SHN -6 SET LAST EXTENDED MEMORY RFL
- STD CM+1
- LDD CP UPDATE EXTENDED MEMORY LENGTH CONTROL WORD
- ADN ELCW
- CWD CM
- LDK WEDC SET KEYBOARD MESSAGE DELAY
- STM EFXA
- EFX6 LDD CM+1 REQUESTED FIELD LENGTH
- RJM REI REQUEST ECS FIELD LENGTH CHANGE
- ZJN EFX9 IF EXTENDED MEMORY ASSIGNED
- MJN EFX8 IF EXTENDED MEMORY NOT AVAILABLE
- SOM EFXA
- PJN EFX7 IF DELAY HAS NOT EXPIRED
- LDC =C*WAITING FOR EXTENDED MEMORY.*
- STD KM
- EFX7 RJM KBIA RESUME KEYBOARD PROCESSING
- LDD KE CHECK KEYBOARD ENTRY
- LMN 53
- ZJN EFX9 IF LEFT BLANK (ABORT)
- LDD CP READ EXTENDED MEMORY LENGTH CONTROL WORD
- ADN ELCW
- CRD CM
- UJN EFX6 ISSUE RE-REQUEST
- EFX8 LDC =C*EXTENDED MEMORY NOT AVAILABLE.*
- EFX9 STD KM
- LDC KBI5 RESET KEYBOARD
- STM KBIA
- JMP KBR RETURN
- EFXA CON WEDC WAITING FOR EM DELAY COUNT
- SPACE 4,10
- *CALL COMPREI
- COMMAND (CALL SPECIAL PP DISPLAYS TO CONTROL POINT.)
- DDF SPACE 4,10
- *** DDF.
- *
- * CALL *DDF* TO CONTROL POINT.
- DDF ENTRY
- LDC 3RFDD SET NAME TO *DDF*
- EXECUTE DDF,=
- UJN LSP LOAD SPECIAL PP
- O26. SPACE 4
- *** O26.
- *
- * CALL *O26* TO CONTROL POINT.
- O26 ENTRY
- LDC 3R6O2 SET NAME TO *O26*
- EXECUTE O26,=
- * UJN LSP LOAD SPECIAL PP
- LSP SPACE 4,10
- ** LSP - LOAD SPECIAL PP.
- *
- * ENTRY (A) = PP NAME.
- LSP BSS 0 ENTRY
- STM LSPA SAVE PP NAME
- SHN -14
- SHN 6
- STM LSPB
- RJM CAJ CHECK ACTIVE JOB
- ZJN LSP1 IF JOB NOT ACTIVE
- LDC INTF MESSAGE = *JOB ACTIVE.*
- STD KM
- JMP KBR
- LSP1 LDD CP READ SPECIAL ENTRY INFORMATION
- ADC SEPW
- CRD CM
- LDD CM
- LPN 24
- ZJN LSP2 IF NO SPECIAL ENTRY
- LDN 2
- RJM IAJ CALL 1AJ
- LSP2 RJM RQS REQUEST STORAGE
- LDC ** CHANGE NAME IN INPUT REGISTER
- LSPA EQU *-1
- STD IR
- LDD IR+1
- LPN 77
- LMC **
- LSPB EQU *-1
- STD IR+1
- LJM CDS LOAD THE PP
- RQS SPACE 4
- ** RQS - REQUEST STORAGE.
- *
- * USES CM - CM+4.
- *
- * CALLS RSI.
- RQS4 STD KM
- LDC KBI5 RESET KEYBOARD
- STM KBIA
- RQS SUBR ENTRY/EXIT
- LDK WCDC SET KEYBOARD MESSAGE DELAY
- STM RQSA
- RQS1 LDD CP READ FL CONTROL
- ADN FLCW
- CRD CM
- LDD CM+1 REQUEST STORAGE INCREASE
- ZJN RQS1.0 IF NO FL SPECIFIED
- SBN 2
- MJN RQS1.3 IF INSUFFICIENT FL
- SBN 76
- RQS1.0 ADD HN
- RQS1.1 RJM RSI
- ZJN RQS4 IF STORAGE ASSIGNED
- MJN RQS2 IF NOT AVAILABLE
- SOM RQSA
- PJN RQS1.2 IF THE DELAY HAS NOT EXPIRED
- LDC =C*WAITING FOR STORAGE.*
- STD KM
- RQS1.2 RJM KBIA RESUME KEYBOARD PROCESSING
- LDD KE CHECK KEYBOARD ENTRY
- LMN 53
- NJN RQS1 IF NOT LEFT BLANK
- UJN RQS3
- RQS1.3 LDC =C*INSUFFICIENT FIELD LENGTH.*
- UJN RQS3 SET UP ERROR MESSAGE
- RQS2 LDC =C*STORAGE NOT AVAILABLE.*
- RQS3 STD KM
- LDC KBI5 RESET KEYBOARD
- STM KBIA
- JMP KBR RETURN
- RQSA CON WCDC WAITING FOR CM DELAY COUNT
- SPACE 4
- * COMMON DECKS.
- *CALL COMPRSI
- COMMAND (MISCELLANEOUS COMMANDS.)
- CEF SPACE 4,10
- *** CEF.
- *
- * CLEAR SKIP-TO-EXIT FLAG. THIS ALLOWS COMMAND PROCESSING
- * TO CONTINUE WITH THE NEXT COMMAND INSTEAD OF SKIPPING TO
- * THE *EXIT* COMMAND AFTER AN ERROR.
- CEF ENTRY
- RJM CAJ CHECK ACTIVE JOB
- NJN CEF1 IF JOB ACTIVE
- LDD CP READ *CSSW*
- ADN CSSW
- CRD CM
- LDD CM CLEAR *SKIP TO EXIT* FLAG
- LPC 5777
- STD CM
- LDD CP REWRITE *CSSW*
- ADN CSSW
- CWD CM
- JMP KBR RETURN
- CEF1 LDC INTF *JOB ACTIVE.*
- STD KM
- JMP KBR RETURN
- OFFSW SPACE 4
- *** OFFSWX.
- *
- * TURN SENSE SWITCH X OFF.
- OFS ENTRY
- RJM ASD ASSEMBLE DIGITS
- LDD AB+4 COMPUTE SHIFT
- LPN 7
- ADC SHNI
- STM OFSA
- LDN 40
- OFSA SHN 0
- SCN 77
- LMC -0 SET MASK
- STM OFSB
- LDD CP READ SWITCH WORD
- ADN SNSW
- CRD CM
- LDD CM+4 CLEAR SWITCH
- LPC 0
- OFSB EQU *-1
- STD CM+4
- LDD CP RESTORE SWITCH WORD
- ADN SNSW
- CWD CM
- LDD RA STORE IN (RA)
- SHN 6
- CWD CM
- JMP KBR RETURN
- ONSW SPACE 4
- *** ONSWX.
- *
- * TURN SENSE SWITCH X ON.
- ONS ENTRY
- RJM ASD ASSEMBLE DIGITS
- LDD AB+4 COMPUTE SHIFT
- LPN 7
- ADC SHNI
- STM ONSA
- LDN 40
- ONSA SHN 0
- SCN 77
- STD T1
- LMC -0 SET MASK
- STM ONSB
- LDD CP READ SWITCH WORD
- ADN SNSW
- CRD CM
- LDD CM+4 SET SWITCH
- LPC 0
- ONSB EQU *-1
- ADD T1
- STD CM+4
- LDD CP RESTORE WORD
- ADN SNSW
- CWD CM
- LDD RA STORE IN (RA)
- SHN 6
- CWD CM
- JMP KBR RETURN
- UCC SPACE 4,4
- *** UCC = C.
- *
- * SET UPPER CASE CHARACTER TO C.
- UCC ENTRY
- LDM KBIC CLEAR/SET UPPER CASE CONTROL
- SCN 77
- LMI CA
- STM KBIC
- LDD IR+2
- SCN 77
- LMI CA
- STD IR+2
- JMP KBR RETURN
- COMMAND (MISCELLANEOUS COMMANDS.)
- CDF SPACE 4
- ** CDF - CHANGE DISPLAY FIELD.
- CDF ENTRY
- LDM KBUF SET DISPLAY INDEX
- STD T6
- LDM DFCA,T6 SET DISPLAY FIELD
- STD T7
- LDM KBUF+1 SET FIELD NUMBER
- SBN 1R0
- STD T5
- LDC KBUF+3 ASSEMBLE DIGITS
- RJM ASD
- LDD T6 CHECK RIGHT SCREEN DISPLAY
- LMD RS
- ZJN CDF1 IF THIS DISPLAY
- LMD RS SET LEFT SCREEN DISPLAY
- STD LS
- CDF1 LDD T5 CHECK FIELD INDEX
- SBN 4
- PJN CDF2 IF \ 4
- ADN 4 SET FIELD INDEX
- SHN 1
- RAD T7
- LDD AB+3 SET ADDRESS
- STI T7
- LDD AB+4
- STM 1,T7
- JMP KBR RETURN
- CDF2 NJN CDF3 IF NOT 4
- STI T7 CLEAR FIELDS T0 0, 10, 20, 30
- STM 1,T7
- STM 2,T7
- STM 4,T7
- STM 6,T7
- ADN 10
- STM 3,T7
- ADN 10
- STM 5,T7
- ADN 10
- STM 7,T7
- UJN CDF4 ADVANCE DISPLAY FIELD
- CDF3 SBN 1
- ZJN CDF4 IF 5
- SBN 1
- NJN CDF5 IF NOT 6
- LDD AB+3 FORM 2,S COMPLEMENT
- LMC -770000
- STD AB+3
- LDD AB+4
- LMC -770000
- ADN 1
- STD AB+4
- SHN -14
- RAD AB+3
- CDF4 LDD T7 ADVANCE DISPLAY FIELD
- RJM ADF
- JMP KBR RETURN
- CDF5 LDD AB+4 SET MANAGED TABLE BIAS
- STM -1,T7
- JMP KBR RETURN
- SET SPACE 4,10
- *** SET,IJ...K.
- *
- * SET LEFT SCREEN ADVANCE TABLE TO DISPLAYS IJ...K. (UP TO
- * 8 ENTRIES ARE ALLOWED.)
- SET ENTRY
- LDD CA SET INDEX
- STD T1
- SET1 LDI T1
- NJN SET3 IF NOT END
- SET2 JMP ILE INCORRECT ENTRY
- SET3 SBN DFCAL
- PJN SET4 IF NOT DISPLAY
- AOD T1
- UJN SET1
- SET4 SBN 1R.-DFCAL
- NJN SET2 IF NOT *.*
- STD T2
- STD AI
- LDD T1 CHECK NUMBER OF ENTRIES
- SBD CA
- ZJN SET2 IF NO ENTRIES
- SBN ALSAL-1
- PJN SET2 IF TOO MANY
- SET6 LDI CA STORE CHARACTER
- STM ALSA,T2
- AOD T2 ADVANCE INDEX
- AOD CA
- LMD T1
- NJN SET6 LOOP
- STM ALSA,T2
- JMP KBR RETURN
- T, SPACE 4
- *** T,XXXXXX.
- *
- * CHANGE *T* DISPLAY TO START AT ADDRESS XXXXXX.
- TDC SPACE 4
- *** U,XXXXXX.
- *
- * CHANGE *U* DISPLAY AT ADDRESS XXXXXX.
- TDC ENTRY
- RJM ASD ASSEMBLE DIGITS
- LDM KBUF
- STD T1
- LDD AB+3 SET DISPLAY
- LPN 37
- STM DSTA-1RT,T1
- LDD AB+4
- STM DSTA+2-1RT,T1
- LDD T1
- JMP SLS SET LEFT SCREEN
- V, SPACE 4
- *** V,XXXXXX.
- *
- * SET *V* DISPLAY ADDRESS TO XXXXXX.
- VDC ENTRY
- RJM ASD ASSEMBLE DIGITS
- LDD AB+3 SET DISPLAY ADDRESS
- LPN 37
- STM DSVA
- LDD AB+4
- STM DSVA+1
- LDM KBUF SET LEFT SCREEN
- JMP SLS
- COMMAND (INTERPRET KEYSET MESSAGE.)
- IKM SPACE 4
- ** IKM - INTERPRET KEYSET MESSAGE.
- *
- * CALLS SSF.
- IKM ENTRY
- LDC IKMA SEARCH FOR SPECIAL FORMAT
- RJM SSF
- LDC IMM INTERPRET MORE MESSAGES
- LJM LOV
- * TABLE OF REQUESTS.
- IKMA BSS 0
- QUAL
- BKA ENTER (BKPA,)
- BKP ENTER (BKP,)
- ESX ENTER (BEGIN)
- ESX ENTER (CALL)
- CEF ENTER (CEF.)
- DDF ENTER (DDF.)
- ELS ENTER (ELS.)
- ENF ENTER (ENFL,)
- EFX ENTER (ENFLE,)
- ENS ENTER (ENS.)
- EPR ENTER (ENPR,)
- ESX ENTER (ENTER)
- ETL ENTER (ENTL,)
- EXC ENTER (X.)
- GGO ENTER (GO.)
- GTO ENTER (GOTO)
- RCP ENTER (RCP.)
- RCS ENTER (RCS.)
- RNS ENTER (RNS.)
- RSN ENTER (RSS,)
- RSS ENTER (RSS.)
- SCP ENTER (DCP.)
- QUAL *
- DATA 0 END OF TABLE
- COMMAND (CHECK KEYBOARD REQUEST.)
- BEG SPACE 4,10
- ** BEG - ENTER *BEGIN,* INTO KEYBOARD BUFFER.
- *
- * ENTRY (KBUF) = FIRST CHARACTER.
- BEG ENTRY
- LDN 6
- STD KI SET KEYBOARD INDEX
- LDN 2 SET WORDS TO WRITE
- STD T1
- LDD MA
- CWM BEGA,T1 WRITE ENTRY
- LDD MA
- CRM KBUF,T1 READ ENTRY
- LJM KBIX PROCESS KEYBOARD INPUT
- BEGA CON 1RB,1RE,1RG,1RI,1RN,1R,,0,0,0,0
- CKR SPACE 4
- ** CKR - CHECK KEYBOARD REQUEST.
- *
- * ENTRY NONE.
- *
- * EXIT TO CJS
- CKR ENTRY
- LDD CP READ LAST MESSAGE
- ADN MS1W
- CRD CM
- STD T1 SET WORD ADDRESS
- LDN CM+1 SET BYTE ADDRESS
- STD T2
- LDD CM CHECK FIRST CHARACTER
- STD T3
- SHN -6
- LMN 1R*
- ZJN CKR1 IF (*)
- LJM CJS7 EXIT
- CKR1 LDD KI CHECK KEYBOARD BUFFER
- ZJN CKR2 IF EMPTY
- LJM CJSX EXIT FROM CHECK JOB STATUS
- CKR2 LDD CM CHECK SECOND CHARACTER
- LPN 77
- ZJN CKR3 IF NO SECOND CHARACTER
- LMN 1R
- NJN CKR5 IF SECOND CHARACTER NOT BLANK
- CKR3 LDD CM+1
- SHN -6
- ZJN CKR5 IF NO THIRD CHARACTER
- SBN 1R8
- PJN CKR5 IF THIRD CHARACTER NOT ALPHAOCTAL
- CKR4 LDI T2 UNPACK BYTE
- ZJN CKR6 IF END OF MESSAGE
- SHN 14
- STM KBUF,KI
- SHN -14
- STM KBUF+1,KI
- LDN 2
- RAD KI
- AOD T2 ADVANCE WORD
- LMN CM+5
- NJN CKR4 LOOP TO END OF WORD
- AOD T1 READ NEXT WORD
- CRD CM
- LDN CM RESET BYTE ADDRESS
- STD T2
- LDD KI CHECK KEYBOARD
- SBN KBUFL
- MJN CKR4 IF NOT FULL
- CKR5 LDN 0 CLEAR MESSAGE
- STD CM
- LDD CP
- ADN MS1W
- CWD CM
- RJM CKB CLEAR KEYBOARD BUFFER
- LJM CJS7 EXIT
- CKR6 LDC CJS15 SET *KBI* RETURN
- STM KBI
- LDC LDNI SET CPU REQUEST STATUS
- STM CJSC
- LDD T3 CHECK 2ND CHARACTER
- LPN 77
- NJN CKR7 IF NOT CPU REQUEST
- LDN ZERL
- CRD CM CLEAR SYSTEM REQUEST (RA+1)
- LDD RA
- SHN 6
- ADN 1
- CWD CM
- AOM CJSC SET TO REQUEST CPU
- CKR7 LDN 0 CLEAR MESSAGE
- STD CM
- LDD CP
- ADN MS1W
- CWD CM
- LJM INT1 INTERPRET KEYBOARD MESSAGE
- COMMAND (INTERPRET MORE MESSAGES.)
- IMM SPACE 4
- ** IMM - INTERPRET MORE MESSAGE.
- *
- * CALLS SSF.
- IMM ENTRY
- LDC IMMA SEARCH FOR SPECIAL FORMAT
- RJM SSF
- LJM INT9
- * TABLE OF REQUESTS.
- IMMA BSS 0
- QUAL
- ENA ENTER (ENA)
- ENB ENTER (ENB)
- ENE ENTER (ENEM,)
- ENP ENTER (ENP,)
- ENX ENTER (ENX)
- NCU ENTER (N.)
- OFS ENTER (OFFSW)
- ONS ENTER (ONSW)
- ROL ENTER (ROLLOUT.)
- ROL1 ENTER (ROLLOUT,)
- SCS ENTER (SCS.)
- SET ENTER (SET,)
- TDC ENTER (T,)
- TDC ENTER (U,)
- UCC ENTER (UCC=)
- VDC ENTER (V,)
- QUAL *
- DATA 0
- SCS SPACE 4
- *** SCS.
- *
- * STOP AUTO COMMAND SCAN.
- SCS ENTRY
- LDD KM CHECK KEYBOARD MESSAGE
- LMC CJSA
- NJN SCS1 IF NOT AUTO COMMAND SCAN
- STD KM CLEAR MESSAGE
- SCS1 JMP KBR RETURN
- COMMAND (CALL PPU PROGRAM.)
- CPP SPACE 4
- ** CPP - CALL PP PACKAGE TO CONTROL POINT.
- *
- * USES T1, T6, T7, CM - CM+4.
- *
- * CALLS ASD, ASN, CDR, IAJ, RPP, SSF.
- CPP ENTRY
- LDC CPPA
- RJM SSF SEARCH FOR SPECIAL FORMAT
- LDD CP CHECK IF SPECIAL JOB
- ADC SEPW
- CRD CM
- LDD CM
- LPN 24
- ZJN CPP1 IF NOT SPECIAL JOB
- LDN 2
- RJM IAJ CALL *1AJ* TO CLEAN UP JOB
- CPP1 LDC KBUF ASSEMBLE NAME
- RJM ASN
- LDD AB+1 SET PROGRAM NAME IN MONITOR REQUEST
- SHN 6
- LMD AB
- SHN 6
- STD CM+3
- SHN -14
- STD CM+2
- SHN 14
- LMD CM+3
- LMC 3RCIO
- ZJN CPP2 IF *CIO* REQUEST
- MONITOR SPLM
- LDD CM+1 CHECK FOR PROGRAM FOUND
- SHN -6-1
- ZJN CPP2 IF PROGRAM FOUND AND IS 12 BIT BINARY
- LJM PPCX RETURN
- * ASSEMBLE PARAMETERS IN INPUT REGISTER.
- CPP2 LDD MA SET PROGRAM NAME
- CWD AB
- CRD CM
- LDN 0 CLEAR PARAMETERS
- STD CM+2
- STD CM+3
- STD CM+4
- LDI T1 CHECK CHARACTER
- SBN 1R.
- ZJN CPP5 IF PERIOD
- AOD T1 ASSEMBLE DIGITS
- RJM CDR
- SBN 1R.
- ZJN CPP4 IF PERIOD
- ADN 1R.-1R,
- ZJN CPP3 IF COMMA
- LJM ILL INCORRECT ENTRY
- CPP3 LDD AB+3 SET PARAMETER 1
- LPN 77
- SHN 14
- LMD AB+4
- SHN 14
- STD CM+2
- SHN -6
- SCN 77
- STD CM+3
- AOD T1 ASSEMBLE DIGITS
- RJM ASD
- CPP4 LDD AB+3 SET PARAMETER 2
- LPN 77
- RAD CM+3
- LDD AB+4
- STD CM+4
- CPP5 LDN ZERL
- CRD AB
- LDD MA STORE CALL
- CWD CM
- ADN 1
- CWD AB
- RJM CAJ CHECK ACTIVE JOB
- NJN CPP6 IF JOB ACTIVE
- STD CM+1 ALLOW QUEUING OF PP REQUEST
- MONITOR RPPM
- JMP KBR
- CPP6 LDC INTF MESSAGE = *JOB ACTIVE.*
- STD KM
- JMP KBR RETURN
- CPPA SPACE 4,10
- * TABLE OF ENTRIES TO BE INTERPRETED AS CP PROGRAM ENTRY POINTS
- * RATHER THAN PP PROGRAM NAMES.
- CPPA BSS 0
- QUAL
- INTD ENTER (OUT.) RETURN TO PROCESS *OUT* COMMAND
- QUAL *
- DATA 0 END OF TABLE
- TTL DIS - JOB DISPLAY.
- TITLE TABLES AND BUFFERS.
- KBUF SPACE 4
- * TERMINATE COMMAND OVERLAYS.
- QUAL
- HERE
- USE END FORCE /LITERALS*/
- KBUF SPACE 4
- * KEYBOARD ENTRY BUFFER.
- KBUFL EQU 49D
- KBUF EQU 7774-KBUFL LAST 3 WORDS ALWAYS ZERO
- OVL SPACE 4
- * OVERLAY CONTROL.
- LL. SET *+4
- ERRNG KBUF-LL. OVERFLOW CHECK FOR LAST OVERLAY
- .L SET .L+4-OVL
- .L SET .L/5*5+OVL
- ERRNG KBUF-.L-1 PP MEMORY OVERFLOW
- SPACE 4
- TTL DIS - JOB DISPLAY.
- END
cdc/nos2.source/opl871/dis.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator