cdc:nos2.source:opl871:elm
Table of Contents
ELM
Table Of Contents
- [00007] ELM - ERROR LOG MESSAGE PROCESSOR.
- [00009] ERROR LOG MESSAGE PROCESSOR.
- [00101] MAIN PROGRAM.
- [00141] ABT - ABORT PROGRAM.
- [00149] ECS - ERROR PROCESSOR.
- [00150] ECS - PROCESS ECS ERROR MESSAGES.
- [00348] PRS - PRESET PROGRAM.
Source Code
- ELM.txt
- IDENT ELM,ELM
- PERIPH
- BASE MIXED
- SST
- *COMMENT ELM - ERROR LOG MESSAGE PROCESSOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE ELM - ERROR LOG MESSAGE PROCESSOR.
- SPACE 4
- *** ELM - ERROR LOG MESSAGE PROCESSOR.
- * S. L. BETH. 77/03/24.
- SPACE 4
- *** ELM IS CALLED BY USER PROGRAMS TO LOG MESSAGES
- * IN THE BINARY MAINTENANCE LOG.
- SPACE 4
- *** CALL.
- *
- *
- *T RA+1 18/ *ELM*,6/ R,18/ 0,18/ ADDR
- *
- * ECS ERROR INFORMATION HAS THE FOLLOWING FORMAT.
- *
- *T ADDR VFD 24/ 0,12/ L, 12/ DC,11/ STATUS,1/ C
- *T VFD 36/ 0,6/ RW,6/ 0,12/ WC
- *T VFD 6/, 6/ CD, 6/ RT, 18/ CMA, 24/ EMA
- *T VFD 60/ BAD DATA
- *T VFD 60/ GOOD DATA
- *
- * L LENGTH OF ERROR BLOCK.
- *
- * DC DEVICE CODE *EC* = ECS.
- *
- * STATUS
- * 1 = DAYFILE MESSAGE LIMIT.
- *
- * C COMPLETION BIT.
- *
- * RW READ / WRITE FLAG.
- * 1 = READ.
- * 2 = WRITE.
- *
- * WC WORD COUNT OF BLOCK TRANSFER.
- *
- * CD RECOVERY CONDITIONS.
- * 0 = BLOCK REREAD RECOVERED.
- * 1 = DATA NOT RECOVERED.
- *
- * RT RETRY COUNT.
- *
- * CMA CM ADDRESS OF TRANSFER.
- *
- * EMA EXTENDED MEMORY ADDRESS OF TRANSFER.
- SPACE 4
- *** OPERATOR MESSAGES.
- *
- *
- * * ELM - ARGUMENT ERROR.* PROCESSOR WAS CALLED WITH AN
- * ILLEGAL DEVICE CODE OR ERROR BLOCK ADDRESS.
- *
- * * ELM - EXTENDED MEMORY NOT ASSIGNED.* A CALL WAS MADE TO
- * REPORT AN EXTENDED MEMORY ERROR AND THE CONTROL POINT
- * DID NOT HAVE EXTENDED MEMORY ASSIGNED.
- *
- * * ELM - DAYFILE MESSAGE LIMIT.* A CALL WAS MADE TO REPORT
- * AN ERROR AND THE USERS DAYFILE MESSAGE LIMIT HAD BEEN
- * REACHED.
- SPACE 4
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMSDFS
- *CALL COMSMSP
- *CALL COMSPIM
- SPACE 4,10
- ** EQUATES FOR ERROR BUFFER.
- BLKL EQU 2 BLOCK LENGTH
- DVCD EQU 3 DEVICE CODE
- COMP EQU 4 COMPLETION BIT
- RWFG EQU 1*5+3 READ/WRITE FLAG
- WDCT EQU 1*5+3 WORD COUNT
- COND EQU 2*5 RECOVERY CONDITIONS
- RTCT EQU 2*5+1 RETRY COUNT
- CMAD EQU 2*5+1 RELATIVE CM ADDRESS
- EMAD EQU 2*5+3 RELATIVE EM ADDRESS
- BDDA EQU 3*5 BAD DATA
- GDDA EQU 4*5 GOOD DATA
- BUFL EQU 5*5 BUFFER LENGTH
- SPACE 4
- * EQUATES FOR STATUS REPLIES.
- LDFM EQU 1 DAYFILE LIMIT REACHED
- SPACE 4
- ** DIRECT LOCATION ASSIGNMENTS.
- CN EQU 27 RECOVERED/UNRECOVERED FLAG
- CW EQU 30 - 34 CONTROL WORDS
- ST EQU 36 STATUS TO RETURN
- ELM TITLE MAIN PROGRAM.
- ** ELM - MAIN PROGRAM.
- ORG PPFW
- ELM RJM PRS GET ERROR PROCESSOR ADDRESS
- ZJN ELM1 IF DAYFILE MESSAGE LIMIT
- STM ELMA
- RJM * CALL ERROR PROCESSOR
- ELMA EQU *-1
- LDN 1 DECREMENT DAYFILE MESSAGE LIMIT
- STD CM+1
- STD CM+2
- LDD MA
- CWM ELMB,ON
- MONITOR UADM UPDATE DAYFILE LIMIT
- ELM1 LDD ST SET STATUS AND COMPLETION BIT
- SHN 1
- ADN 1
- RAM BUF+COMP
- LDD IR+3
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CWM BUF,ON
- MONITOR DPPM DROP PPU
- LJM PPR RETURN TO PP RESIDENT
- * BUFFER FOR *UADM* FUNCTION.
- ELMB CON CDCS DECREMENT FIELD
- CON ACLW
- CON 36D*100+12D
- CON 0
- CON 0
- ABT SPACE 4,10
- ** ABT - ABORT PROGRAM.
- *
- * ENTRY (A) = ERROR MESSAGE ADDRESS.
- ABT RJM DFM
- MONITOR ABTM
- LJM PPR RETURN TO PP RESIDENT
- TITLE ECS - ERROR PROCESSOR.
- ** ECS - PROCESS ECS ERROR MESSAGES.
- *
- * ENTRY (BUF) = ECS ERROR BUFFER.
- *
- * EXIT TO *ABT* IF ECS NOT ASSIGNED.
- ECS SUBR ENTRY/EXIT
- LDD CP READ ECS CONTROL WORD
- ADN ECSW
- CRD CW
- LDD CW+4 CHECK FOR ECS ASSIGNED
- NJN ECS1 IF USER ECS ASSIGNED
- LDC =C* ELM - EXTENDED MEMORY NOT ASSIGNED.*
- LJM ABT ABORT JOB
- ECS1 LDM BUF+RWFG SET READ/WRITE FLAG IN MESSAGE
- SHN -6
- LPN 2
- STM MSGA+6
- LDN PARE SET ERROR CODE
- STM MSGA+12
- LDC /COMSDFS/HS0040+/COMSDFS/DELM*400
- STM MSGA+1
- LDM BUF+RTCT ADD RETRY COUNT TO MESSAGE
- SCN 77
- RAM MSGA+6
- LDM BUF+COND SET RECOVERED/UNRECOVERED STATUS
- LPN 1
- RAM MSGA+6
- LDK MMFL ADD MACHINE ID TO MESSAGE
- CRD CM
- LDD CM
- STM MSGA+10
- * THE WORD COUNT SUPPLIED IN THE PARAMETER BLOCK IS THE WORD
- * COUNT OF THE ENTIRE BLOCK SPECIFIED BY THE USER. THE
- * EXTENDED MEMORY ADDRESS, HOWEVER, APPLIES TO A PARTICULAR
- * ADDRESS IN ERROR. THE WORD COUNT REPORTED IN THE BML
- * MESSAGE IS THEREFORE ALWAYS ONE, TO INDICATE THE EXTENDED
- * MEMORY ADDRESS IS AN ACTUAL ERROR ADDRESS INSTEAD OF THE
- * ADDRESS OF A BLOCK CONTAINING AN ERROR.
- LDN 1 ADD WORD COUNT TO MESSAGE
- STM MSGA+21
- * DETERMINE THE MESSAGE ID WHICH CORRESPONDS TO THIS DEVICE
- * AND ADD IT TO THE BML MESSAGE HEADER.
- LDK UEML ADD EST ORDINAL TO MESSAGE
- CRD CM
- LDD CM+2
- LPC 777
- STD T5
- STM MSGA+5
- ZJN ECS3 IF NO EQUIPMENT
- 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 ECSBL
- STD T1
- ECS2 LCN 2 SCAN TABLE FOR A MATCH
- RAD T1
- ZJN ECS3 IF DEVICE NOT FOUND IN TABLE
- LDM ECSB-2,T1
- LMD CM+3
- LPC 707
- NJN ECS2 IF A MATCH HAS NOT YET BEEN FOUND
- LDM ECSB-1,T1
- ECS3 STM MSGA+0 ADD MESSAGE ID TO MESSAGE
- * CONVERT EM ADDRESS AND ADD IT TO THE BML MESSAGE.
- LDD CW+2 ADJUST FOR RAE
- SHN 14
- ADD CW+3
- ECSA SHN 0
- * SHN 17+UESC
- STD T0
- SHN -6
- SCN 77
- RAM BUF+EMAD+1
- STM MSGA+23
- SHN -14
- ADD T0
- RAM BUF+EMAD
- STM MSGA+22
- * CONVERT CM ADDRESS AND ADD IT TO THE BML MESSAGE.
- LDD RA
- SHN 6
- RAM BUF+CMAD+1
- STM MSGA+16
- SHN -14
- RAM BUF+CMAD
- LPN 77
- STM MSGA+15
- * ADD BAD DATA AND GOOD DATA TO MESSAGE. BAD DATA, (DATA
- * RECEIVED OR SENT ON THE FIRST TRY) IS ALWAYS PROVIDED IN THE
- * PARAMETER BLOCK. GOOD DATA (DATA RECEIVED ON THE SECOND
- * ATTEMPT) IS ONLY PROVIDED IN THE CASE OF A RECOVERED READ
- * EXTENDED MEMORY ERROR IN WHICH THE DATA FROM THE SECOND
- * READ ATTEMPT IS DIFFERENT FROM THE DATA RECEIVED THE FIRST
- * TIME.
- LDN 2
- STD T1
- LDD MA
- CWM BUF+BDDA,ON
- CWM BUF+GDDA,ON
- SBN 2
- CRM MSGA+24,T1
- LDM BUF+COND CHECK FOR GOOD DATA
- LPN 1
- NJN ECS4 IF NO GOOD DATA
- LDM BUF+RWFG
- SHN -7
- LPN 1
- NJN ECS4 IF A WRITE PARITY ERROR
- LDN 3
- ECS4 STM MSGA+17
- LDN 6*5 SET BML MESSAGE LENGTH
- STD CM+1
- LDC MSGA+BMLN ISSUE BML MESSAGE
- RJM DFM
- AOM ELMB+4 BUMP MESSAGE INCREMENT
- * IF THE ERROR WAS UNRECOVERED, ISSUE AN ERROR 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 BUF+COND
- LPN 1
- STD CN
- ZJN ECS5 IF THE ERROR WAS RECOVERED
- LDD T5 SET EQUIPMENT ORDINAL IN MESSAGE
- LPN 7
- SHN 6
- RAM ECSG+2
- LDD T5
- SHN -3
- RJM C2D
- STM ECSG+1
- LDC ECSG ISSUE SYSTEM AND DAYFILE MESSAGES
- RJM DFM
- LDC ECSG+ERLN ISSUE ERRLOG MESSAGE
- RJM DFM
- * INCREMENT THE RECOVERED OR UNRECOVERED ERROR COUNTER IN THE
- * MST FOR THE CURRENT DEVICE.
- ECS5 LDD T5 SET EST ORDINAL
- ZJN ECS6 IF NO EQUIPMENT DEFINED
- STD CM+1
- LDD CN SET BYTE NUMBER
- ADN 3
- STD CM+2
- LDK ICTS SET SUBFUNCTION
- STD CM+3
- MONITOR SMDM INCREMENT COUNTER
- ECS6 LJM ECSX RETURN
- ECSB 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
- ECSBL EQU *-ECSB+2 MESSAGE ID TABLE LENGTH
- ECSG DATA C*EQ000 PE MASS STORAGE ERROR.*
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPC2D
- USE LITERALS
- * MESSAGE SKELETONS.
- MSGA BSSZ 6*5 BML MESSAGE BUFFER
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * EXIT (BUF) = ERROR DATA BUFFER.
- * (A) = MESSAGE PROCESSOR ADDRESS.
- * (A) = 0 IF DAYFILE LIMIT REACHED.
- * TO *ABT* IF ARGUMENT ERROR DETECTED.
- *
- * USES T1, CM - CM+4, ST.
- PRS SUBR ENTRY/EXIT
- LDK MEFL
- CRD CM
- LDD CM+2
- SHN -11
- ADC SHNI+17
- STM ECSA
- LDN 0 CLEAR STATUS REPLY
- STD ST
- LDD IR+3 CHECK CALL PARAMETERS
- LPN 77
- SHN 14
- ADD IR+4
- ADN BUFL/5
- SHN -6
- SBD FL
- MJN PRS2 IF BUFFER NOT BEYOND FL
- PRS1 LDC =C* ELM - ARGUMENT ERROR.*
- LJM ABT ABORT JOB
- PRS2 LDN BUFL/5 READ ERROR BUFFER
- STD T1
- LDD IR+3
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CRM BUF,T1
- LDD CP CHECK FOR DAYFILE LIMIT
- ADK ACLW
- CRD CM
- LDD CM+1
- NJN PRS3 IF DAYFILE LIMIT NOT REACHED
- LDN LDFM SET DAYFILE LIMIT STATUS
- STD ST
- LDN 0
- LJM PRSX RETURN
- PRS3 LCN 1 FIND ERROR PROCESSOR
- STD T1
- PRS4 LDN 2
- RAD T1
- LDM PRSA,T1
- ZJN PRS5 IF END OF TABLE
- LMM BUF+DVCD
- NJN PRS4 IF NO MATCH
- LDM PRSA+1,T1 SET PROCESSOR ADDRESS
- LJM PRSX RETURN
- PRS5 LJM PRS1 ABORT
- ** LIST OF ERROR PROCESSORS.
- *
- * ENTRY = 2 WORDS.
- *T, 12/ DEVICE CODE,12/ PROCESSOR
- PRSA VFD 12/2REC,12/ECS
- CON 0
- BUF EQU * ERROR DATA BUFFER
- END
cdc/nos2.source/opl871/elm.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator