cdc:nos2.source:opl871:mdd
Table of Contents
MDD
Table Of Contents
- [00005] MDD - TWO PORT MUX MAINTENANCE DISPLAY.
- [00009] MAINTENANCE CHANNEL DISPLAY PREPROCESSOR.
- [00119] RESIDENT NOS DEPENDENT OVERLAY.
- [00122] MONITOR DISPLAY DRIVER PREPROCESSOR.
- [00188] MDD - SUBROUTINES.
- [00190] AMB - ACTIVATE *MDD* BITS.
- [00210] CPM - CLEAR PP MEMORY.
- [00234] CPN - CHECK PORT NUMBER.
- [00275] CSI - CLEAR *SCI* PARAMETER TABLE INTERLOCK.
- [00295] GEA - GET *EICB* ADDRESS.
- [00305] GPS - GET *PPR* SAVE AREA ADDRESS.
- [00315] GSA - GET *SCI* PARAMETER TABLE ADDRESS.
- [00326] GSI - GET *SCI* PARAMETER TABLE INTERLOCK.
- [00347] LSC - LOAD *SCI*.
- [00428] SAS - SET ALERT STATUS.
- [00452] SMF - SET C170 *MDD* FLAG.
- [00472] SPD - SET PP/PORT NUMBERS IN *D7RS*.
- [00515] SPP - SAVE PP RESIDENT.
- [00590] SSH - SET *SCI* HANDOFF DATA.
- [00620] MDD PRESET.
- [00622] PRS - PRESET *MDD* BOOT.
- [00679] CKV - CHECK FOR PROPER VALIDATIONS.
- [00713] FCM - FIND CIP MODULE.
- [00769] GPN - GET LOGICAL PP NUMBER.
Source Code
- MDD.txt
- IDENT MDD,MDD
- PERIPH
- BASE MIXED
- SST DLYA,RDS,SSCP
- TITLE MDD - TWO PORT MUX MAINTENANCE DISPLAY.
- *COMMENT MDD - LEVEL=11.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- MDD SPACE 4,10
- *** MDD - MAINTENANCE CHANNEL DISPLAY PREPROCESSOR.
- *
- * B. R. HANSON. 81/02/29.
- * R. A. ANDERSON. 85/09/18.
- * K. A. PRIEVE. 87/06/10.
- SPACE 4,10
- *** THIS IS THE NOS OPERATING SYSTEM DEPENDENT RESIDENT
- * OVERLAY. THIS PROGRAM DETERMINES WHETHER THERE IS ALREADY A
- * COPY OF *SCI* RUNNING IN A PP. IF SO, IT TURNS ON *MDD* MODE
- * FOR THAT COPY (UNLESS NOS/VE IS RUNNING IN WHICH CASE *MDD*
- * MUST BE INITIATED FROM NOS/VE). IF *SCI* IS NOT CURRENTLY
- * EXECUTING, PP RESIDENT IS SAVED AND *SCI* IS LOADED FROM THE
- * CIP LIBRARY. THIS PROGRAM ALSO HANDLES THE UNIQUE *MDD*
- * STARTUP AND TERMINATION REQUIREMENTS FOR NOS.
- *
- * THIS VERSION OF *MDD* REQUIRES CIP TO BE AT LEVEL 9 OR
- * GREATER.
- SPACE 4,10
- *** ERROR LOG MESSAGES.
- *
- * * MDD - ALREADY LOADED.*
- * *MDD* IS ALREADY RUNNING IN A PP. ONLY ONE COPY
- * CAN RUN AT A TIME.
- * MDD PP WILL DROP OUT.
- * ALERT STATUS IS SET.
- *
- * * MDD - BYE COMMAND EXECUTED.*
- * THE USER OF MDD HAS ENTERED THE BY COMMAND DIRECTING
- * MDD TO DROP OUT.
- *
- * * MDD - CONSOLE MUST BE UNLOCKED.*
- * AN ATTEMPT WAS MADE TO BRING MDD UP WITH THE CONSOLE
- * IN A LOCKED STATE.
- * MDD PP WILL DROP OUT.
- * ALERT STATUS IS SET.
- *
- * * MDD - IMPROPER ACCESS ATTEMPT.*
- * MDD WAS NOT INITIATED FROM EITHER A SYSTEM CONTROL POINT
- * OR WITH ENGINEERING ACCESS.
- * MDD WILL DROP OUT.
- *
- * * MDD - MR ERROR.*
- * A MAINTENANCE REGISTER ERROR WAS DETECTED DURING MDD
- * INITIALIZATION.
- * MDD WILL DROP OUT.
- *
- * * MDD - MUST BE INITIATED FROM NOS/VE.*
- * WHEN NOS/VE IS EXECUTING, *MDD* MUST BE INITIATED FROM
- * THE NOS/VE SIDE.
- * MDD PP WILL DROP OUT.
- * ALERT STATUS IS SET.
- *
- * * MDD - NOT ALLOWED ON THIS MAINFRAME.*
- * THE MAINFRAME DOES NOT HAVE NECESSARY HARDWARE TO
- * SUPPORT MDD.
- * MDD WILL DROP OUT.
- * ALERT STATUS IS SET.
- *
- * * MDD - NOT FOUND IN CIP DIRECTORY.*
- * MDD HAS SEARCHED THE CENTRAL MEMORY CTI DIRECTORY
- * AND NOT FOUND THE RESIDENT VERSION OF MDD.
- * MDD WILL DROP OUT.
- * ALERT STATUS IS SET.
- *
- * * MDD - VALIDATED.*
- * MDD HAS SUCCESSFULLY VALIDATED ITSELF AND HAS BEGUN
- * OPERATION.
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPMAC
- *CALL COMPIOU
- *CALL COMSCPS
- *CALL COMSDST
- *CALL COMSEVT
- *CALL COMSIOU
- *CALL COMSPIM
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- *
- * THE DIRECT CELLS *SM* THROUGH *CD+2* AND *SF* (27-36, 70)
- * CONTAIN HANDOFF DATA FOR *SCI*. THEY MUST NOT BE MOVED.
- * SEE NOS/VE DEVELOPMENT FOR ANY ADJUSTMENTS THAT MUST BE
- * MADE TO ENSURE COMPATIBILITY WITH *SCI*.
- SM EQU 27 *SCI* PP NUMBER AND *X.MDD* FLAG
- MD EQU 30 - 32 *SCI* ADDRESS A AND R-REGISTER
- UF EQU 33 UTILITY MODE FLAG
- CD EQU 34 - 36 CIP DIRECTORY POINTER
- CN EQU 40 - 44 SCRATCH BUFFER
- RN EQU 45 REGISTER NUMBER (COMPMRA)
- PP EQU 46 PP NUMBER
- PT EQU 47 PORT NUMBER
- W0 EQU 60 WORKING STORAGE
- W1 EQU 61 WORKING STORAGE
- W2 EQU 62 WORKING STORAGE
- W3 EQU 63 WORKING STORAGE
- W4 EQU 64 WORKING STORAGE
- W5 EQU 65 WORKING STORAGE
- W6 EQU 66 WORKING STORAGE
- W7 EQU 67 WORKING STORAGE
- SF EQU 70 *SCI* INITIATED BY *SDA* FLAG
- SPACE 4,10
- ** ASSEMBLY CONSTANTS.
- *
- RR EQU 400000 CONSTANT VALUE FOR R REGISTER
- TITLE RESIDENT NOS DEPENDENT OVERLAY.
- ORG PPFW
- MDD SPACE 4,10
- ** MDD - MONITOR DISPLAY DRIVER PREPROCESSOR.
- *
- * ENTRY (IR+4) = DESIRED PORT.
- MDD BSS 0 ENTRY
- RJM PRS PRESET
- RJM GSA
- ZJP MDD2 IF NO *SCI* PARAMETER TABLE
- RJM GSI GET *SCI* PARAMETER TABLE INTERLOCK
- RJM GSA CHECK IF *MDD* ACTIVE
- CRD CN
- LDD CN+4
- SHN 21-13
- PJN MDD1 IF *MDD* NOT ALREADY ACTIVE
- RJM CPN CHECK PORT NUMBER
- LJM MDD6 CLEAR MEMORY AND DROP PP
- MDD1 LDD CN+1 CHECK IF *SCI* ACTIVE
- LPN 77
- ZJN MDD3 IF *SCI* NOT ACTIVE
- RJM GEA CHECK IF NOS/VE ACTIVE
- ADN D8TY
- CRD W0
- LDD W0+3
- LPN 77
- SBN 2
- ZJN MDD5 IF NOS/VE ACTIVE
- RJM AMB ACTIVATE *MDD* BITS
- RJM SMF SET C170 *MDD* FLAG
- RJM GSA GET *SCI* PARAMETER TABLE ADDRESS
- CWD CN WRITE FIRST WORD AND CLEAR INTERLOCK
- UJN MDD6 CLEAR MEMORY AND DROP PP
- MDD2 RJM GEA CHECK IF ANOTHER *MDD* ACTIVE
- ADN D7RS
- CRD W0
- LDD W0+1
- LPN 77
- NJN MDD4 IF *MDD* ALREADY ACTIVE
- MDD3 LDC ELM3+ERLN * MDD - VALIDATED.*
- RJM DFM
- LJM LSC LOAD *SCI* (DOES NOT RETURN)
- MDD4 LDC ELM11+ERLN * MDD - ALREADY ACTIVE.*
- UJN ERR ISSUE MESSAGE AND DROP PP
- MDD5 RJM CSI CLEAR *SCI* PARAMETER TABLE INTERLOCK
- LDC ELM10+ERLN * MDD - MUST BE INITIATED FROM NOS/VE.*
- * UJN ERR ISSUE MESSAGE AND DROP PP
- * PROCESS FATAL *MDD* ERROR.
- ERR STM SASA INFORM ALERT ROUTINE
- RJM DFM ISSUE MESSAGE
- RJM SAS SET ALERT STATUS
- MDD6 MONITOR DPPM DROP PP
- LDC CPMA CLEAR LONG INSTRUCTIONS
- RJM CPM
- LJM PPR EXIT TO PP RESIDENT
- MRER SPACE 4,10
- * PROCESS FATAL MAINTENANCE REGISTER ERROR.
- MRER LDC ELM1+ERLN * MDD - MR ERROR.*
- UJN ERR PROCESS FATAL ERROR
- TITLE MDD - SUBROUTINES.
- AMB SPACE 4,10
- ** AMB - ACTIVATE *MDD* BITS.
- *
- * ENTRY (PT) = PORT NUMBER.
- * (CN - CN+4) = *SCI* PARAMETER TABLE WORD ONE.
- *
- * EXIT *MDD* ACTIVE BITS SET AND INTERLOCK CLEARED
- * IN *CN - CN+4*.
- AMB SUBR ENTRY/EXIT
- LDD PT SET PORT NUMBER
- SHN 6
- ADC 1S11+1000 SET *MDD* ACTIVE AND REAL STATE BITS
- STD CN+4
- LDD CN+1 SET SECONDARY BYTE CHANGED FLAG
- LPC 5377 AND CLEAR INTERLOCK BIT
- LMC 2000
- STD CN+1
- UJN AMBX RETURN
- CPM SPACE 4,10
- ** CPM - CLEAR PP MEMORY.
- *
- * ENTRY (A) = FIRST WORD TO CLEAR.
- *
- * EXIT PP MEMORY CLEARED.
- *
- * USES T0.
- CPM SUBR ENTRY/EXIT
- STD T0 FIRST ADDRESS TO CLEAR
- LDN 0
- CPM1 STI T0
- AOD T0
- SHN -14
- ZJN CPM1 IF MORE MEMORY TO CLEAR
- UJN CPMX RETURN
- SPACE 4,10
- * BEFORE DROPPING THE PP, MEMORY MUST BE CLEARED OF LONG
- * INSTRUCTIONS. NO LONG INSTRUCTIONS CAN BE ADDED BEFORE
- * THIS ADDRESS.
- CPMA EQU * CLEAR PP MEMORY ADDRESS
- CPN SPACE 4,15
- ** CPN - CHECK PORT NUMBER.
- *
- * ENTRY (CN - CN+4) = *SCI* PARAMETER TABLE WORD ONE.
- * *SCI* PARAMETER TABLE INTERLOCKED.
- *
- * EXIT REQUESTED PORT SET IN *SCI* PARAMETER TABLE.
- * *SCI* PARAMETER TABLE INTERLOCK CLEARED.
- *
- * USES T1.
- *
- * CALLS GSA.
- CPN SUBR ENTRY/EXIT
- * CHANGE PORT NUMBER IF DIFFERENT PORT REQUESTED.
- LDD CN+4 GET CURRENT PORT
- SHN -6
- LPN 7
- LMD PT
- NJN CPN1 IF NOT CURRENTLY USING REQUESTED PORT
- LDD CN+1 CLEAR INTERLOCK
- LPC 7377
- UJN CPN2 WRITE FIRST WORD
- CPN1 LDD PT SET NEW PORT NUMBER
- SHN 6
- STD T1
- LDD CN+4
- LPC 7077 CLEAR OLD PORT
- LMD T1 ADD NEW PORT
- STD CN+4
- LDD CN+1 SET SECONDARY BYTE CHANGED FLAG
- LPC 5377 AND CLEAR INTERLOCK BIT
- LMC 2000
- CPN2 STD CN+1
- RJM GSA GET *SCI* PARAMETER TABLE ADDRESS
- CWD CN WRITE FIRST WORD AND CLEAR INTERLOCK
- UJN CPNX RETURN
- CSI SPACE 4,10
- ** CSI - CLEAR *SCI* PARAMETER TABLE INTERLOCK.
- *
- * EXIT INTERLOCK CLEARED.
- *
- * USES W0 - W0+3.
- *
- * CALLS GSA.
- CSI SUBR ENTRY/EXIT
- LDC 0#FFFF
- STDL W0
- STDL W0+2
- STDL W0+3
- LDC 0#EFFF MASK FOR CLEAR INTERLOCK
- STDL W0+1
- RJM GSA GET *SCI* PARAMETER TABLE ADDRESS
- RDCL W0 CLEAR INTERLOCK
- UJN CSIX RETURN
- GEA SPACE 4,10
- ** GEA - GET *EICB* ADDRESS.
- *
- * EXIT (A) = *EICB* FWA.
- GEA SUBR ENTRY/EXIT
- LDC **
- GEAA EQU *-2 (*EICB* FWA)
- UJN GEAX RETURN
- GPS SPACE 4,10
- ** GPS - GET *PPR* SAVE AREA ADDRESS.
- *
- * EXIT (A) = *PPR* SAVE AREA FWA.
- GPS SUBR ENTRY/EXIT
- LDC **
- GPSA EQU *-2 (*PPR* SAVE AREA ADDRESS)
- UJN GPSX RETURN
- GSA SPACE 4,10
- ** GSA - GET *SCI* PARAMETER TABLE ADDRESS.
- *
- * EXIT (A) = *SCI* PARAMETER TABLE ADDRESS.
- * = 0 IF TABLE NOT DEFINED.
- GSA SUBR ENTRY/EXIT
- LDC **
- GSAA EQU *-2 (*SCI* PARAMETER TABLE ADDRESS)
- UJN GSAX RETURN
- GSI SPACE 4,10
- ** GSI - GET *SCI* PARAMETER TABLE INTERLOCK.
- *
- * EXIT INTERLOCK SET.
- *
- * USES W0 - W0+3.
- *
- * CALLS GSA.
- GSI SUBR ENTRY/EXIT
- GSI1 LDN ZERL
- CRDL W0
- LDC 10000 INTERLOCK BIT
- STDL W0+1
- RJM GSA GET *SCI* PARAMETER TABLE ADDRESS
- RDSL W0 SET INTERLOCK
- LDDL W0+1
- LPC 10000
- NJN GSI1 IF INTERLOCK WAS ALREADY SET
- UJN GSIX RETURN
- LSC SPACE 4,10
- ** LSC - LOAD *SCI*.
- *
- * ENTRY (CN - CN+4) = *SCI* PARAMETER TABLE WORD ONE.
- * *SCI* PARAMETER TABLE INTERLOCKED.
- *
- * EXIT NO EXIT. LOADS *SCI* ON TOP OF *MDD* BOOT.
- *
- * CALLS AMB, GSA, SPD, SPP, SSH.
- LSC BSS 0 ENTRY
- * PREPARE FOR *SCI* LOAD.
- RJM SPD SET PP/PORT NUMBERS IN *D7RS*
- RJM GSA
- ZJN LSC1 IF NO *SCI* PARAMETER TABLE
- RJM AMB ACTIVATE *MDD* BITS AND CLEAR INTERLOCK
- LDD PP SET PP NUMBER
- RAD CN+1
- RJM GSA WRITE WORD ONE AND CLEAR INTERLOCK
- CWD CN
- LSC1 RJM SPP SAVE *PPR*
- RJM SSH SET *SCI* HANDOFF DATA
- * CHANGE *MDD* TO *SCI* IN INPUT REGISTER.
- LDD IA GET CURRENT INPUT REGISTER
- CRD CM
- LDC 2RSC
- STD CM
- LDD CM+1
- LPN 77
- LMC 1RI*100
- STD CM+1
- LDD IA
- CWD CM
- * PLUG LONG INSTRUCTION IN BOOT CODE. *COMPDLI* DOES
- * NOT HANDLE LONG INSTRUCTIONS WITHIN *LOC* DIRECTIVES
- * WELL, SO THIS ONE IS PLUGGED EXPLICITLY.
- LDM LSCA+BTSA-1
- LMC 1S15 CONVERT TO 16 BIT INSTRUCTION
- STML LSCA+BTSA-1
- * MOVE CODE SO *SCI* DOES NOT OVERWRITE IT.
- LDN 1 READ DIRECTORY ENTRY
- STD CM
- LRD MD+1
- LDD MD
- ADC RR
- CRML LSCA+T3,CM
- LDN LSCAL/4 MOVE BOOT
- STD CM
- LDD MA
- CWML LSCA,CM
- LDD MA
- CRML 0,CM
- * BOOT CODE FOR LOADING *SCI*.
- LSCA BSS 0
- LOC 0
- CON BTS-1
- BSS 2
- T3 CON 0,0,0,0
- BTS LDD T3
- STD BTSA
- LDD MD
- ADC RR+1
- LRD MD+1
- CRM **,T3+1
- BTSA EQU *-1
- * CRML **,T3+1 (CONVERTED TO LONG EXPLICITLY)
- LJM 100 START EXECUTING *SCI*
- LSCAL EQU *+3
- ERRPL LSCAL-30 BOOT OVERWRITES HANDOFF DATA
- LOC *O
- SAS SPACE 4,10
- ** SAS - SET ALERT STATUS.
- *
- * ENTRY (SASA) = MESSAGE ADDRESS.
- *
- * EXIT ALERT STATUS SET IF PROPER MESSAGE SENT.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- SAS SUBR ENTRY/EXIT
- LDC **
- SASA EQU *-1 (ADDRESS OF MESSAGE)
- ADC -ALERT
- MJN SASX IF NO ALERT NEEDED
- LDN ZERL ISSUE ERROR LOG ALERT EVENT
- CRD CM
- ERRNZ EEVS CODE ASSUMES *EEVS* IS ZERO
- LDN ELAE
- STD CM+4
- MONITOR EATM
- UJN SASX RETURN
- SMF SPACE 4,10
- ** SMF - SET C170 *MDD* FLAG.
- *
- * USES W0 - W0+4.
- *
- * CALLS GEA.
- SMF SUBR ENTRY/EXIT
- RJM GEA
- ADN D7RS
- CRD W0
- LDD W0+1
- LPC 6777
- LMC 1000
- STD W0+1
- RJM GEA REWRITE *D7RS*
- ADN D7RS
- CWD W0
- UJN SMFX RETURN
- SPD SPACE 4,15
- ** SPD - SET PP/PORT NUMBERS IN *D7RS*.
- *
- * ENTRY (PP) = PP NUMBER.
- * (PT) = PORT NUMBER.
- *
- * EXIT TO *MDD4* IF *MDD* ALREADY ACTIVE.
- * IN THIS CASE, THE *SCI* PARAMETER TABLE INTERLOCK IS
- * CLEARED.
- *
- * USES CM - CM+4.
- *
- * CALLS CSI, GEA, GSA.
- *
- * MACROS MONITOR.
- SPD SUBR ENTRY/EXIT
- RJM GEA GET *EICB* ADDRESS
- ADN D7RS
- STD CM+4
- SHN -14
- STD CM+3
- LDN 2 SET NUMBER OF REQUESTS
- STD CM+1
- LDN 10 SET C170 *MDD* FLAG
- LMD PT GET PORT NUMBER
- SHN 6
- LMD PP GET PP NUMBER
- STM SPDB+4
- LDD MA WRITE REQUESTS TO MESSAGE BUFFER
- CWM SPDA,CM+1
- MONITOR UTEM
- LDD CM+1
- ZJN SPDX IF OPERATION COMPLETE
- RJM GSA
- ZJN SPD1 IF NO *SCI* PARAMETER TABLE
- RJM CSI CLEAR *SCI* PARAMETER TABLE INTERLOCK
- SPD1 LJM MDD4 ISSUE ALREADY ACTIVE MESSAGE
- SPDA VFD 1/1,5/0,6/12D,6/36D,42/0
- SPDB VFD 1/0,5/0,6/12D,6/36D,42/0
- SPP SPACE 4,10
- ** SPP - SAVE PP RESIDENT.
- *
- * EXIT *PPR* WRITTEN TO SAVE AREA.
- *
- * USES T0, W6, W7.
- *
- * CALLS GPS.
- *
- * MACROS SETMS.
- SPP SUBR ENTRY/EXIT
- SETMS NODRIVER CLEAR DRIVER PRESENT FLAG
- LDC ** SET WORD COUNT TO SAVE
- SPPA EQU *-1
- SBN 1
- STD W7
- * MOVE UNBOOT TO DRIVER AREA.
- LDC .SPPCL/5 GET UNBOOT LENGTH
- STD W6
- RJM GPS GET *PPR* SAVE AREA ADDRESS
- CWM SPPC,W6
- RJM GPS GET *PPR* SAVE AREA ADDRESS
- CRM MSFW,W6
- * WRITE *PPR*.
- LDC MSFW-1 SET EXECUTION ADDRESS ON RETURN
- STD T0
- RJM GPS GET *PPR* SAVE AREA ADDRESS
- CWD T0 WRITE FIRST WORD OF *PPR*
- ADN 1
- CWM 5,W7 WRITE REMAINDER OF *PPR*
- UJN SPPX RETURN
- SPACE 4,10
- * BOOTSTRAP USED TO RELOAD PP RESIDENT (UNBOOT).
- SPPC BSS 0
- LOC MSFW
- * CLEAR PP NUMBER AND C170 *MDD* FLAG FROM *D7RS*.
- LDK EIBP
- CRD CM
- LDD CM+3
- SHN 14
- LMD CM+4
- ADN D7RS
- CRD CN
- LDD CN+1 CLEAR PP NUMBER, C170 *MDD* FLAG
- LPC 6000
- STD CN+1
- LDD CM+3 REWRITE *D7RS*
- SHN 14
- LMD CM+4
- ADN D7RS
- CWD CN
- * CLEAR PP MEMORY.
- LDC PPFW
- STD CM
- LDN 0
- BTS1 STI CM
- AOD CM
- SHN -14
- ZJN BTS1 IF MORE TO CLEAR
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- LOC *O
- .SPPCL EQU *-SPPC+4
- ERRNG PPFW-MSFW-.SPPCL BOOTSTRAP IS TOO LONG
- SSH SPACE 4,10
- ** SSH - SET *SCI* HANDOFF DATA.
- *
- * EXIT (27) = PP NUMBER PLUS 2000.
- * (33) = 0, NOT UTILITY MODE.
- * (70) = 1, *SCI* NOT INITIATED BY *SDA*.
- SSH SUBR ENTRY/EXIT
- LDN 0 SET UTILITY MODE
- STD UF
- LDN 1 SET NOT *SDA* INITIATED FLAG
- STD SF
- LDD PP SET PP NUMBER
- LMC 2000 ADD *MDD* INITIATED FLAG
- STD SM
- UJN SSHX RETURN
- SPACE 4,10
- * ERROR LOG MESSAGES.
- ELM1 DATA C* MDD - MR ERROR.*
- ELM3 DATA C* MDD - VALIDATED.*
- ELM4 DATA C* MDD - BYE COMMAND EXECUTED.*
- ALERT EQU * ONLY ALERT MESSAGES BELOW THIS ADDRESS
- ELM6 DATA C* MDD - CONSOLE MUST BE UNLOCKED.*
- ELM7 DATA C* MDD - NOT ALLOWED ON THIS MAINFRAME.*
- ELM8 DATA C* MDD - IMPROPER ACCESS ATTEMPT.*
- ELM9 DATA C* MDD - SCI NOT FOUND IN CIP DIRECTORY.*
- ELM10 DATA C* MDD - MUST BE INITIATED FROM NOS/VE.*
- ELM11 DATA C* MDD - ALREADY ACTIVE.*
- TITLE MDD PRESET.
- PRS SPACE 4,20
- ** PRS - PRESET *MDD* BOOT.
- *
- * EXIT (MD - MD+2) = R-REGISTER FORMAT OF FIRST WORD OF
- * *SCI* IN CENTRAL MEMORY.
- * (PP) = PP NUMBER.
- * (PT) = PORT NUMBER.
- * (SPPA) = *PPR* LENGTH IN CM WORDS.
- * (GEAA - GEAA+1) = *EICB* FWA.
- * (GPSA - GPSA+1) = *PPR* SAVE AREA ADDRESS.
- * (GSAA - GSAA+1) = *SCI* PARAMETER TABLE ADDRESS.
- *
- * USES PT, CM - CM=4, W0 - W4.
- *
- * CALLS CKV, DLI, FCM, GEA, GPN.
- *
- * MACROS MONITOR.
- PRS SUBR ENTRY/EXIT
- LDK NCPL MOVE TO SYSTEM CONTROL POINT
- CRD CM
- AOD CM+1
- MONITOR CCAM MOVE TO SYSTEM CONTROL POINT
- RJM GPN GET PP NUMBER
- RJM CKV CHECK VALIDATIONS
- LDC PLIB
- RJM DLI DEFINE LONG INSTRUCTIONS
- LDK EIBP SAVE *EICB* FWA
- CRD W0
- LDD W0+3
- RAM GEAA
- LDD W0+4
- STM GEAA+1
- LDC =C*SCI*
- RJM FCM FIND ADDRESS OF *SCI*
- LDD IR+4 CHECK PORT PARAMETER
- SBN 1
- ZJN PRS1 IF PORT ZERO REQUESTED
- LDN 1 OTHERWISE PORT ONE
- PRS1 STD PT SAVE PORT NUMBER
- RJM GEA GET *EICB* ADDRESS
- ADN D7RS READ *PPR* SAVE AREA ADDRESS
- CRD W0
- ADN D7RS+2-D7RS *SCI* PARAMETER TABLE ADDRESS
- CRD CM
- LDD W0+2 SAVE *PPR* WORD COUNT
- STM SPPA
- LDD W0+3 SAVE *PPR* BUFFER ADDRESS
- RAM GPSA
- LDD W0+4
- STM GPSA+1
- LDD CM+3 SAVE *SCI* PARAMETER TABLE ADDRESS
- RAM GSAA
- LDD CM+4
- STM GSAA+1
- LJM PRSX RETURN
- CKV SPACE 4,10
- ** CKV - CHECK FOR PROPER VALIDATIONS.
- *
- * EXIT TO *ERR* IF *MDD* USE NOT ALLOWED.
- *
- * USES CM - CM+4.
- *
- * CALLS CUA.
- CKV SUBR ENTRY/EXIT
- LDK MABL CHECK MAINFRAME TYPE
- CRD CM
- LDD CM+1
- SHN 21-13
- MJN CKV3 IF NOT CYBER 180
- LDN SSTL CHECK CONSOLE STATUS
- CRD CM
- LDD CM
- SHN 21-11
- PJN CKV4 IF CONSOLE IS NOT UNLOCKED
- RJM CUA CHECK USER ACCESS
- NJN CKV1 IF SYSTEM ACCESS NOT ALLOWED
- LDD CM
- PJN CKVX IF MAINTENANCE ACCESS ALLOWED
- CKV1 LDC ELM8+ERLN * MDD - IMPROPER ACCESS ATTEMPT.*
- CKV2 LJM ERR ISSUE MESSAGE AND DROP *MDD*
- CKV3 LDC ELM7+ERLN * MDD - NOT ALLOWED ON THIS MAINFRAME.*
- UJN CKV2 ISSUE MESSAGE AND DROP *MDD*
- CKV4 LDC ELM6+ERLN * MDD - CONSOLE MUST BE UNLOCKED.*
- UJN CKV2 ISSUE MESSAGE AND DROP *MDD*
- FCM SPACE 4,15
- ** FCM - FIND CIP MODULE.
- *
- * ENTRY (A) = ADDRESS OF THREE CHARACTER DISPLAY CODE NAME.
- *
- * EXIT (A) = OFFSET FROM R-REGISTER OF MODULE HEADER.
- * (R) = ADDRESS/100B OF MODULE HEADER.
- * (CD - CD+2) = A AND R-REGISTER FORMAT OF CIP
- * DIRECTORY.
- * TO *ERR* IF *SCI* NOT FOUND.
- *
- * USES T1, CM - CM+3, W0 - W3.
- *
- * CALLS GEA.
- FCM4 LDDL CM RETURN WITH ADDRESS
- ADN 1 SKIP CIP IDENTIFIER WORD
- SRD MD+1 SAVE R REGISTER
- STDL MD SAVE A REGISTER
- FCM SUBR ENTRY/EXIT
- STD T1 SAVE ADDRESS OF MODULE TO FIND
- RJM GEA GET *EICB* ADDRESS
- ADN DSCM+2
- CRDL CM READ CIP POINTER
- LRD CM+1 SAVE CIP DIRECTORY POINTER
- SRD CD+1
- LDDL CM
- STDL CD
- FCM1 STDL CM
- LRD CM+1
- LMC RR ACTIVATE R REGISTER
- CRDL W0
- LDD W0
- ADD W1
- ZJN FCM3 IF END OF DIRECTORY
- LDD W0
- LMI T1
- NJN FCM2 IF NO MATCH
- LDD W1
- LMM 1,T1
- ZJN FCM4 IF MATCH
- FCM2 LDDL W3 OFFSET TO NEXT MODULE HEADER
- RADL CM
- SHN -6
- RAD CM+2
- SHN -14
- RAD CM+1
- LDD CM
- LPN 77
- UJN FCM1 FETCH NEXT ENTRY
- FCM3 LDC ELM9+ERLN * MDD - SCI NOT FOUND IN CIP DIRECTORY.*
- LJM ERR RETURN PP
- GPN SPACE 4,10
- ** GPN - GET LOGICAL PP NUMBER.
- *
- * EXIT (PP) = LOGICAL PP NUMBER.
- *
- * USES T1 - T5.
- GPN SUBR ENTRY/EXIT
- LDK PPCP
- CRD T1
- LDD IA
- SBD T1+4
- SHN -3
- STD PP
- SBN 12
- MJN GPNX IF NOT UPPER BARREL
- LDN 6
- RAD PP
- UJN GPNX RETURN
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPCUA
- *CALL COMPDLI
- *CALL COMPMRA
- PLIB SPACE 4,10
- PLIB LIST16 LIST OF 16 BIT INSTRUCTIONS
- SPACE 4
- END
cdc/nos2.source/opl871/mdd.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator