cdc:nos2.source:opl871:1mc
Table of Contents
1MC
Table Of Contents
- [00007] 1MC - MONITOR PARITY ERROR REPORTING.
- [00009] MONITOR PARITY ERROR REPORTING.
- [00089] MACRO DEFINITIONS.
- [00096] OVERLAY - GENERATE OVERLAY CONSTANTS.
- [00122] MTC - BUFFER IN ERROR DATA.
- [00124] MTC - MAIN PROGRAM.
- [00156] MAIN ROUTINE.
- [00233] SUBROUTINES.
- [00235] DUE - DISABLE USER ECS.
- [00279] IBM - ISSUE BML MESSAGE.
Source Code
- 1MC.txt
- IDENT 1MC,MTC
- PERIPH
- BASE MIXED
- SST
- *COMMENT 1MC - MONITOR PARITY ERROR REPORTING.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE 1MC - MONITOR PARITY ERROR REPORTING.
- SPACE 4
- *** 1MC - MONITOR PARITY ERROR REPORTING.
- * W. E. GOEBEL 75/08/25.
- SPACE 4
- *** *1MC* IS CALLED BY *CPUMTR* TO REPORT ECS PARITY
- * ERRORS. *1MC* IS FORCED CM RESIDENT BY *SLL* WHEN ECS
- * IS PRESENT. THIS IS NEEDED BECAUSE *1MC* CAN BE CALLED
- * DIRECTLY BY *CPUMTR* MONITOR MODE. IN THIS CASE *CPUMTR*
- * IS WAITING FOR *1MC* TO INDICATE IT IS READY TO RECIEVE
- * DATA. BECAUSE OF THIS *1MC* MUST NOT DEPEND UPON ISSUING
- * ANY MONITOR FUNCTION TO LOAD. THUS THE CM RESIDENCE
- * REQUIREMENT.
- * *1MC* PERFORMS THE BUFFERING IN OF ERROR DATA AND
- * THEN CALLS *2MN* TO FORMAT AND ISSUE THE ACTUAL ERROR
- * MESSAGES. THIS IS TO KEEP THE CM REQUIREMENT OF *1MC* AT
- * A MINIMUM. IT SHOULD BE NOTED THAT *2MN* SHOULD NEVER
- * BE ECS RESIDENT.
- SPACE 4
- *** CALL.
- *
- *
- *T IR 18/ *1MC*,6/ SCP,12/ EST,6/ RW,18/ WC
- * SCP SYSTEM CONTROL POINT NUMBER.
- * EST EXTENDED MEMORY EST ORDINAL.
- * RW READ / WRITE FLAG.
- * 1 = READ
- * 2 = WRITE
- * WC WORD COUNT OF BLOCK TRANSFER.
- *
- *T,MB 36/, 24/ CB
- * CB COMMUNICATIONS BUFFER ADDRESS.
- *
- * ECS ERROR INFORMATION IS BUFFERED FROM *CPUMTR* VIA A
- * COMMUNICATIONS BUFFER. IT IS *1MC*-S RESPONSIBILITY TO
- * CLEAR THE BUFFER INTERLOCK AFTER IT READS THE DATA.
- * THIS BUFFER HAS THE FOLLOWING FORMAT -
- *
- *T,CB 1/ C, 47/ ,12/ IL
- *T,CB+1 6/, 6/ CD, 6/ RT, 18/ CMA, 24/ ECA
- *T,CB+2 60/ BAD DATA
- *T,CB+3 60/ GOOD DATA
- * .
- * .
- * .
- *T,CB+N 60/0
- *
- * C COMPLETE FLAG (SIGNALS *1MC* TO READ DATA).
- * IL BUFFER INTERLOCK (NON-ZERO WHEN SET).
- * CD 3/, 1/ RU, 1/ BD, 1/ GD
- * RU = RECOVERED / UNRECOVERED FLAG.
- * 0 = RECOVERED
- * 1 = UNRECOVERED
- * BD = 1 IF BAD DATA PRESENT.
- * GD = 1 IF GOOD DATA PRESENT.
- * RT RETRY COUNT.
- * CMA CM ADDRESS OF TRANSFER.
- * ECA ECS ADDRESS OF TRANSFER.
- *
- * THE ERROR DATA IS TERMINATED BY A ZERO WORD.
- SPACE 4
- *** OPERATOR MESSAGES.
- *
- *
- * * USER ECS DISABLED.* DUE TO UNRECOVERED ECS PARITY
- * ERRORS SCHEDULING OF USER ECS JOBS HAS
- * BEEN DISABLED.
- SPACE 4
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMSDFS
- *CALL COMSEVT
- *CALL COMSMSC
- *CALL COMSMSP
- *CALL COMSPIM
- SPACE 4
- ** DIRECT LOCATION ASSIGNMENTS.
- ZR EQU 20 - 24 ZERO WORD
- BP EQU 25 BUFFER POINTER
- CN EQU 30 RECOVERED/UNRECOVERED FLAG
- TITLE MACRO DEFINITIONS.
- SPACE 4,10
- ** OVERLAY CONTROL.
- .N SET 0
- OVLB MICRO 1,, 2M BASE OVERLAY NAME
- OVERLAY SPACE 4,10
- ** OVERLAY - GENERATE OVERLAY CONSTANTS.
- *
- *
- * OVERLAY (TEXT),LADDR
- *
- * ENTRY *TEXT* = TEXT OF SUBTITLES.
- * *LADDR* = LOAD ADDRESS FOR OVERLAY, DEFAULT OVL.
- PURGMAC OVERLAY
- OVERLAY MACRO TEXT,OVL
- MACREF OVERLAY
- QUAL
- .N SET .N+1
- .M MICRO .N,1, NOPQRSTUVWXYZ
- .O MICRO 1,3, "OVLB"".M"
- QUAL ".O"
- TTL 1MC/".O" - TEXT
- TITLE
- IDENT ".O",OVL TEXT
- *COMMENT 1MC - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVL
- ENDM
- SPACE 4
- TITLE MTC - BUFFER IN ERROR DATA.
- MTC SPACE 4
- ** MTC - MAIN PROGRAM.
- ORG PPFW
- MTC LDD MP+3 ASSEMBLE BUFFER ADDRESS
- RAM MTCA-1
- STM MTCB-1
- LDD MP+4
- STM MTCA
- STM MTCB
- LDN ZERL SET ZERO WORD
- CRD ZR
- LDN MCBL BUFFER LENGTH
- STD T1
- MTC1 LDC ** READ BUFFER
- MTCA EQU *-1 COMMUNICATIONS BUFFER ADDRESS
- CRM BUF,T1
- LDM BUF
- SHN 21-13
- PJN MTC1 IF BUFFER NOT COMPLETE
- LDC ** CLEAR BUFFER INTERLOCK
- MTCB EQU *-1 COMMUNICATIONS BUFFER ADDRESS
- CWD ZR
- EXECUTE 2MN
- SPACE 4
- OVL EQU PPFW
- BUF EQU PPFW-5+500*2 ALLOW TWO SECTORS FOR *2MN*
- BUFL EQU MCBL*5 BUFFER LENGTH
- MXBL EQU EPFW-5*3+1 MAXIMUM BUFFER LENGTH
- ERRNG MXBL-BUF-BUFL CHECK BUFFER OVERFLOW
- TTL 1MC/2MC - PROCESS ERROR DATA.
- TITLE MAIN ROUTINE.
- OVERLAY (PROCESS ERROR DATA.),OVL
- SPACE 4
- *** 2MN - REPORT PARITY ERRORS.
- PEM LJM * ENTRY
- * SET UP THOSE FIELDS IN THE BML MESSAGE WHICH ARE CONSTANT
- * FOR ALL ERRORS.
- LDN PARE SET ERROR CODE
- STM MSGA+12
- LDC /COMSDFS/HS0040+/COMSDFS/D1MC*400
- STM MSGA+1
- LDK MMFL ADD MACHINE ID TO MESSAGE
- CRD CM
- LDD CM
- STM MSGA+10
- LDD IR+2 ADD EST ORDINAL TO MESSAGE
- STM MSGA+5
- * DETERMINE THE MESSAGE ID WHICH CORRESPONDS WITH THIS DEVICE
- * AND ADD IT TO THE BML MESSAGE HEADER.
- SFA EST GET EST ENTRY FOR DEVICE
- ADK EQDE
- CRD CM
- LDD CM+4 GET WORD *DILL* FROM THE MST
- SHN 3
- ADK DILL
- CRD CM
- LDN PEMBL
- STD T1
- PEM1 LCN 2 SCAN TABLE FOR A MATCH
- RAD T1
- ZJN PEM2 IF DEVICE NOT FOUND IN TABLE
- LDM PEMB-2,T1
- LMD CM+3
- LPC 707
- NJN PEM1 IF A MATCH HAS NOT YET BEEN FOUND
- LDM PEMB-1,T1
- PEM2 STM MSGA+0 ADD MESSAGE ID TO MESSAGE
- * FOR EACH ERROR IN THE BUFFER, ISSUE A BML ERROR MESSAGE.
- LDC BUF+5
- STD BP SET BUFFER POINTER
- LDN ZERL SET END OF DATA
- CRM BUF+MCBL*5,ON
- PEM3 LDM 1,BP CHECK FOR END OF BUFFER
- ZJN PEM4 IF NO MORE MESSAGES IN BUFFER
- RJM IBM ISSUE BML MESSAGE
- LDN 3*5 ADVANCE POINTER TO NEXT ERROR IN BUFFER
- RAD BP
- UJN PEM3 CHECK FOR ANOTHER MESSAGE
- PEM4 MONITOR DPPM
- LJM PPR RETURN TO PP RESIDENT
- MSGA BSSZ 6*5 BML MESSAGE BUFFER
- SPACE 4,10
- PEMB BSS 0 TABLE OF MESSAGE IDENTIFERS
- CON 112,/COMSDFS/RM0070 (DP) ECS I - DC135 DDP
- CON 110,/COMSDFS/RM0071 (DE) ECS I - COUPLER
- CON 212,/COMSDFS/RM0072 (DP) ECS II - DC135 DDP
- CON 210,/COMSDFS/RM0073 (DE) ECS II - COUPLER
- CON 111,/COMSDFS/RM0074 (DP) ECS I - DC145 DDP
- CON 211,/COMSDFS/RM0075 (DP) ECS II - DC145 DDP
- CON 320,/COMSDFS/RM0076 (DE) LCME - COUPLER
- CON 510,/COMSDFS/RM0207 (DE) ESM - COUPLER
- CON 511,/COMSDFS/RM0210 (DP) ESM - LOW SPEED PORT
- PEMBL EQU *-PEMB+2 MESSAGE ID TABLE LENGTH
- TITLE SUBROUTINES.
- DUE SPACE 4,15
- ** DUE - DISABLE USER ECS.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- DUE SUBR ENTRY/EXIT
- LDN ECRL
- CRD CM
- LDD CM+1
- SBD CM+4
- ZJN DUEX IF USER ECS NOT DEFINED
- LDK UEML
- CRD CM
- LDD CM+2
- LMD IR+2
- LPC 777
- NJN DUEX IF NOT USER ECS EQUIPMENT
- LDN SSTL
- CRD CM
- LDD CM
- SHN 21-5
- MJN DUEX IF ECS ALREADY DISABLED
- LDN 40
- RAD CM
- LDN SSTL
- CWD CM
- LDN NCPL WRITE MESSAGE AT SYSTEM CP
- CRD CM
- AOD CM+1
- SHN 7
- ADN MS2W
- CWM DUEA,TR
- LDN ZERL ISSUE USER *ECS* DISABLED EVENT
- CRD CM
- LDN UEDE
- STD CM+4
- MONITOR EATM
- LJM DUEX RETURN
- DUEA DATA C* USER ECS DISABLED. *
- IBM SPACE 4,10
- ** IBM - ISSUE BML MESSAGE.
- *
- * USES CM - CM+4, IR+3 - IR+4, BP, CN.
- *
- * CALLS DFM, DUE.
- *
- * MACROS MONITOR.
- IBM SUBR ENTRY/EXIT
- LDD IR+3 ADD READ/WRITE FLAG TO MESSAGE
- SHN -6
- LPN 2
- STM MSGA+6
- LDM 1,BP ADD RETRY COUNT TO MESSAGE
- SCN 77
- RAM MSGA+6
- LDM 3,BP ADD ECS ADDRESS TO MESSAGE
- STM MSGA+22
- LDM 4,BP
- STM MSGA+23
- LDM 1,BP ADD CM ADDRESS TO MESSAGE
- LPN 77
- STM MSGA+15
- LDM 2,BP
- STM MSGA+16
- * SET RECOVERED/UNRECOVERED STATUS.
- LDI BP
- LPN 4
- ZJN IBM1 IF ERROR WAS RECOVERED
- RJM DUE DISABLE USER ECS
- LDN 1 SET ERROR UNRECOVERED
- IBM1 RAM MSGA+6
- * ADD WORD COUNT TO MESSAGE. IF GOOD OR BAD DATA WAS PASSED
- * ALONG WITH THE OTHER ERROR DATA, THE WORD COUNT USED IS ONE,
- * BECAUSE THE ERROR REFERS TO AN ACTUAL ADDRESS. IF NO
- * GOOD/BAD DATA WAS PASSED, THE GIVEN WORD COUNT IS USED,
- * INDICATING THAT THE ERROR OCCURRED SOMEWHERE WITHIN THAT
- * WORD COUNT RANGE. THIS OCCURS WHEN *CPUMTR* RECOVERS AN
- * ERROR BUT IS UNABLE TO DETERMINE THE EXACT ADDRESS WHICH
- * CAUSED THE HALF EXIT.
- LDI BP
- LPN 3
- NJN IBM2 IF GOOD OR BAD DATA WAS PASSED
- LDD IR+3
- LPN 77
- SHN 14
- LMD IR+4
- UJN IBM3 ADD WORD COUNT
- IBM2 LDN 1
- IBM3 STM MSGA+21
- SHN -14
- STM MSGA+20
- * ADD GOOD AND BAD DATA TO MESSAGE.
- LDC MSGA+24
- STM IBMC
- LDD BP
- ADN 5
- STM IBMA
- ADN 5
- STM IBMB
- LDI BP CHECK FOR BAD DATA
- LPN 2
- SHN -1
- STM MSGA+17
- ZJN IBM4 IF NO BAD DATA
- LDD MA
- CWM **,ON
- IBMA EQU *-1
- SBN 1
- CRM MSGA+24,ON
- IBM4 LDI BP CHECK FOR GOOD DATA
- LPN 1
- ZJN IBM6 IF NO GOOD DATA
- LMI BP
- LPN 3
- ZJN IBM5 IF ONLY GOOD DATA
- LDN 5
- RAM IBMC
- LDN 2
- IBM5 LMN 1
- STM MSGA+17
- LDD MA
- CWM IBMB,ON
- IBMB EQU *-1
- SBN 1
- CRM MSGA+24,ON
- * CRM MSGA+31,ON
- IBMC EQU *-1
- IBM6 LDN 6*5 SET BML MESSAGE LENGTH
- STD CM+1
- LDC MSGA+BMLN ISSUE BML MESSAGE
- RJM DFM
- * IF THE ERROR IS UNRECOVERED, ISSUE A MESSAGE TO THE ERRLOG
- * AND TO THE SYSTEM AND JOB DAYFILES INDICATING THE TYPE OF
- * ERROR AND THE DEVICE ON WHICH THE ERROR OCCURRED.
- LDM MSGA+6
- LPN 1
- STD CN
- ZJN IBM7 IF RECOVERED ERROR
- LDD IR+2
- SHN -3
- RJM C2D
- STM IBMG+1
- LDD IR+2 SET EST ORDINAL IN DAYFILE MESSAGE
- LPN 7
- SHN 6
- ADC 2R0
- STM IBMG+2
- LDC IBMG ISSUE SYSTEM AND DAYFILE MESSAGES
- RJM DFM
- LDC IBMG+ERLN ISSUE ERRLOG MESSAGE
- RJM DFM
- * INCREMENT THE RECOVERED OR UNRECOVERED ERROR COUNTER IN THE
- * MST FOR THE CURRENT DEVICE.
- IBM7 LDD CN SET BYTE NUMBER
- ADN 3
- STD CM+2
- LDD IR+2 SET EST ORDINAL
- STD CM+1
- LDK ICTS SET SUBFUNCTION
- STD CM+3
- MONITOR SMDM INCREMENT ERROR COUNTER
- LJM IBMX RETURN
- IBMG DATA C*EQ000 PE MASS STORAGE ERROR.*
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPC2D
- ERRPL *-BUF OVERLAY OVERFLOWS BUFFER
- END
cdc/nos2.source/opl871/1mc.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator