cdc:nos2.source:opl871:0mf
Table of Contents
0MF
Table Of Contents
- [00007] 0MF - INITIALIZE MMF LINK DEVICE.
- [00009] INITIALIZE MMF LINK DEVICE.
- [00045] MAIN ROUTINE.
- [00046] ILD - MAIN ROUTINE.
- [00392] SUBROUTINES.
- [00394] SNT - SET NEXT TRACK IN EXTENDED MEMORY TRACK CHAIN.
Source Code
- 0MF.txt
- IDENT 0MF,ILDX
- PERIPH J
- BASE M
- SST
- *COMMENT 0MF - INITIALIZE MMF LINK DEVICE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE 0MF - INITIALIZE MMF LINK DEVICE.
- SPACE 4
- *** 0MF - INITIALIZE MMF LINK DEVICE.
- * P. D. HAAS 75/07/14.
- SPACE 4
- *** 0MF IS RESPONSIBLE FOR INITIALIZATION OF THE
- * MULTI-MAINFRAME LINK DEVICE (ECS).
- SPACE 4
- *** ENTRY CONDITIONS.
- *
- *
- * (EQ) = ECS EST ORDINAL.
- * (RS) = RECOVERY STATUS.
- * (TW) = CONSTANT TW0.
- * (P1) = TOTAL NUMBER OF DEVICES TO PRESET.
- * (P2) = NUMBER OF BUFFERED DEVICES TO PRESET.
- * (CN - CN+4) = *ALGL* WORD OF MST FOR ECS.
- * (FN - FN+4) = EST ENTRY FOR ECS.
- SPACE 4
- *** EXIT CONDITIONS.
- *
- *
- * ECS RESIDENT INITIALIZED.
- * *PRSI* INTERLOCK CLEARED.
- * (QT) = CURRENT *DAT* TRACK.
- * (QI) = CURRENT *DAT* INDEX.
- * (BAEI - BAEI+4) = IMAGE OF *BAET* ENVIRONMENT TABLE WORD.
- SPACE 4
- *CALL COMPMAC
- *CALL COMPREL
- *CALL COMSCPS
- *CALL COMSMSP
- *CALL COMSMST
- LIST X
- MMF$ EQU 1 INITIALIZE COMSMMF DIRECT CELLS
- *CALL COMSMMF
- LIST *
- *CALL COMSZOL
- TITLE MAIN ROUTINE.
- ** ILD - MAIN ROUTINE.
- ORG 5
- ILD SUBR ENTRY/EXIT
- SFA EST,EQ
- ADK EQAE
- CRD CM
- LDD CM+2 PRESET EM TRACK SHIFT COUNT
- SHN -6
- LPN 3
- RAM ILDF
- STM ILDH
- LDD LA BIAS INSTRUCTIONS BY LOAD ADDRESS
- RAM ILDA
- STM ILDB
- STM ILDC
- * RESERVE DAT/FAT TRACK CHAIN.
- LDN ZERL
- CRD CM
- LDD EQ SET EST ORDINAL IN REQUEST
- STD CM+1
- LDD RS
- NJN ILD2 IF RECOVERY SELECTED
- LDD CN+4
- ZJN ILD1 IF NO DAT/FAT TRACK CHAIN
- STD CM+2
- MONITOR DTKM RELEASE DAT/FAT TRACK CHAIN
- ILD1 LDD EQ SET EST ORDINAL
- STD CM+1
- LDD P1 NUMBER OF SHARED DEVICES
- ILDF SHN 4 CONVERT TRACK COUNT TO SECTOR COUNT
- * SHN 4+EMSC (EMSC = EM TRACK SHIFT COUNT)
- ADN 1 ADDITIONAL TRACK FOR DAT-S AND FAT-S
- STD CM+4
- SHN -14
- STD CM+3
- MONITOR RTCM
- LDD CM+4 SET FIRST TRACK IN *ALGL*
- STD CN+4
- STD CM+2
- LDN SPFS SET PRESERVED FILE STATUS
- STD CM+3
- LDC 4000 INCLUDE CHECKPOINT REQUEST
- RAD CM+1
- MONITOR STBM
- ILD2 LDD FN+4 STORE DEVICE ALLOCATION WORD
- SHN 3
- ADN ALGL
- CWD CN
- SBN ALGL-SDGL GET SHARED DEVICE WORD
- CRD FS
- ADN PFGL-SDGL READ PF DESCRIPTOR WORD
- CRM. ILDD,ON
- ILDA EQU *-1
- * SETUP *DAET* IN ENVIRONMENT TABLE SECTOR.
- LDD FN+4 READ TRT WORD
- SHN 3
- ADN TRLL
- CRD CM
- LDD CM+3
- LPN 77
- RAM ILDE SET FWA OF TRT
- STM SNTA
- LPN 77
- SHN 14
- LMD CM+4
- STM ILDE+1
- STM SNTA+1
- LDD CN+4 SET *DAT* TRACK FOR LINK DEVICE
- RJM SNT SET NEXT TRACK
- STM ILDD+4 SET TRACK IN *DAT* ENTRY
- STD QT
- STD T6
- LDN 0
- STD T7
- RJM CEA CONVERT ECS ADDRESS
- LDD CM+3
- STD FS
- LDD CM+4 SET ABSOLUTE MST/TRT ADDRESS
- STD FS+1
- LDD HN SET ONE TRT ACCESS
- STD FS+4
- LDD FN+4 STORE DRIVER ACTIVITY WORD
- SHN 3
- ADN SDGL
- CWD FS
- LDD CN+4 SET FIRST TRACK IN *DAT* CHAIN
- STD T6
- STM ILDG
- LDN ZERL
- CRD FS
- LDN 0 SET WORD COUNT
- STD CM+1
- LDD QT SET CURRENT TRACK IN *DAET* IMAGE
- STD FS
- LDN 2 SET *DAT* INDEX
- STD QI
- STD FS+4
- LDD MA MOVE *DAET* IMAGE TO BUFFER
- CWD FS
- STD CM+2 SET BUFFER ADDRESS
- LDD CN+1 SET LABEL TRACK
- STD T6
- STM ILDK
- LDN ETLT CONVERT ENVIRONMENT TABLE SECTOR ADDRESS
- STD T7
- RJM CEA
- LDN DAET
- RAD CM+4
- SHN -14
- ADC WECS*1000 SET WRITE FUNCTION
- RAD CM+3
- MONITOR ECSM STORE *DAET* WORD
- LDD RA STORE *DAT* ENTRY IN CM COPY OF *DAT*
- SHN 6
- ADD CA+1
- CWM. ILDD,TW
- ILDC EQU *-1
- LDD TH ADVANCE TRT BUFFER ADDRESS
- RAD CA+1
- * STORE MST/TRT FOR LINK DEVICE IN ECS.
- LDC 500-5*MSTL
- STD T7
- ILD3 LDN 0 CLEAR BUFFER
- STM. BFMS+1+5*MSTL,T7
- SOD T7
- NJN ILD3
- LDD EQ SET ECS EST ORDINAL
- STD T5
- LDD QT SET MST/TRT TRACK
- STD T6
- LDN MXMF-1
- STD T0
- LDK 5*LLLL
- STD T1
- ILD3.1 LDN MLUNL+MLDUL SET UNLOAD STATUS
- STM. BFMS+2+5*STLL,T1
- LDN 5*LLLL
- RAD T1
- SOD T0
- NJN ILD3.1 IF MORE LOCAL AREAS
- LDD HN SET FULL SECTOR WORD COUNT
- STM. BFMS+1
- LDN MSTL SET LENGTH OF MST
- STD T1
- LDD FN+4 READ MST TO PP BUFFER
- SHN 3
- ADK TDGL
- CRD CN
- CRM. BFMS+2,T1
- LDM. BFMS+2+5*MDGL SET 16-WORD PFC FLAG
- LPC 6777
- LMD TH
- STM. BFMS+2+5*MDGL
- LDD FN+4 UPDATE MST IN CMR
- SHN 3
- ADN MDGL
- CWM. BFMS+2+5*MDGL,ON
- SETMS IO,(DF,NS)
- LDN 0
- STD CN+4
- UJN ILD6 ENTER LOOP WITH (A) = 0
- ILD4 SBD HN DECREMENT BLOCK COUNT
- PJN ILD5 IF ANOTHER FULL SECTOR
- ADD HN
- STM. BFMS+1 SET SHORT SECTOR
- LDN 0
- ILD5 STD CN+2
- ILDE LDC ** (FWA OF TRT)
- ADD CN+4
- CRM. BFMS+2,HN READ NEXT BLOCK
- LDD HN ADVANCE TRT ADDRESS
- RAD CN+4
- AOD T7 ADVANCE SECTOR
- ILD6 ADN 1
- STM. BFMS
- LDC BFMS WRITE NEXT SECTOR
- RJM. WDS
- LDD CN+2
- NJN ILD4 LOOP TO END OF TRT
- LDD FN+4 GET TRT LENGTH FROM MST
- SHN 3
- ADK TDGL
- CRD CN
- LDN MRST-1 INITIALIZE MRT SECTOR
- STD T7
- LDD CN+2 SET MRT LENGTH
- ADN 7
- SHN -3
- STM. BFMS+1
- LDC 500 BUFFER LENGTH
- STD T1
- ILD7 LDN 0 CLEAR BUFFER
- STM. BFMS+1,T1
- SOD T1
- NJN ILD7
- LDN MXMF SET LOOP COUNT
- STD CN
- * CLEAR MRT SECTORS FOR *MXMF* MAINFRAMES.
- ILD8 AOD T7 ADVANCE MRT SECTOR
- ADN 1 SET NEXT SECTOR IN LINKAGE
- STM. BFMS
- LDC BFMS CLEAR MRT
- RJM. WDS
- SOD CN
- NJN ILD8 IF NOT *MXMF* MRT-S CLEARED
- STD T7
- LCN 20 CLEAR RECOVERY IN PROGRESS FLAG
- RAM ILDD+11
- LDC ** SET DAT/FAT TRACK
- ILDG EQU *-1
- STD T6
- LDD MA MOVE LINK DEVICE DAT ENTRY TO BUFFER
- CWM. ILDD,TW
- ILDB EQU *-1
- LDD MA
- CRM. BFMS+2,TW
- LDD HN
- STM. BFMS+1
- * INITIALIZE DAT/FAT TRACK.
- ILD9 LDD T7 SET SECTOR IN LINK BYTE
- ADN 1
- ILD10 STM. BFMS
- LDC BFMS
- RJM. WDS WRITE NEXT SECTOR
- LDN ZERL
- CRM. BFMS+2,ON
- LDN ZERL
- CRM. BFMS+2+5,ON
- AOD T7 ADVANCE TO NEXT SECTOR
- ADN 1
- SBM. SLM
- MJN ILD9 IF NOT LAST SECTOR
- NJN ILD11 IF LAST SECTOR WRITTEN
- STM. BFMS+1 SET EOI SECTOR
- UJN ILD10
- ILD11 ENDMS END MASS STORAGE OPERATION
- * RESERVE BRT/BDT/BAT TRACK CHAIN.
- LDD FN+4 GET BRT/BDT/BAT TRACK CHAIN POINTER
- SHN 3
- ADN NVGL
- CRD CN
- LDN ZERL
- CRD CM
- LDD EQ SET EST ORDINAL IN REQUEST
- STD CM+1
- LDD RS
- NJP ILD13 IF RECOVERY SELECTED
- LDD CN+3
- ZJN ILD12 IF NO BRT/BDT/BAT TRACK CHAIN
- STD CM+2
- MONITOR DTKM RELEASE BRT/BDT/BAT TRACK CHAIN
- STD CN+3 CLEAR POINTER
- ILD12 LDD EQ SET EST ORDINAL
- STD CM+1
- LDD P2 NUMBER OF SHARED BUFFERED DEVICES
- ZJN ILD13 IF NO SHARED BUFFERED DEVICES
- ADN 1 ADDITIONAL TRACK FOR BRT-S
- ILDH SHN 4 CONVERT TRACK COUNT TO SECTOR COUNT
- * SHN 4+EMSC (EMSC = EM TRACK SHIFT COUNT)
- ADN 1 ADDITIONAL TRACKS FOR BDT-S
- STD CM+4
- SHN -14
- STD CM+3
- MONITOR RTCM
- LDD CM+4 SET FIRST TRACK IN *NVGL*
- STD CN+3
- STD CM+2
- LDN SPFS SET PRESERVED FILE STATUS
- STD CM+3
- LDC 4000 INCLUDE CHECKPOINT REQUEST
- RAD CM+1
- MONITOR STBM
- ILD13 LDD FN+4 STORE *NVGL*
- SHN 3
- ADN NVGL
- CWD CN
- * SETUP *BAET* IN ENVIRONMENT TABLE SECTOR.
- LDN ZERL
- CRD FS
- LDD P2
- ZJN ILD14 IF NO SHARED BUFFERED DEVICES
- LDD CN+3 FIRST TRACK OF BRT/BDT/BAT TRACK CHAIN
- STD FS SET BRT TRACK INTO *BAET* IMAGE
- RJM SNT SET NEXT TRACK
- STD FS+1 SET BDT TRACK INTO *BAET* IMAGE
- RJM SNT SET NEXT TRACK
- STD FS+4 SET FIRST BAT TRACK INTO *BAET* IMAGE
- ILD14 LDD MA MOVE *BAET* IMAGE TO BUFFER
- STD CM+2 SET BUFFER ADDRESS
- CWD FS
- CRM. BAEI,ON SAVE *BAET* IMAGE
- LDN 0 SET WORD COUNT
- STD CM+1
- LDC ** SET LABEL TRACK
- ILDK EQU *-1
- STD T6
- LDN ETLT CONVERT ENVIRONMENT TABLE SECTOR ADDRESS
- STD T7
- RJM CEA
- LDN BAET
- RAD CM+4
- SHN -14
- ADC WECS*1000 SET WRITE FUNCTION
- RAD CM+3
- MONITOR ECSM STORE *BAET* WORD
- * ENABLE BRT PROCESSING IN *MTE*.
- LDD P2
- ZJN ILD15 IF NO SHARED BUFFERED DEVICES
- LDD FS SET BRT TRACK
- STD CM+4
- LDD FS+1 SET BDT TRACK
- STD CM+3
- LDN 0
- STD CM+2
- LDN EBRS ENABLE BRT PROCESSING
- STD CM+1
- MONITOR MTEM
- ILD15 LCN PRSI CLEAR *PRSI* INTERLOCK
- RJM IFR
- LJM ILDX RETURN
- ILDD VFD 42/0LMMFLINK,6/0,12/0
- VFD 60/20
- TITLE SUBROUTINES.
- SNT SPACE 4,10
- ** SNT - SET NEXT TRACK IN EXTENDED MEMORY TRACK CHAIN.
- *
- * ENTRY (A) = TRACK NUMBER.
- * (SNTA) = CM ADDRESS OF TRT.
- *
- * EXIT (A) = TRACK NUMBER OF NEXT TRACK IN CHAIN.
- *
- * USES T1, CM - CM+4.
- SNT SUBR ENTRY/EXIT
- SHN 21-1 REMOVE TRACK BIT
- LMD TH
- STD T0 SET WORD INDEX
- SHN 1-21
- STD T1 SET BYTE INDEX
- SNTA LDC ** (FWA OF TRT)
- ADD T0
- CRD CM
- LDM. CM,T1 EXTRACT NEXT TRACK
- UJN SNTX RETURN
- SPACE 4
- ** COMMON DECKS.
- *CALL COMPCEA
- *CALL COMPIFR
- SPACE 4,10
- OVERFLOW 5,ZMFL
- END
cdc/nos2.source/opl871/0mf.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator