cdc:nos2.source:opl871:1md
Table of Contents
1MD
Table Of Contents
- [00005] 1MD - MASS STORAGE ERROR MESSAGE PROCESSOR.
- [00009] MASS STORAGE ERROR MESSAGE PROCESSOR.
- [00189] MACRO DEFINITIONS.
- [00214] ASSEMBLY CONSTANTS.
- [00257] MAIN PROGRAM.
- [00258] MPR - BUFFERED I/O MESSAGE PROCESSOR.
- [00355] MAIN PROCESSING ROUTINES.
- [00357] FMM - FORMAT AND ISSUE 819 BML MESSAGE.
- [00471] SUBROUTINES.
- [00473] CCR - CALL CONVERSION ROUTINE.
- [00505] CDA - CONVERT DISK ADDRESS FOR *ERMD* MESSAGE.
- [00532] CIL - CLEAR *EMB* INTERLOCK AND RESET FLAGS.
- [00560] CLM - CLEAR MESSAGE BUFFER.
- [00576] CMP - CONVERT BASIC MESSAGE PARAMETERS.
- [00640] CPD - COPY ERROR DATA.
- [00692] CSD - CONVERT STATUS DATA.
- [00724] C1P - CONVERT FIRST PAIR OF HEX DIGITS.
- [00742] C2P - CONVERT SECOND PAIR OF HEX DIGITS.
- [00762] C3P - CONVERT THIRD PAIR OF HEX DIGITS.
- [00778] C4D - CONVERT FOUR OCTAL DIGITS.
- [00802] C6D - CONVERT SIX OCTAL DIGITS.
- [00832] FMT - FORMAT *BML* MESSAGE.
- [00918] GEM - GENERATE ERRLOG MESSAGE FOR MASS STORAGE ERROR.
- [01006] GIL - GET *EMB* INTERLOCK.
- [01035] MESSAGE GENERATORS.
- [01089] MESSAGE GENERATORS.
- [01182] MESSAGE GENERATORS.
- [01227] MESSAGE GENERATORS.
- [01369] MESSAGE GENERATORS.
- [01485] MISCELLANEOUS.
- [01487] TDVT - TABLE OF MASS STORAGE DEVICE TYPES.
- [01494] TELM - TABLE OF ERRLOG MESSAGES.
- [01539] TEMP - TABLE OF ERRLOG MESSAGE PROCESSORS.
- [01545] TMID - TABLE OF MASS STORAGE BML MESSAGE ID-S.
Source Code
- 1MD.txt
- IDENT 1MD,MPR
- PERIPH
- BASE MIXED
- SST
- TITLE 1MD - MASS STORAGE ERROR MESSAGE PROCESSOR.
- *COMMENT 1MD - MS ERROR MESSAGE PROCESSOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- 1MD SPACE 4,10
- *** 1MD - MASS STORAGE ERROR MESSAGE PROCESSOR.
- * S. L. BETH 80/03/17.
- * R. M. DANISCH 85/12/31.
- * P. D. HAAS 86/07/01.
- SPACE 4,15
- *** *1MD* IS CALLED BY THE MASS STORAGE DRIVERS AND THE 819
- * INTERRUPT HANDLER TO ISSUE MASS STORAGE ERROR MESSAGES. FOR
- * 819 ERRORS, *1MD* MUST CONSTRUCT THE BML MESSAGE BEFORE
- * ISSUING IT. FOR ALL OTHER DEVICE TYPES, IT IS ASSUMED THE
- * DRIVER HAS ALREADY BUILT THE MESSAGE BEFORE CALLING *1MD*.
- * ONLY BML MESSAGES ARE ISSUED FOR 819 DEVICES. BUT BML, ERROR
- * LOG OR SYSTEM DAYFILE MESSAGES MAY BE ISSUED FOR OTHER DEVICE
- * TYPES.
- *
- * *1MD* MUST BE CM RESIDENT SINCE A LOAD FROM DISK MAY NOT BE
- * POSSIBLE IN A CONFIGURATION WHERE THE ONLY SYSTEM DEVICE IS
- * THE DEVICE TAKING ERRORS.
- 1MD SPACE 4,10
- *** CALL FORMAT -
- *
- *T 18/ 1MD, 1/, 5/ SCP, 24/, 12/ F
- *
- * SCP = SYSTEM CONTROL POINT NUMBER.
- * F = 0 IF 819 DEVICE.
- * 1 IF NOT 819 DEVICE.
- 1MD SPACE 4,10
- *** ERROR LOG MESSAGES.
- *
- * * 1MD - MESSAGES LOST.* - *1MD* WAS UNABLE TO FLUSH THE ERROR
- * BUFFER FAST ENOUGH TO KEEP UP WITH THE GENERATION OF
- * ERROR MESSAGES BY THE DRIVER(S).
- 1MD SPACE 4,20
- *** BINARY MAINTENANCE LOG ENTRY FORMATS.
- *
- * GENERAL FORMAT -
- *
- *T 12/ ID, 4/ DT, 1/ 0, 7/ SC, 6/ PP, 6/ CH, 6/ 0, 6/ UN, 12/ 0
- *T, 12/ EO, 6/ RC, 6/ FG, 6/ CR, 6/ 0, 12/ MF, 12/ 0
- *T, 12/ EC, 12/ CY, 12/ TS, 12/ LF, 12/ GS
- *T, 60/ DETAILED STATUS
- *T, 60/ .
- *T, 60/ .
- *T, 60/ .
- *T, 6/ UFC, 18/ OSR, 18/ ACR, 18/ ESR
- *
- *
- * EXTENDED MEMORY FORMAT -
- *
- *T 12/ ID, 4/ DT, 1/ 0, 7/ SC, 6/ PP, 6/ CH, 24/ 0
- *T, 12/ EO, 6/ RC, 6/ FG, 6/ CR, 6/ 0, 12/ MF, 12/ 0
- *T, 12/ EC, 48/ 0
- *T, 12/ FB, 12/ FS, 12/ WC, 24/ AD
- *T, 60/ ERROR DATA
- *T, 60/ ERROR DATA
- *
- *
- * 819 FORMAT -
- *
- *T 12/ ID, 4/ DT, 1/, 7/ SC, 36/ ACCESS PATH
- *T, 12/ EO, 6/ RC, 6/ FG, 6/ CR, 6/ 0, 24/ 0
- *T, 12/ PPID, 12/ BYTE COUNT, 36/ ERROR DATA
- *T, 60/ ERROR DATA
- *T, 60/ ERROR DATA
- *T, 60/ ERROR DATA
- *
- *
- * 887 / 9853 / 583X / 47444 FORMAT -
- *
- *T 12/ ID, 4/ DT, 1/0, 7/ SC, 6/PP, 6/CH, 6/EQ, 6/UN, 6/PN, 6/0
- *T, 12/ EO, 6/ RC, 6/ FG, 12/ 0, 12/ MF, 12/ 0
- *T, 12/ IF, 12/ F1, 12/ F2, 12/ F3, 12/ FF
- *T, 12/ RS, 12/ RB, 12/ ST, 12/ CY, 12/ TS
- *T, 16/ EXS, 16/ IDS, 16/ BSR, 12/ LCM
- *T, 04/ LCM, 16/ LFN, 16/ CRG, 16/ CRG, 08/ CRG
- *T, 08/ CRG, 16/ CRG, 16/ 000, 16/ 000, 04/ 000
- *T, 12/ 000, 16/ TRG, 16/ TRG, 16/ TRG
- *T, 16/ SLS, 16/ SLS, 16/ SLS, 12/ SLS
- *T, 04/ SLS, 16/ SLS, 16/ SLS, 16/ SLS, 08/ DVS
- *T, 08/ DVS, 16/ DVS, 16/ DVS, 16/ DVS, 04/ DVS
- *T, 12/ DVS, 16/ DVS, 16/ DVS, 16/ DVS
- *
- *
- * COMMON FIELD DESCRIPTIONS -
- *
- * ID MESSAGE ID. SEE *COMSDFS*.
- * DT DRIVER TYPE. SEE *COMSDFS*.
- * SC SYMPTOM CODE. SEE *COMSDFS*.
- * PP PP NUMBER OF DRIVER.
- * CH CHANNEL NUMBER.
- * EQ EQUIPMENT (CONTROL MODULE/CONTROLLER) NUMBER.
- * UN UNIT NUMBER.
- * PN PORT NUMBER.
- * EO EST ORDINAL.
- * RC RETRY COUNT.
- * FG FLAGS (GENERAL)
- * BIT 41 UNUSED (ZERO).
- * BIT 40 UNUSED (ZERO).
- * BIT 39 SET IF NOT FIRST BLOCK OF MESSAGE.
- * BIT 38 SET IF NOT LAST BLOCK OF MESSAGE.
- * BIT 37 SET/CLEAR IF WRITE/READ OPERATION,
- * RESPECTIVELY.
- * BIT 36 SET/CLEAR IF UNRECOVERED/RECOVERED,
- * RESPECTIVELY.
- * CR RECOVERY CHANNEL.
- * MF MAINFRAME ID.
- * EC ERROR CODE.
- * CY CYLINDER AT SEEK TIME.
- * TS TRACK AND SECTOR AT SEEK TIME.
- * LF LAST FUNCTION ISSUED.
- * GS INITIAL GENERAL STATUS.
- * EXTENDED MEMORY FIELD DESCRIPTIONS -
- *
- * FB FLAG BITS
- * BIT 59 UNUSED (ZERO).
- * BIT 58 UNUSED (ZERO).
- * BIT 57 UNUSED (ZERO).
- * BIT 56 UNUSED (ZERO).
- * BIT 55 UNUSED (ZERO).
- * BIT 54 UNUSED (ZERO).
- * BIT 53 UNUSED (ZERO).
- * BIT 52 UNUSED (ZERO).
- * BIT 51 UNUSED (ZERO).
- * BIT 50 UNUSED (ZERO).
- * BIT 49 SET IF ERROR DATA WORD TWO PRESENT.
- * BIT 48 SET IF ERROR DATA WORD ONE PRESENT.
- * FS FUNCTION STATUS.
- * WC WORD COUNT.
- * AD EXTENDED MEMORY ADDRESS.
- *
- *
- * 819 FIELD DESCRIPTIONS -
- *
- * ACCESS PATH = HARDWARE PATH TO DEVICE.
- * PPID = INPUT REGISTER ADDRESS OF *1MD* PPU.
- * BYTE COUNT = ERROR DATA BYTE COUNT.
- * ERROR DATA = COPY OF DATA FROM *FLPP* DRIVER.
- *
- *
- * 887 / 9853 / 583X /47444 FIELD DESCRIPTIONS -
- *
- * IF = INITIAL FAULT CODE.
- * F1 = *T* REGISTER FAULT CODE (887 ONLY).
- * = CHANNEL STATUS FAULT CODE (9853/583X/47444 ONLY).
- * F2 = STATUS FAULT CODE.
- * F3 = RECOVERY FAULT CODE.
- * FF = FINAL FAULT CODE.
- * RS = RESERVED.
- * RB = RESIDUAL BYTE COUNT.
- * ST = SECTORS TRANSFERED SINCE SEEK.
- * EXS = EXECUTION STATUS (887 ONLY).
- * = ENDING STATUS (9853/583X/47444 ONLY).
- * IDS = IDLE STATUS (887 ONLY).
- * BSR = BIT SIGNIFICANT RESPONSE (887 ONLY).
- * LCM = LAST COMMAND.
- * LFN = LAST ISI/IPI ADAPTOR FUNCTION.
- * CRG = CHANNEL REGISTER.
- * TRG = *T* REGISTER.
- * SLS = SLAVE STATUS (INCLUDES 9853/583X/47444 DEVICE STATUS).
- * DVS = DEVICE STATUS (887 ONLY).
- * 895 (DMA ONLY) FIELD DESCRIPTIONS -
- *
- * UFC UPPER 4 BITS OF LAST FUNCTION.
- * OSR OPERATIONAL STATUS REGISTER.
- * ACR ADAPTOR CONTROL REGISTER.
- * ESR ERROR STATUS REGISTER.
- 1MD SPACE 4,10
- * COMMON DECKS.
- *CALL COMPMAC
- QUAL$S EQU 1 DEFINE NO QUALIFICATION FOR *COMSDFS*
- *CALL COMSDFS
- *CALL COMSEVT
- *CALL COMSMSC
- *CALL COMSMSP
- *CALL COMSPIM
- TITLE MACRO DEFINITIONS.
- MACROS SPACE 4,10
- ** MACRO DEFINITIONS.
- ** TBLM = GENERATE MASS STORAGE TABLES.
- *
- * TBLM EQ
- * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
- PURGMAC TBLM
- TBLM MACRO EQ
- VFD 12/2R_EQ
- TEMP RMT
- .2 IF -DEF,P_EQ
- VFD 12/GEMX
- .2 ELSE 1
- VFD 12/P_EQ
- TEMP RMT
- TMID RMT
- VFD 12/MLID_EQ
- TMID RMT
- ENDM
- TITLE ASSEMBLY CONSTANTS.
- **** ASSEMBLY CONSTANTS.
- * 819 GENERAL STATUS FIELDS.
- G1FD EQU 0 GROUP 1 STATUS FIELD
- UNFD EQU 1 UNIT FIELD
- CLFD EQU 2 CYLINDER ADDRESS
- EQFD EQU 3 3/ MUX CHANNEL, 9/ EST ORDINAL
- WCFD EQU 4 NUMBER OF ERROR PACKET WORDS
- ADFD EQU 5 HEAD AND SECTOR
- PCFD EQU 7 PREVIOUS CYLINDER
- PAFD EQU 10 PREVIOUS HEAD AND SECTOR
- EPFD EQU 11 START OF ERROR PACKET
- * ERROR PACKET FIELDS.
- G2FD EQU 0 GROUP 2 STATUS FIELD
- SBFD EQU 1 SUBSYSTEM STATUS
- CNFD EQU 2 CONTROLLER STATUS
- RTFD EQU 3 RETRY COUNT
- 1MD SPACE 4,10
- ** DIRECT LOCATION ASSIGNMENTS.
- BA EQU 16 BML DATA BUFFER ADDRESS
- PA EQU 17 ERRLOG MESSAGE PARAMETER ADDRESS
- ED EQU 20 ERROR DATA POINTER
- WC EQU 21 PP WORD COUNT
- MT EQU 22 MESSAGE TYPE
- BC EQU 23 ERROR DATA BYTE COUNT
- CB EQU 24 CM WORD BYTE COUNT
- EP EQU 25 - 31 *EMB* POINTER WORD
- EH EQU 32 - 36 *EMB* HEADER WORD 1
- EO EQU 37 ERROR MESSAGE OFFSET
- LN EQU 40 MESSAGE LENGTH
- EL EQU 41 *ERROR LOG MESSAGES ISSUED* FLAG
- ML EQU 42 MESSAGES LOST ACCUMULATOR
- MD EQU 43 - 47 MESSAGE DATA ADDRESS (5 LOCATIONS)
- CT EQU 57 CHANNEL TYPE
- EX EQU 60 - 64 *EMB* HEADER WORD 2
- ****
- TITLE MAIN PROGRAM.
- ** MPR - BUFFERED I/O MESSAGE PROCESSOR.
- ORG PPFW
- MPR LDN EMBP FETCH *EMB* POINTER WORD
- CRD EP
- LDN ZERL INITIALIZE DIRECT CELLS
- CRD EL
- ERRNZ EL+1-ML CODE DEPENDS ON VALUE
- ERRNZ ML+1-MD CODE DEPENDS ON VALUE
- MPR1 LDD EP+1
- SHN 14 READ *EMB* HEADER WORD 1
- LMD EP+2
- CRD EH
- ADN 1 READ *EMB* HEADER WORD 2
- CRD EX
- LDD EH+3 *IN*
- SBD EX+3 *OUT*
- ZJP MPR7 IF NO MORE MESSAGES
- MPR2 LDD EX+3 *OUT*
- SBD EX+4 *LIMIT*
- MJN MPR3 IF *OUT* IN PROPER RANGE
- MONITOR HNGM *OUT* BEYOND *LIMIT*
- MPR3 LDD EP+1 READ NEXT MESSAGE HEADER INTO PP
- SHN 14
- LMD EP+2
- ADD EX+3
- ADN 2 ALLOW FOR *EMB* HEADER
- CRD CM
- LDD CM+3 MESSAGE LENGTH IN CM WORDS
- ZJN MPR5 IF BUFFER TERMINATOR - RESET *EMB* *OUT*
- STD LN
- SHN 2
- ADD LN
- STD WC MESSAGE LENGTH IN PP WORDS
- SBK BUFFL+1
- MJN MPR4 IF MESSAGE WILL FIT IN BUFFER
- MONITOR HNGM MESSAGE TOO LARGE FOR BUFFER
- MPR4 LDD EP+1 READ COMPLETE MESSAGE INTO PP
- SHN 14
- LMD EP+2
- ADD EX+3
- ADN 2 ALLOW FOR *EMB* HEADER
- CRM BUFF,LN
- LDD CM+4
- SHN -13
- STD T1
- LDM MPRA,T1 SET PROCESSOR ADDRESS
- STD T1
- RJM 0,T1 PROCESS MESSAGE
- LDD EX+3 UPDATE *OUT*
- ADD LN
- MPR5 STD EX+3
- SBD EX+4 *LIMIT*
- MJN MPR5.1 IF *OUT* IN PROPER RANGE
- ZJN MPR5 IF *OUT* AT *LIMIT*
- MONITOR HNGM *OUT* BEYOND *LIMIT*
- MPR5.1 LDD EP+1
- SHN 14
- LMD EP+2
- ADN 1 UPDATE *EMB* HEADER WORD 2
- CWD EX
- LDD EH+3 *IN*
- SBD EX+3 *OUT*
- MPR6 NJP MPR2 IF MORE MESSAGES
- LJM MPR1 REREAD HEADER AND RECHECK
- MPR7 RJM GIL GET INTERLOCK, READ *EMB* HEADER WORD 1
- LDD EH+1 COUNT MESSAGES LOST
- RAD ML
- ZJN MPR8 IF NO MESSAGES WERE LOST
- STD EL
- LDC MPRB+ERLN ISSUE * 1MD - MESSAGES LOST* MESSAGE
- RJM DFM
- MPR8 LDD EL
- ZJN MPR9 IF NO ERROR LOG MESSAGES WERE ISSUED
- LDN ZERL
- CRD CM
- LDK ELAE ISSUE *ERROR LOG ALERT* EVENT
- STD CM+4
- MONITOR EATM
- MPR9 RJM CIL CLEAR INTERLOCK AND *1MD* ACTIVE FLAG
- NJP MPR6 IF THERE ARE MESSAGES IN THE BUFFER
- MONITOR DPPM DROP PP
- LJM PPR EXIT
- MPRA BSS 0 TABLE OF PROCESSOR ADDRESSES
- CON LOG NON-819 PROCESSOR
- CON FMM 819 PROCESSOR
- MPRB DATA C* 1MD - MESSAGES LOST.*
- TITLE MAIN PROCESSING ROUTINES.
- FMM SPACE 4,10
- ** FMM - FORMAT AND ISSUE 819 BML MESSAGE.
- *
- * ENTRY (BUFF - BUFF+(EX+3)-1) = MESSAGE TO BE PROCESSED.
- *
- * USES BC, CB, CM+1, ED.
- *
- * CALLS CLM, CPD, DFM, FMT.
- FMM SUBR ENTRY/EXIT
- LDC BUFF+5
- STD ED SET START OF ERROR DATA
- FMM1 RJM CLM CLEAR MESSAGE BUFFER
- * LDN 0 CLEAR CM WORD BYTE COUNT
- STD CB
- RJM FMT FORMAT BML DATA
- LDM WCFD,ED SET ERROR DATA BYTE COUNT
- ADN EPFD
- STD BC
- STM BYTM
- FMM2 RJM CPD COPY ERROR DATA
- LDN 6*5 SET *BML* MESSAGE BYTE COUNT
- STD CM+1
- LDC BMLM+BMLN ISSUE BML DATA
- RJM DFM
- * LDN 0 CLEAR BYTE COUNT IN BML DATA
- STM BYTM
- LDD BC
- ZJP FMMX IF NO MORE DATA TO COPY
- LDM RTYM SET *NOT FIRST BLOCK* FLAG
- SCN 10
- LMN 10
- STM RTYM
- UJN FMM2 COPY ADDITIONAL DATA
- FMM SPACE 4,10
- ** BML MESSAGE BUFFER.
- BMLM VFD 12/RM0006 819 MESSAGE ID
- SYMM BSS 1 SYMPTOM CODE
- PTHM BSS 3 PATH IDENTIFICATION
- ESTM BSS 1 EST ORDINAL
- RTYM BSS 1 RETRY COUNT
- MFIM BSS 1 MAINFRAME ID
- HUIM BSS 2 6/ FLAGS, 18/ HARDWARE IDENTIFICATION
- PPIM BSS 1 PPU IDENTIFICATION
- BYTM BSS 1 ERROR DATA BYTE COUNT
- ERDM BSS 22 ERROR DATA
- ENDM BSS 0 END OF BLOCK
- LOG SPACE 4,20
- * LOG - LOG NON-819 MESSAGES.
- *
- * THIS ROUTINE ISSUES NON-819 ERROR MESSAGES. MESSAGES
- * MAY BE SENT TO THE BML, ERROR LOG OR SYSTEM DAYFILE.
- *
- * ENTRY (LN) = MESSAGE LENGTH IN CM WORDS.
- * (WC) = MESSAGE LENGTH IN PP WORDS.
- * (EP+1 - EP+2) = *EMB* ADDRESS.
- * (EX+3) = OFFSET TO MESSAGE HEADER IN *EMB*.
- * (BUFF - BUFF+(LN)-1) = MESSAGE TO BE PROCESSED.
- *
- * EXIT (EL) .NE. 0 IF ERROR LOG MESSAGE WAS ISSUED.
- *
- * USES CM+1, EL, MT.
- *
- * CALLS DFM, DV5, GEM.
- LOG SUBR ENTRY/EXIT
- LDN 0
- STD EO
- LDM BUFF+4,EO SET MESSAGE TYPE
- STD MT
- LMN ELDY
- ZJN LOG2 IF ERROR LOG MESSAGE
- LMN MLDY&ELDY
- NJN LOG3 IF NOT BML MESSAGE
- LDD EP+1 GET *EMB* ADDRESS
- SHN 14
- LMD EP+2
- ADD EX+3 ADD OFFSET TO MESSAGE HEADER
- ADN 3 ALLOW FOR *EMB* AND MESSAGE HEADERS
- STD MD+4 SET CENTRAL MESSAGE DATA ADDRESS
- SHN -14
- STD MD+3
- LDD WC
- SBM BUFF+2,EO
- RJM DV5 RECALCULATE BYTE COUNT
- STD T0
- SHN 2
- ADM BUFF+2,EO INCLUDE RESIDUAL BYTE COUNT
- ADD T0
- SBN 5 EXCLUDE HEADER WORD
- STD CM+1
- LDC BMCN+MD
- UJN LOG4 ISSUE BML MESSAGE
- LOG2 LDM CM+2 PRESERVE ERRLOG ALERT FLAG
- RAD EL
- LOG3 LDM LOGA,MT SET DAYFILE SELECTION OPTION
- SHN 14
- LMC BUFF+5 ISSUE DAYFILE MESSAGE
- LOG4 RJM DFM
- RJM GEM GENERATE ERRLOG MESSAGE
- UJP LOGX RETURN
- * TABLE OF DAYFILE SELECTION OPTIONS.
- LOGA INDEX
- INDEX MSDY,JNMN/10000 MASTER DAYFILE
- INDEX ELDY,ERLN/10000 ERROR LOG DAYFILE
- INDEX MLDY,BMLN/10000 MAINTENANCE LOG DAYFILE
- INDEX MLDY+1
- TITLE SUBROUTINES.
- CCR SPACE 4,10
- ** CCR - CALL CONVERSION ROUTINE.
- *
- * ENTRY (T5) = INDEX TO LAST CONVERSION ROUTINE USED.
- *
- * EXIT (T5) = INDEX TO CONVERSION ROUTINE USED.
- *
- * USES T1.
- *
- * CALLS CONVERSION ROUTINES LISTED IN *THCR*.
- CCR1 LDM THCR,T5 SELECT CONVERSION ROUTINE
- STD T1
- RJM 0,T1 CONVERT HEX DATA
- CCR SUBR ENTRY/EXIT
- AOD T5
- SBN THCRL
- MJN CCR1 IF NOT END OF *THCR*
- ZJN CCR0 IF VALID INDEX
- MONITOR CHGM CONDITIONAL HANG
- CCR0 STD T5 RESET INDEX
- UJN CCR1 SELECT CONVERSION ROUTINE
- THCR BSS 0 TABLE OF HEX CONVERSION ROUTINES
- CON C1P
- CON C2P
- CON C3P
- THCRL EQU *-THCR LENGTH OF TABLE
- CDA SPACE 4,10
- ** CDA - CONVERT DISK ADDRESS FOR *ERMD* MESSAGE.
- *
- * ENTRY (A) = RELATIVE LOCATION OF DISK ADDRESS.
- *
- * EXIT (BA) = DATA ADDRESS ADVANCED.
- *
- * USES PA.
- *
- * CALLS C2D, C4D.
- CDA SUBR ENTRY/EXIT
- ADD EO
- STD BA
- LDC ERMD+3 SET PARAMETER ADDRESS
- STD PA
- RJM C4D CONVERT CYLINDER NUMBER
- LDI BA
- SHN -6
- RJM C2D CONVERT TRACK NUMBER
- STM ERMD+11
- LDI BA
- RJM C2D CONVERT SECTOR NUMBER
- STM ERMD+16
- AOD BA
- UJN CDAX RETURN
- CIL SPACE 4,10
- ** CIL - CLEAR *EMB* INTERLOCK AND RESET FLAGS.
- *
- * ENTRY (EP+1 - EP+2) = FWA OF *EMB*.
- * (EH - EH+4) = *EMB* INTERLOCK WORD 1.
- * (EX - EX+4) = *EMB* INTERLOCK WORD 2.
- *
- * EXIT (A) = (EH+4) = 0 IF *EMB* BUFFER IS EMPTY.
- * *1MD* ACTIVE CLEARED IF *EMB* BUFFER IS EMPTY.
- * *EMB* INTERLOCK CLEARED IN ALL CASES.
- CIL SUBR ENTRY/EXIT
- LDD EH+3 *IN*
- SBD EX+3 *OUT*
- ZJN CIL1 IF *EMB* EMPTY
- LDN 2 AVOID CLEARING *1MD ACTIVE*
- CIL1 LMN 3 INTERLOCK AND *1MD* ACTIVE
- LMD EH+4 CLEAR INTERLOCK, POSSIBLY *1MD ACTIVE*
- STD EH+4
- LDN 0 CLEAR *MESSAGES LOST*
- STD EH+1
- LDD EP+1
- SHN 14
- LMD EP+2
- CWD EH
- LDD EH+4
- UJN CILX RETURN
- CLM SPACE 4,10
- ** CLM - CLEAR MESSAGE BUFFER.
- *
- * EXIT (A) = 0.
- *
- * USES T1.
- CLM SUBR ENTRY/EXIT
- LDN ENDM-BMLM-1
- STD T1
- CLM1 LDN 0 CLEAR BUFFER
- STM BMLM,T1
- SOD T1
- NJN CLM1 IF NOT END OF BUFFER
- UJN CLMX RETURN
- CMP SPACE 4,10
- ** CMP - CONVERT BASIC MESSAGE PARAMETERS.
- *
- * ENTRY (EO) = BML MESSAGE OFFSET INTO *BUFF*.
- *
- * EXIT (CT) = CHANNEL TYPE.
- *
- * USES PA.
- *
- * CALLS CDA, C2D, C4D.
- CMP SUBR ENTRY/EXIT
- * INSERT PARAMETERS IN *ERMB* MESSAGE.
- LDM BUFF+3*5,EO CONVERT ERROR CODE
- RJM C2D
- STM ERMB+7 SET IN MESSAGE
- * INSERT PARAMETERS IN *ERMC* MESSAGE.
- LDM BUFF+1*5+2,EO SET CHANNEL SPECIFICATION
- STD CT
- LPN 37 CONVERT CHANNEL NUMBER
- RJM C2D
- STM ERMC+3
- LDD CT EXTRACT CHANNEL TYPE
- LPN 40
- STD CT
- ZJN CMP1 IF NON-CONCURRENT CHANNEL
- LDC 2RNC&2RCC
- CMP1 LMC 2RNC SET CHANNEL TYPE IN MESSAGE
- STM ERMC
- LDM BUFF+1*5+3,EO CONVERT UNIT NUMBER
- RJM C2D
- STM ERMC+10
- * INSERT PARAMETERS IN *ERMD* MESSAGE.
- LDC BUFF+3*5+1 CONVERT DISK ADDRESS
- RJM CDA
- * INSERT PARAMETERS IN *ERME* MESSAGE.
- LDC ERME+14 SET PARAMETER ADDRESS
- STD PA
- LDD CT
- ZJN CMP2 IF NON-CONCURRENT CHANNEL
- LDM BUFF+10*5,EO
- SHN -6 CONVERT UPPER 4 BITS OF FUNCTION
- RJM C2D
- STI PA SET IN MESSAGE
- AOD PA
- CMP2 RJM C4D CONVERT LAST FUNCTION
- LDC 2L..
- STI PA TERMINATE MESSAGE
- * INSERT PARAMETERS IN *ERMF* MESSAGE.
- LDC ERMG+5 SET PARAMETER ADDRESS
- STD PA
- RJM C4D CONVERT GENERAL STATUS
- UJP CMPX RETURN
- CPD SPACE 4,15
- ** CPD - COPY ERROR DATA.
- *
- * ENTRY (BC) = ERROR PACKET BYTE COUNT.
- * (CB) = CM WORD BYTE COUNT.
- * (ED) = ADDRESS OF ERROR PACKET.
- *
- * EXIT *BML* BUFFER FILLED.
- * POINTERS UPDATED.
- *
- * USES BC, CB, ED, T2.
- CPD3 AOD T2 ADVANCE *BML* BUFFER COUNT
- LMN ENDM-ERDM
- ZJN CPD5 IF END OF BUFFER
- LDN 0 ZERO FILL BUFFER
- STM ERDM,T2
- CPD4 UJN CPD3 LOOP ON ZERO FILL
- CPD5 STD BC
- LDD CB
- ZJN CPDX IF EVEN CM WORD BYTE COUNT
- CPD6 AOD ED ADVANCE ERROR DATA POINTER
- AOD CB
- LMN 5
- NJN CPD6 IF NOT END OF CM WORD
- STD CB
- LDM RTYM CLEAR CONTINUATION FLAG
- SCN 4
- STM RTYM
- CPD SUBR ENTRY/EXIT
- LDN 0
- STD T2
- CPD1 LDI ED COPY ERROR DATA
- STM ERDM,T2
- AOD ED ADVANCE ERROR DATA POINTER
- AOD CB
- LMN 5
- NJN CPD2 IF NOT FULL CM WORD
- STD CB
- CPD2 SOD BC DECREMENT BYTE COUNT
- ZJN CPD4 IF END OF ERROR DATA
- AOD T2 ADVANCE *BML* BUFFER POINTER
- LMN ENDM-ERDM
- NJN CPD1 IF NOT END OF *BML* BUFFER
- LDM RTYM SET CONTINUATION FLAG
- SCN 4
- LMN 4
- STM RTYM
- UJN CPDX RETURN
- CSD SPACE 4,10
- ** CSD - CONVERT STATUS DATA.
- *
- * ENTRY (A) = 6/ PC, 12/ MA
- * PC = PARAMETER COUNT FOR MESSAGE BLOCK.
- * MA = MESSAGE ADDRESS FOR 1ST PARAMETER.
- *
- * USES PA, T6, T7.
- *
- * CALLS CCR.
- CSD1 RJM CCR CALL CONVERSION ROUTINE
- LDD T6
- SHN 21-0
- NJN CSD3 IF NOT MESSAGE BOUNDARY
- CSD2 LDC 200125
- CSD3 STD T6 UPDATE SKIP CONTROL
- SHN 1-21
- LMN 2
- RAD PA ADJUST PARAMETER ADDRESS
- SOD T7
- NJN CSD1 IF NOT END OF PARAMETERS
- CSD SUBR ENTRY/EXIT
- SBN 3
- STD PA
- SHN -14 SET PARAMETER COUNT
- STD T7
- ADN 1 ALLOW FOR TWO BYTE PARAMETERS
- RAD T7
- UJN CSD2 SET SKIP CONTROL
- C1P SPACE 4,10
- ** C1P - CONVERT FIRST PAIR OF HEX DIGITS.
- *
- * ENTRY (BA) = ADDRESS OF HEX DATA.
- *
- * EXIT (T2) = FIRST DIGIT OF NEXT PAIR.
- * (BA) = BUFFER ADDRESS ADVANCED.
- *
- * CALLS CHD.
- C1P SUBR ENTRY/EXIT
- LDI BA
- STD T2 SAVE DIGIT FOR NEXT CONVERSION
- SHN -4
- RJM CHD CONVERT HEX DATA
- AOD BA
- UJN C1PX RETURN
- C2P SPACE 4,10
- ** C2P - CONVERT SECOND PAIR OF HEX DIGITS.
- *
- * ENTRY (T2) = FIRST DIGIT OF PAIR.
- * (BA) = ADDRESS OF HEX DATA.
- *
- * EXIT (T2) = NEXT PAIR FOR CONVERSION.
- *
- * CALLS CHD.
- C2P SUBR ENTRY/EXIT
- LDD T2
- LPN 17 EXTRACT FIRST DIGIT
- SHN 14
- LMI BA SAVE NEXT PAIR OF HEX DIGITS
- STD T2
- SHN -10 CONVERT HEX DATA
- RJM CHD
- UJN C2PX RETURN
- C3P SPACE 4,10
- ** C3P - CONVERT THIRD PAIR OF HEX DIGITS.
- *
- * ENTRY (T2) = PAIR FOR CONVERSION.
- * (BA) = ADDRESS OF HEX DATA.
- *
- * EXIT (BA) = BUFFER ADDRESS ADVANCED.
- *
- * CALLS CHD.
- C3P SUBR ENTRY/EXIT
- LDD T2
- RJM CHD CONVERT HEX DATA
- AOD BA
- UJN C3PX RETURN
- C4D SPACE 4,10
- ** C4D - CONVERT FOUR OCTAL DIGITS.
- *
- * ENTRY (BA) = ADDRESS OF OCTAL DATA.
- * (PA) = ADDRESS TO STORE CONVERSION.
- *
- * EXIT (BA) = DATA ADDRESS ADVANCED.
- * (PA) = PARAMETER ADDRESS ADVANCED.
- *
- * CALLS C2D.
- C4D SUBR ENTRY/EXIT
- LDI BA
- SHN -6 CONVERT UPPER TWO DIGITS
- RJM C2D
- STI PA STORE CONVERSION
- AOD PA
- LDI BA CONVERT LOWER DIGITS
- RJM C2D
- STI PA STORE CONVERSION
- AOD BA
- AOD PA
- UJN C4DX RETURN
- C6D SPACE 4,15
- ** C6D - CONVERT SIX OCTAL DIGITS.
- *
- * ENTRY (A) .GE. 0 IF DATA BEGINS ON HALF BYTE BOUNDARY.
- * .LT. 0 IF DATA BEGINS ON FULL BYTE BOUNDARY.
- * (BA) = ADDRESS OF OCTAL DATA.
- * (PA) = ADDRESS TO STORE CONVERSION.
- *
- * EXIT (BA) = DATA ADDRESS ADVANCED.
- * (PA) = PARAMETER ADDRESS ADVANCED.
- *
- * CALLS C2D, C4D.
- C6D1 LDI BA CONVERT TWO DIGITS
- RJM C2D
- STI PA SET CONVERSION IN MESSAGE
- AOD PA
- AOD BA CONVERT FOUR DIGITS
- RJM C4D
- C6D SUBR ENTRY/EXIT
- PJN C6D1 IF DATA ON HALF BYTE BOUNDARY
- RJM C4D CONVERT FOUR DIGITS
- LDI BA
- SHN -6 CONVERT TWO DIGITS
- RJM C2D
- STI PA SET CONVERSION IN MESSAGE
- AOD PA
- UJN C6DX RETURN
- FNT SPACE 4,10
- ** FMT - FORMAT *BML* MESSAGE.
- *
- * ENTRY (ED) = ADDRESS OF ERROR MESSAGE DATA.
- *
- * USES T0, T1, CM - CM+4.
- FMT SUBR ENTRY/EXIT
- * SET SYMPTOM CODE AND DRIVER TYPE.
- LDI ED TEST UNRECOVERED DATA ERROR
- ERRNZ G1FD CODE IS VALUE DEPENDENT
- SHN 21-12
- PJN FMT1 IF NOT UNRECOVERED DATA ERROR
- LDN RS0101-100
- UJN FMT4 SET SYMPTOM CODE
- FMT1 SHN 12-2
- PJN FMT2 IF NOT REQUEST ERROR
- LDN RS0104-100
- UJN FMT4 SET SYMPTOM CODE
- FMT2 LDM EPFD+G2FD,ED CHECK ERROR RECOVERY
- SHN 21-6
- PJN FMT3 IF NOT RECOVERED DATA ERROR
- LDN RS0102-100
- UJN FMT4 SET SYMPTOM CODE
- FMT3 LDN RS0103-100
- FMT4 ADC DHCD*400+100
- STM SYMM
- * SET DATA PATH INFORMATION.
- LDM UNFD,ED CHECK UNIT NUMBER
- LPN 7
- STM PTHM+1 SET VALUE IN BML MESSAGE
- LPN 4
- ADN 2 CHANNEL (CONTROLLER) NUMBER
- STD T1
- LDM EQFD,ED SET FLPP NUMBER
- SHN -11
- SHN 1
- STD T0
- LDM EQFD,ED SET EST ORDINAL
- LPC 777
- STM ESTM
- SFA EST SET DEVICE MNEMONIC
- ADK EQDE
- CRD CM
- LDD CM+3
- ADC -2RDV
- STM EQFD,ED
- LDM EPFD+G2FD,ED CHECK WHICH FLPP FOUND ERROR
- SHN 0-13
- ADD T0 ADJUST FLPP NUMBER
- SHN 6
- STM MFIM
- LMD T1
- STM PTHM SET RECOVERY PATH
- * SET RETRY COUNT + RECOVERY FLAGS.
- LDM UNFD,ED SET READ/WRITE FLAG
- SHN -5
- LPN 2
- STD T0
- LDI ED
- ERRNZ G1FD CODE IS VALUE DEPENDENT
- SHN -12
- LPN 1 EXTRACT UNRECOVERED STATUS
- RAD T0
- LDM EPFD+RTFD,ED SET RETRY COUNT
- LPC 777
- SBD HN
- MJN FMT5 IF .LE. 77
- LCN 1
- FMT5 ADD HN RECOVERY COUNT
- SHN 6
- LMD T0 APPEND FLAGS
- STM RTYM
- LDD IA SET PP IDENTIFICATION
- STM PPIM
- LJM FMTX RETURN
- GEM SPACE 4,15
- ** GEM - GENERATE ERRLOG MESSAGE FOR MASS STORAGE ERROR.
- *
- * ENTRY (EO) = BML MESSAGE OFFSET INTO *BUFF*.
- * (LN) = BML MESSAGE LENGTH.
- * (MT) = MESSAGE TYPE.
- *
- * EXIT (EL) = 1 IF ERRLOG MESSAGE ISSUED.
- *
- * USES T1, T5, T7, EL, LA, CM - CM+4.
- *
- * CALLS ACS, C2D, DFM.
- *
- * MACROS SFA.
- GEM3 STD LA SAVE MESSAGE TABLE ADDRESS
- GEM4 LDC ELMB+3
- STD T1 SET ASSEMBLY ADDRESS
- LDN 0
- STI T1
- LDI LA APPEND MESSAGE TO PREFIX
- RJM ACS
- LDC ELMB+ERLN ISSUE ERRLOG MESSAGE
- RJM DFM
- AOD LA ADVANCE MESSAGE TABLE ADDRESS
- LDI LA
- NJN GEM4 IF NOT END OF TABLE
- LDN 1
- STD EL SET ERRLOG ALERT STATUS
- GEM SUBR ENTRY/EXIT
- LDD MT
- LMN MLDY
- NJN GEMX IF NOT BML MESSAGE
- LCN 0 INITIALIZE INDEX
- STD T7
- GEM0 AOD T7 ADVANCE INDEX
- SBK TMIDL
- ZJN GEMX IF END OF LIST
- LDM TMID,T7 GET NEXT MASS STORAGE MESSAGE ID
- LMM BUFF+1*5,EO
- NJN GEM0 IF MESSAGE ID DOES NOT MATCH
- LDM BUFF+2*5+1,EO
- LPN 1
- ZJN GEMX IF RECOVERED ERROR
- LDM BUFF+2*5,EO
- STD T5 SET EST ORDINAL
- ZJN GEMX IF NO EST ORDINAL SPECIFIED
- LDK ESTP CHECK MAXIMUM EST ORDINAL
- CRD CM
- LDD T5
- SBD CM+1 MAXIMUM MASS STORAGE EST ORDINAL + 1
- PJN GEMX IF NOT VALID MASS STORAGE DEVICE
- SFA EST,T5
- ADK EQDE READ EST ENTRY
- CRD CM
- LCN 0 INITIALIZE INDEX
- STD T7
- GEM1 AOD T7 ADVANCE INDEX
- LDM TDVT,T7 CHECK NEXT MASS STORAGE DEVICE TYPE
- ZJP GEMX IF END OF LIST
- LMD CM+3
- NJN GEM1 IF NOT MATCHING DEVICE TYPE
- LDD CM+3
- STM ELMB GENERATE MESSAGE PREFIX
- LDD T5
- LPN 7
- SHN 6 SEPARATE PREFIX FROM MESSAGE
- ADC 2R0,
- STM ELMB+2
- LDD T5 CONVERT REMAINDER OF EST ORDINAL
- SHN -3
- RJM C2D
- STM ELMB+1
- LDD LN CHECK MESSAGE LENGTH
- SBN 4
- PJN GEM2 IF NOT BASIC MESSAGE
- LDC GEMA
- LJM GEM3 ISSUE BASIC ERRLOG MESSAGE
- GEM2 LDM TEMP,T7 SET PROCESSOR ADDRESS
- STD T7
- LJM 0,T7 EXIT TO MESSAGE PROCESSOR
- GEMA CON ERMA
- CON 0
- GIL SPACE 4,10
- ** GIL - GET *EMB* INTERLOCK.
- *
- * ENTRY (EP+1 - EP+2) = FWA OF *EMB*.
- *
- * EXIT *EMB* INTERLOCK OBTAINED.
- * (EH - EH+4) = *EMB* HEADER WORD 1 REFRESHED.
- *
- * USES CM - CM+4, EH - EH+4.
- *
- * MACROS DELAY, MONITOR.
- GIL2 LDD EP+1
- SHN 14 READ *EMB* HEADER WORD
- LMD EP+2
- CRD EH
- GIL SUBR ENTRY/EXIT
- GIL1 LDK ZERL
- CRD CM
- LDD EP+1 FORMAT *UTEM* REQUEST
- STD CM+3
- LDD EP+2
- STD CM+4
- MONITOR UTEM GET *EMB* INTERLOCK
- LDD CM+1
- ZJN GIL2 IF INTERLOCK OBTAINED
- DELAY
- UJN GIL1 RETRY
- TITLE MESSAGE GENERATORS.
- PDA SPACE 4,10
- ** GENERATE ERRLOG MESSAGES FOR *LDAM* TYPE DEVICES.
- PDA BSS 0 ENTRY
- PDB BSS 0
- PDD BSS 0
- PDG BSS 0
- PDI BSS 0
- PDJ BSS 0
- PDK BSS 0
- PDL BSS 0
- PDM BSS 0
- PDQ BSS 0
- PDR BSS 0
- PDX BSS 0
- PDY BSS 0
- PDZ BSS 0
- RJM CMP CONVERT MESSAGE PARAMETERS
- * INSERT PARAMETERS IN *ERMI* THRU *ERMM* MESSAGES.
- LDC ERMI+2 SET PARAMETER ADDRESS
- STD PA
- LDN 5 NUMBER OF MESSAGES
- STD T7
- PDA1 LDN 4 NUMBER OF PARAMETERS / MESSAGE
- STD T6
- PDA2 RJM C4D CONVERT FOUR OCTAL DIGITS
- LDN 2
- RAD PA ADVANCE PARAMETER ADDRESS
- SOD T6
- NJN PDA2 IF NOT END OF MESSAGE
- AOD PA
- SOD T7
- NJN PDA1 IF NOT END OF MESSAGES
- LDC PDAT
- LJM GEM3 ISSUE ERRLOG MESSAGES
- PDAT CON ERMA
- CON ERMB
- CON ERMC
- CON ERMD
- CON ERME
- CON ERMF
- CON ERMH
- CON ERMI
- CON ERMJ
- CON ERMK
- CON ERML
- CON ERMM
- CON 0
- TITLE MESSAGE GENERATORS.
- PDC SPACE 4,10
- ** GENERATE ERRLOG MESSAGES FOR CCC COUPLED DEVICES.
- PDC BSS 0 ENTRY
- RJM CMP CONVERT MESSAGE PARAMETERS
- * INSERT PARAMETERS IN *ERMZ* THRU *ERM5* MESSAGES.
- LDC ERMZ-1 SET PARAMETER ADDRESS
- STD PA
- LDN THCRL-1 INITIALIZE CONVERSION ROUTINE INDEX
- STD T5
- LDN 24D NUMBER OF PARAMETERS IN MESSAGE BLOCK
- STD T7
- PDC1 LPN 3
- ZJN PDC2 IF CROSSING MESSAGE BOUNDARY
- LCN 1
- PDC2 ADN 4 ADVANCE CONVERSION ADDRESS
- RAD PA
- RJM CCR CALL CONVERSION ROUTINE
- SOD T7
- NJN PDC1 IF NOT END OF PARAMETERS
- * INSERT PARAMETERS IN *ERMX* MESSAGE.
- LDC ERMX+12 SET PARAMETER ADDRESS
- STD PA
- AOD BA ADJUST BML DATA ADDRESS
- LDI BA
- RJM CHD CONVERT CYBER I/F STATUS
- * INSERT PARAMETERS IN *ERMY* MESSAGE.
- LDC ERMY+6 SET PARAMETER ADDRESS
- STD PA
- AOD BA ADJUST BML DATA ADDRESS
- LDI BA
- STD T2 SAVE STATUS FOR *C3P*
- SHN -10
- RJM CHD CONVERT CCC STATUS
- LDN 1R -1R0
- SHN 6 INSERT BLANK SEPARATOR
- RAM -1,PA
- RJM C3P CONVERT REMAINDER OF STATUS
- LDD CT
- ZJN PDC3 IF NOT DMA PATH TO DEVICE
- * INSERT PARAMETERS IN *ERM6* MESSAGE.
- AOD BA ADJUST DATA ADDRESS
- LDC ERM6+7
- STD PA
- RJM C6D CONVERT OPERATIONAL STATUS REGISTER
- * INSERT PARAMETERS IN *ERM7* MESSAGE.
- LDC ERM7+7 SET PARAMETER ADDRESS
- STD PA
- LCN 0 CONVERT ADAPTOR CONTROL REGISTER
- RJM C6D
- * INSERT PARAMETERS IN *ERM8* MESSAGE.
- LDC ERM8+7 SET PARAMETER ADDRESS
- STD PA
- RJM C6D CONVERT ERROR STATUS REGISTER
- LDC ERM6
- PDC3 STM PDCTE SET / CLEAR END OF MESSAGES
- LDC PDCT
- LJM GEM3 ISSUE ERRLOG MESSAGES
- PDCT CON ERMA
- CON ERMB
- CON ERMC
- CON ERMD
- CON ERME
- CON ERMF
- CON ERMX
- CON ERMY
- CON ERMH
- CON ERMZ
- CON ERM1
- CON ERM2
- CON ERM3
- CON ERM4
- CON ERM5
- PDCTE CON ERM6
- CON ERM7
- CON ERM8
- CON 0
- TITLE MESSAGE GENERATORS.
- PDE SPACE 4,10
- ** GENERATE ERRLOG MESSAGES FOR EXTENDED MEMORY DEVICES.
- PDE BSS 0 ENTRY
- PDP BSS 0
- * INSERT PARAMETERS IN *ERMB* MESSAGE.
- LDM BUFF+3*5,EO CONVERT ERROR CODE
- RJM C2D
- STM ERMB+7 SET IN MESSAGE
- * INSERT PARAMETERS IN *ERMG* MESSAGE.
- LDC BUFF+4*5+1 SET BUFFER ADDRESS
- ADD EO
- STD BA
- LDC ERMG+5 SET PARAMETER ADDRESS
- STD PA
- RJM C4D CONVERT STATUS
- * INSERT PARAMETERS IN *ERMN* MESSAGE.
- LDC ERMN+7 SET PARAMETER ADDRESS
- STD PA
- RJM C4D CONVERT WORD COUNT
- * INSERT PARAMETERS IN *ERMO* MESSAGE.
- LDC ERMO+5 SET PARAMETER ADDRESS
- STD PA
- RJM C4D CONVERT EXTENDED MEMORY ADDRESS
- RJM C4D
- LDC PDET
- LJM GEM3 ISSUE ERRLOG MESSAGES
- PDET CON ERMA
- CON ERMB
- CON ERMG
- CON ERMN
- CON ERMO
- CON 0
- TITLE MESSAGE GENERATORS.
- PDF SPACE 4,10
- ** GENERATE ERRLOG MESSAGES FOR 887 DEVICES.
- PDF BSS 0 ENTRY
- PDH BSS 0
- LDN 0
- PDF1 STM PDFA
- * INSERT PARAMETERS IN *ERMP* MESSAGE.
- LDM BUFF+3*5+4,EO CONVERT FAULT CODE
- RJM C2D
- STM ERMP+7 SET IN MESSAGE
- * INSERT PARAMETERS IN *ERMQ* MESSAGE.
- LDM BUFF+1*5+2,EO CONVERT CPP NUMBER
- SHN -6
- RJM C2D
- STM ERMQ+3
- LDM BUFF+1*5+2,EO CONVERT CCH NUMBER
- LPN 37
- RJM C2D
- STM ERMQ+10
- LDM BUFF+1*5+4,EO APPEND PORT DESIGNATOR
- ADC 2RA,
- STM ERMQ+11
- LDM BUFF+1*5+3,EO CONVERT EQUIPMENT (CONTROLLER) NUMBER
- SHN -6
- RJM C2D
- SHN 6
- LMN 1R,
- STM ERMQ+15
- LDM BUFF+1*5+3,EO CONVERT UNIT NUMBER
- LPN 77
- RJM C2D
- STM ERMQ+21
- PDF2 LDC PDNT SET LIST ADDRESS
- STD LA
- PDF3 LDM PDFT-PDNT,LA COPY MESSAGE LIST
- STI LA
- AOD LA ADVANCE LIST ADDRESS
- LMC PDNT+PDFTE-PDFT
- NJN PDF3 IF NOT END OF COPY
- LDD LN
- SBN 4
- NJN PDF4 IF MESSAGE HAS MORE THAN FAULT CODE
- * LDN 0
- STM PDNT+PDFTC-PDFT TERMINATE MESSAGE LIST
- LDC PDNT
- LJM GEM3 ISSUE ERRLOG MESSAGES
- * INSERT PARAMETERS IN *ERMD* MESSAGE.
- PDF4 LDC BUFF+4*5+3 CONVERT DISK ADDRESS
- RJM CDA
- * INSERT PARAMETERS IN *ERMS* MESSAGE.
- LDC ERMS+10 SET PARAMETER ADDRESS
- STD PA
- LDN 4 ADJUST BML DATA ADDRESS
- RAD BA
- LDM PDFA
- NJN PDF5 IF NOT 887 DEVICE
- LDI BA
- LPC 377 ISOLATE COMMAND CODE
- STI BA
- PDF5 LDN THCRL-1 INITIALIZE CONVERSION ROUTINE INDEX
- STD T5
- RJM CCR CONVERT LAST COMMAND
- RJM CCR
- * INSERT PARAMETERS IN *ERME* MESSAGE.
- LDC ERME+14 SET PARAMETER ADDRESS
- STD PA
- RJM CCR CONVERT LAST FUNCTION
- RJM CCR
- LDC 2L.. TERMINATE MESSAGE
- STI PA
- * INSERT PARAMETERS IN *ERMR* MESSAGE.
- LDC ERMR+4 SET PARAMETER ADDRESS
- STD PA
- LDN 4 ITERATION COUNT
- STD T7
- PDF6 AOD PA SKIP BLANK SEPARATOR
- RJM CCR
- RJM CCR CONVERT CHANNEL DATA
- SOD T7
- NJN PDF6 IF MORE PARAMETERS
- LDN 1R -1R0
- SHN 6 INSERT BLANK SEPARATOR
- RAM ERMR+14
- LDD LN CHECK BML MESSAGE LENGTH
- SBN 10D
- PJN PDF8 IF MESSAGE INCLUDES STATUS BLOCKS
- LDN 0
- PDF7 STM PDFTE SET / CLEAR END OF MESSAGES
- LDC PDFT
- LJM GEM3 ISSUE ERRLOG MESSAGES
- PDF8 LDN THCRL-1 INITIALIZE CONVERSION ROUTINE INDEX
- STD T5
- LDN 10 ADJUST BML DATA ADDRESS
- RAD BA
- LDC 0 887 VS. 9853/583X/47444 PATH SELECTOR
- PDFA EQU *-1
- NJP PDN1 IF 9853/583X/47444 DEVICE
- * INSERT PARAMETERS IN *ERMU* AND *ERMV* MESSAGES.
- LDC 7S12+ERMU+2 CONVERT STATUS DATA
- RJM CSD
- * INSERT PARAMETERS IN *ERMI* AND *ERMJ* MESSAGES.
- LDC 10S12+ERMI+2 CONVERT STATUS DATA
- RJM CSD
- LDC ERMT
- UJP PDF7 ISSUE ERRLOG MESSAGES
- PDFT CON ERMA
- CON ERMP
- CON ERMQ
- PDFTC CON ERMD
- CON ERME
- CON ERMR
- CON ERMS
- PDFTE CON ERMT
- CON ERMU
- CON ERMV
- CON ERMW
- CON ERMI
- CON ERMJ
- CON 0
- TITLE MESSAGE GENERATORS.
- PDN SPACE 4,10
- ** GENERATE ERRLOG MESSAGES FOR 9853/583X/47444 DEVICES.
- PDN BSS 0 ENTRY
- PEA BSS 0 DAS SSD 1X
- PEB BSS 0 DAS SSD 2X
- PEC BSS 0 DAS SABRE 1X
- PED BSS 0 DAS SABRE 1XP
- PEE BSS 0 DAS SABRE 2X
- PEF BSS 0 DAS SABRE 2XP
- PEG BSS 0 DAS ELITE 1X
- PEH BSS 0 DAS ELITE 1XP
- PEI BSS 0 DAS ELITE 2X (MP)
- PEJ BSS 0 DAS ELITE 2XP (MP)
- PEK BSS 0 DAS ELITE 3XP (MP)
- PEL BSS 0 DAS ELITE 4X (MP)
- PEM BSS 0 DAS SABRE 3XP (MP)
- PEN BSS 0 DAS SABRE 4X (MP)
- PEO BSS 0 DAS 3.5IN 1X
- PEP BSS 0 DAS 3.5IN 1XP
- PES BSS 0 DAS 3.5IN 2X (MP)
- PEU BSS 0 DAS 3.5IN 2XP (MP)
- PEV BSS 0 DAS 3.5IN 3XP (MP)
- PEW BSS 0 DAS 3.5IN 4X (MP)
- LDN 2
- LJM PDF1 GENERATE ALL BUT STATUS MESSAGES
- PDNT EQU BFMS-76 ADDRESS OF MESSAGE LIST
- PDN1 LDC ERM9 PUT STATUS HEADER MESSAGE IN LIST
- STI LA
- AOD LA ADVANCE LIST ADDRESS
- LDC PDNT+100
- STD PA SET MESSAGE ASSEMBLY ADDRESS
- STD CM
- LDI BA FWA OF RESPONSE PACKET
- LPN 17
- SHN 14
- LMM 1,BA FORM STATUS BLOCK LENGTH
- SHN -10
- ADN 1 ALLOW FOR PADDING ON LAST SUBSTATUS
- SCN 1
- STD BC SET OCTET COUNT
- SBN 12
- PJN PDN5 IF LENGTH NOT TOO SHORT
- PDN3 SOD LA
- PDN4 LDN 0 TERMINATE LIST
- STI LA
- LDC PDNT
- LJM GEM3 ISSUE ERRLOG MESSAGES
- PDN5 SBK 200
- PJN PDN3 IF LENGTH TOO LONG
- RJM CCR
- LDN 10 LENGTH OF BASIC RESPONSE PACKET
- PDN6 STD T7
- ADN 1+2 INCLUDE ID WORD
- SCN 1
- STD T4 ALLOW FOR PADDING
- RJM CCR
- PDN7 LDN 4 SET LOOP CONTROL
- STD T6
- PDN8 LDC 2R INSERT LEADING BLANKS IN BUFFER
- STI PA
- AOD PA CONVERT TWO HEX DIGITS
- RJM CCR
- SOD T7
- ZJN PDN9 IF END OF SUBSTATUS
- RJM CCR
- SOD T7
- ZJN PDN9 IF END OF SUBSTATUS
- SOD T6
- NJN PDN8 IF NOT END OF MESSAGE LINE
- LDN 1R &1R.
- PDN9 LMN 1R. SET END OF LINE
- SHN 6
- STI PA TERMINATE MESSAGE LINE
- LDD CM
- STI LA PUT LINE IN MESSAGE LIST
- AOD PA
- STD CM FWA OF NEXT LINE
- AOD LA
- LDD T7
- NJN PDN13 IF NOT END OF SUBSTATUS
- * LDN 0
- SBD T4 DECREMENT STATUS LENGTH
- RAD BC
- MJN PDN9.1 IF END OF STATUS BLOCK
- NJN PDN9.2 IF NOT END OF STATUS BLOCK
- PDN9.1 LJM PDN4 TERMINATE LIST
- PDN9.2 LDD T4
- LPN 1
- ZJN PDN10 IF NOT PADDING OCTET
- RJM CCR
- SOD PA RESET PARAMETER ADDRESS
- PDN10 LDC 2R
- STI PA SET LEADING BLANKS IN BUFFER
- AOD PA
- RJM CCR CONVERT SUBSTATUS LENGTH
- SOD T0
- MJN PDN11 IF INVALID SUBSTATUS LENGTH
- LPC 177
- NJN PDN12 IF VALID SUBSTATUS
- PDN11 LDD BC
- PDN12 LJM PDN6 GENERATE NEXT MESSAGE LINE
- PDN13 LDC 2R BLANK FILL START OF MESSAGE
- STI PA
- STM 1,PA DONT RELIST SUBSTATUS HEADER
- STM 2,PA
- LDN 3 ADVANCE BUFFER ADDRESS
- RAD PA
- LJM PDN7 CONTINUE SUBSTATUS ON NEXT LINE
- TITLE MISCELLANEOUS.
- TDVT SPACE 4,10
- ** TDVT - TABLE OF MASS STORAGE DEVICE TYPES.
- TDVT BSS 0 TABLE OF DEVICE TYPES
- TBL "MSEQ"
- CON 0 END OF TABLE
- TELM SPACE 4,10
- ** TELM - TABLE OF ERRLOG MESSAGES.
- TELM BSS 0 TABLE OF MESSAGES
- ERMA DATA Z*UNRECOVERED MASS STORAGE ERROR.*
- ERMB DATA Z*ERROR CODE = NN.*
- ERMC DATA Z*NCH = CC, UN = UU.*
- ERMD DATA Z*CYL = YYYY, TRK = TT, SEC = SS.*
- ERME DATA Z*LAST CHANNEL FUNCTION = FFFFFF.*
- ERMF DATA H*GENERAL *
- ERMG DATA Z*STATUS = GGGG.*
- ERMH DATA Z*DETAILED STATUS.*
- ERMI DATA Z* 01=XXXX 02=XXXX 03=XXXX 04=XXXX.*
- ERMJ DATA Z* 05=XXXX 06=XXXX 07=XXXX 08=XXXX.*
- ERMK DATA Z* 09=XXXX 10=XXXX 11=XXXX 12=XXXX.*
- ERML DATA Z* 13=XXXX 14=XXXX 15=XXXX 16=XXXX.*
- ERMM DATA Z* 17=XXXX 18=XXXX 19=XXXX 20=XXXX.*
- ERMN DATA Z*WORD COUNT = CCCC.*
- ERMO DATA Z*XM ADDR = AAAAAAAA.*
- ERMP DATA Z*FAULT CODE = NN.*
- ERMQ DATA Z*CPP = PP, CCH = CCB, EQ = E, UN = UU.*
- ERMR DATA Z*CCH REG = DDDD EEEE OO C RRRR.*
- ERMS DATA Z*LAST COMMAND = CCCC.*
- ERMT DATA Z*IHD STATUS.*
- ERMU DATA Z* 01=AAAA 02=BBBB 03=CCCC 04=DDDD.*
- ERMV DATA Z* 05=EEEE 06=FFFF 07=GGGG.*
- ERMW DATA Z*DEVICE STATUS.*
- ERMX DATA Z*CYBER I/F STATUS = II.*
- ERMY DATA Z*CCC STATUS = CCC.*
- ERMZ DATA Z* SB00=SS SB01=SS SB02=SS SB03=SS.*
- ERM1 DATA Z* SB04=SS SB05=SS SB06=SS SB07=SS.*
- ERM2 DATA Z* SB08=SS SB09=SS SB10=SS SB11=SS.*
- ERM3 DATA Z* SB12=SS SB13=SS SB14=SS SB15=SS.*
- ERM4 DATA Z* SB16=SS SB17=SS SB18=SS SB19=SS.*
- ERM5 DATA Z* SB20=SS SB21=SS SB22=SS SB23=SS.*
- ERM6 DATA Z*OP STAT REG = OOOOOO.*
- ERM7 DATA Z*AD CNTL REG = AAAAAA.*
- ERM8 DATA Z*ER STAT REG = EEEEEE.*
- ERM9 DATA Z*9853/583X/47444 STATUS.*
- TEMP SPACE 4,10
- ** TEMP - TABLE OF ERRLOG MESSAGE PROCESSORS.
- TEMP BSS 0 TABLE OF MESSAGE PROCESSORS
- TEMP HERE
- TMID SPACE 4,10
- ** TMID - TABLE OF MASS STORAGE BML MESSAGE ID-S.
- TMID BSS 0 TABLE OF MESSAGE ID-S
- TMID HERE
- TMIDL EQU *-TMID LENGTH OF TABLE
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPACS
- CA EQU PA DEFINE CONVERSION ADDRESS
- LIST X
- *CALL COMPCHD
- LIST *
- *CALL COMPC2D
- *CALL COMPDV5
- 1MD SPACE 4,10
- OVERFLOW
- BUFF SPACE 4,10
- ELMB BSS 0 ERRLOG MESSAGE ASSEMBLY BUFFER
- BUFF EQU ELMB+5*5 MESSAGE BUFFER
- BUFFL EQU PDNT-BUFF
- ERRNG PDNT-BUFF-5*200 OVERFLOW
- END
cdc/nos2.source/opl871/1md.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator