User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:compcea

Common COMPCEA

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.compcea +++|          CTEXT  COMPCEA - CONVERT EXTENDED MEMORY ADDRESS.
00002  M00S00002.compcea +++|          IF     -DEF,QUAL$,1
00003  M00S00003.compcea +++|          QUAL   COMPCEA
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00004  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M00S00004.compcea +++|          SPACE  4
00006  M00S00005.compcea +++|***       CEA - CONVERT EXTENDED MEMORY ADDRESS.
00007  M00S00006.compcea +++|*         D. A. HIVELEY.     75/01/28.
00008  M00S00007.compcea +++|          SPACE  4
00009  M00S00008.compcea +++|***              CEA CONVERTS A LOGICAL TRACK AND SECTOR ADDRESS
00010  M00S00009.compcea +++|*         INTO AN XM ADDRESS.  DUE TO THE FORMAT OF XM, TWO ADDRESSES
00011  M00S00010.compcea +++|*         ARE RETURNED. THESE ARE THE ADDRESS OF THE LINKAGE BYTES
00012  M00S00011.compcea +++|*         AND THE ADDRESS OF THE DATA SECTOR.
00013  M00S00012.compcea +++|*         LINK WORD ADDR = (TRACK*101B*SLDE) + SECTOR.
00014  M00S00013.compcea +++|*         DATA ADDR = (TRACK*101B*SLDE) + (SECTOR*100B) + SLDE.
00015  M00S00014.compcea +++|*
00016  M00S00015.compcea +++|*         IF *CEI$* IS DEFINED, ROUTINE *CEI* WILL BE ASSEMBLED TO USE
00017  M00S00016.compcea +++|*         THE XM TRACK SHIFT ASSOCIATED WITH THE CPU ACCESSIBLE XM
00018  M00S00017.compcea +++|*         DEVICE.  OTHERWISE, THE XM LINK DEVICE WILL BE USED.
00019  M00S00018.compcea +++|*
00020  M00S00019.compcea +++|*         IF *CEA$* IS DEFINED, REMOTE CODE FOR SUBROUTINE *CEI*
00021  M00S00020.compcea +++|*         WILL BE DEFINED TO INITIALIZE THE TRACK SIZE AND SECTOR
00022  M00S00021.compcea +++|*         LIMIT.  A *CEI* LABELED *HERE* INSTRUCTION MUST BE
00023  M00S00022.compcea +++|*         SPECIFIED TO CAUSE ASSEMBLY OF THE *CEI* SUBROUTINE AT
00024  M00S00023.compcea +++|*         THE APPROPRIATE PLACE WITHIN THE CALLING PP PROGRAM
00025  M00S00024.compcea +++|*         (PRESET RECOMMENDED).  THE CALLING PROGRAM MUST RETURN
00026  M00S00025.compcea +++|*         JUMP TO *CEI* BEFORE MAKING ANY *CEA* CALLS.
00027  M00S00026.compcea +++|*
00028  M00S00027.compcea +++|*         IF *CEA$* IS NOT DEFINED, THE SUBROUTINE *CEI* WILL BE
00029  M00S00028.compcea +++|*         ASSEMBLED IN-LINE, AND THE FIRST EXECUTION OF *CEA* WILL
00030  M00S00029.compcea +++|*         INITIALIZE THE TRACK SIZE AND SECTOR LIMIT CODE.
00031  M00S00030.compcea +++|*         EXECUTION OF *CEI* DESTROYS CM - CM+4.
00032  M00S00031.compcea +++|*
00033  M00S00032.compcea +++|*         ENTRY  (T6) = XM TRACK.
00034  M00S00033.compcea +++|*                (T7) = XM SECTOR.
00035  M00S00034.compcea +++|*
00036  M00S00035.compcea +++|*         EXIT   (CM+3 - CM+4) = XM ADDRESS OF DATA SECTOR.
00037  M00S00036.compcea +++|*                (T0 - T1) = XM ADDRESS OF LINKAGE WORD FOR SECTOR.
00038  M00S00037.compcea +++|
00039  M00S00038.compcea +++|
00040  M00S00039.compcea +++| CEA1     LDD    T6          EXTRACT TRACK
00041  M00S00040.compcea +++|          LPC    3777
00042  M00S00041.compcea +++| CEAA     SHN    4           TRACK*X (X=20B, 40B, 100B OR 200B)
00043  M00S00042.compcea +++|          STD    T1
00044  M00S00043.compcea +++|          SHN    -14
00045  M00S00044.compcea +++|          STD    T0
00046  M00S00045.compcea +++|          SHN    14
00047  M00S00046.compcea +++|          LMD    T1
00048  M00S00047.compcea +++|          SHN    -6
00049  M00S00048.compcea +++|          RAD    T0
00050  M00S00049.compcea +++|          LDD    T1
00051  M00S00050.compcea +++|          LPN    77
00052  M00S00051.compcea +++|          SHN    6
00053  M00S00052.compcea +++|          ADD    T7          PLUS SECTOR
00054  M00S00053.compcea +++|          RAD    T1
00055  M00S00054.compcea +++|          SHN    -14
00056  M00S00055.compcea +++|          RAD    T0
00057  M00S00056.compcea +++|          LDD    T7          ADD (SECTOR*77B) + SECTOR LIMIT
00058  M00S00057.compcea +++|          SHN    6
00059  M00S00058.compcea +++|          SBD    T7
00060  M00S00059.compcea +++|          ADC    **          ADD SECTOR LIMIT
00061  M00S00060.compcea +++| CEAB     EQU    *-1
00062  M00S00061.compcea +++|          ADD    T1
00063  M00S00062.compcea +++|          STD    CM+4
00064  M00S00063.compcea +++|          SHN    -14
00065  M00S00064.compcea +++|          ADD    T0
00066  M00S00065.compcea +++|          STD    CM+3
00067  M00S00066.compcea +++|
00068  M00S00067.compcea +++| CEA      SUBR               ENTRY/EXIT
00069  M00S00068.compcea +++| CEA$     IF     -DEF,CEA$
00070  M00S00069.compcea +++| CEAC     RJM    CEI         INITIALIZE XM ADDRESS FORMULA
00071  M00S00070.compcea +++|*         UJN    CEA1        (INITIALIZATION COMPLETE)
00072  M00S00071.compcea +++| CEA$     ENDIF
00073  M00S00072.compcea +++|          UJP    CEA1        INITIALIZATION COMPLETE
00074  M00S00073.compcea +++| CEA$     IF     DEF,CEA$
00075  M00S00074.compcea +++| CEI      RMT
00076  M00S00075.compcea +++| CEA$     ENDIF
00077  M00S00076.compcea +++| CEI      SPACE  4,10
00078  M00S00077.compcea +++|**        CEI - CEA INITIALIZE.
00079  M00S00078.compcea +++|*
00080  M00S00079.compcea +++|*         ENTRY  (T6) = XM TRACK.
00081  M00S00080.compcea +++|*                (T7) = XM SECTOR.
00082  M00S00081.compcea +++|*
00083  M00S00082.compcea +++|*         EXIT   FORMULA IN *CEA* INITIALIZED TO USE SHIFT COUNT
00084  M00S00083.compcea +++|*                ASSOCIATED WITH DEVICE SPECIFIED BY *CEI$*.
00085  M00S00084.compcea +++|*
00086  M00S00085.compcea +++|*         USES   CM - CM+4.
00087  M00S00086.compcea +++|*
00088  M00S00087.compcea +++|*         MACROS ISTORE.
00089  M00S00088.compcea +++|
00090  M00S00089.compcea +++|
00091  M00S00090.compcea +++| CEI      SUBR               ENTRY/EXIT
00092  M00S00091.compcea +++| CEI$     IF     DEF,CEI$
00093  M00S00092.compcea +++|          LDK    EXML        USE *XMSC* OF CPU-ACCESSIBLE EM DEVICE
00094  M00S00093.compcea +++|          CRD    CM
00095  M00S00094.compcea +++|          LDD    CM+4
00096  M00S00095.compcea +++| CEI$     ELSE
00097  M00S00096.compcea +++|          LDK    MMFL        USE *EMSC* OF LINK DEVICE
00098  M00S00097.compcea +++|          CRD    CM
00099  M00S00098.compcea +++|          LDD    CM+1
00100  M00S00099.compcea +++| CEI$     ENDIF
00101  M00S00100.compcea +++|          LPC    777
00102  M00S00101.compcea +++|          SFA    EST
00103  M00S00102.compcea +++|          ADK    EQAE
00104  M00S00103.compcea +++|          CRD    CM
00105  M00S00104.compcea +++|          LDD    CM+2
00106  M00S00105.compcea +++|          SHN    -6          SET XM SHIFT COUNT
00107  M00S00106.compcea +++|          LPN    3
00108  M00S00107.compcea +++|          RAM    CEAA
00109  M00S00108.compcea +++|          STM    CEIA
00110  M00S00109.compcea +++|          LDN    1
00111  M00S00110.compcea +++| CEIA     SHN    **
00112  M00S00111.compcea +++|          STM    CEAB        SECTORS PER TRACK
00113  M00S00112.compcea +++| CEA$     IF     -DEF,CEA$
00114  M00S00113.compcea +++|          ISTORE CEAC,(UJN CEA1)
00115  M00S00114.compcea +++| CEA$     ENDIF
00116  M00S00115.compcea +++|          UJN    CEIX        FORMULA INITIALIZED
00117  M00S00116.compcea +++| CEA$     IF     DEF,CEA$
00118  M00S00117.compcea +++| CEI      RMT
00119  M00S00118.compcea +++| CEA$     ENDIF
00120  M00S00119.compcea +++|          SPACE  4
00121  M00S00120.compcea +++| QUAL$    IF     -DEF,QUAL$
00122  M00S00121.compcea +++|          QUAL   *
00123  M00S00122.compcea +++| CEA      EQU    /COMPCEA/CEA
00124  M00S00123.compcea +++| QUAL$    ENDIF
00125  M00S00124.compcea +++|          ENDX
cdc/nos2.source/opl.opl871/common/compcea.txt ยท Last modified: by 127.0.0.1