Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.calpfu +++| IDENT CALPFU
00002 M01S00002.calpfu +++| ENTRY CALPFU
00003 M01S00003.calpfu +++| SST
00004 M01S00004.calpfu +++| TITLE CALPFU - CALL *PFU* FOR UTILITY FUNCTION.
00005 M01S00005.calpfu +++| SPACE 4,15
00006 M01S00006.calpfu +++|*** CALPFU - ISSUE PERMANENT FILE UTILITY FUNCTION VIA
00007 M01S00007.calpfu +++|* PPU PROGRAM *PFU*.
00008 M01S00008.calpfu +++|*
00009 M01S00009.calpfu +++|* CALPFU(FET,FN). (*SYMPL* CALL).
00010 M01S00010.calpfu +++|*
00011 M01S00011.calpfu +++|* ENTRY (FET) = FET ADDRESS.
00012 M01S00012.calpfu +++|* (FN) = *PFU* FUNCTION CODE ( SUPPLIED BY *CALPFU* ).
00013 M01S00013.calpfu +++|*
00014 M01S00014.calpfu +++|* EXIT - NONE.
00015 M01S00015.calpfu +++|*
00016 M01S00016.calpfu +++|* USES A - 1,2.
00017 M01S00017.calpfu +++|* B - 1.
00018 M01S00018.calpfu +++|* X - 1,2,7.
00019 M01S00019.calpfu +++| SPACE 4,15
00020 M01S00020.calpfu +++|*CALL,COMCMAC
00021 M01S00021.calpfu +++|*CALL,COMCPFU
00022 M01S00022.calpfu +++|*CALL,COMSPFU
00023 M01S00023.calpfu +++| SPACE 4,15
00024 M01S00024.calpfu +++| CALPFU SUBR
00025 M01S00025.calpfu +++| SB1 1
00026 M01S00026.calpfu +++| SA2 A1 SET (X2) = FET ADDRESS
00027 M01S00027.calpfu +++| SA1 A2+B1
00028 M01S00028.calpfu +++| SX7 CTSR SET (X7) = *PFU* STAGE REQUEST
00029 M01S00029.calpfu +++| BX7 -X7 CALL *PFU* WITH AUTO RECALL
00030 M01S00030.calpfu +++| RJ =XPFU CALL *PFU* INTO ACTION
00031 M01S00031.calpfu +++| EQ CALPFUX EXIT
00032 M01S00032.calpfu +++| END
00033 M01S00014.calpfu +++|GETMST
Line S56148 Modification History |
M01 (Yanked) (Updated by) | @033132 |
M02 (Yanked) (Updated by) | @029522 |
M03 (Yanked) (Updated by) | @031679 |
Seq # *Modification Id* Act
----------------------------+
00034 M03S56148.@031679 ---|6
Line S00517 Modification History |
M01 (Yanked) (Updated by) | @058641 |
M02 (Yanked) (Added by) | @039788 |
M03 (Yanked) (Updated by) | @021481 |
M04 (Yanked) (Updated by) | @056108 |
M05 (Yanked) (Updated by) | @029010 |
M06 (Yanked) (Updated by) | @031566 |
M07 (Yanked) (Added by) | @008456 |
M08 (Yanked) (Updated by) | @057419 |
Seq # *Modification Id* Act
----------------------------+
00035 M08S00517.@057419 ---|6
00036 M01S00013.calpfu +++|* -1, NO MORE DISK ENTRIES.
00037 M01S00014.calpfu +++|* 1, EQUIPMENT (EO) IS NOT A DISK.
00038 M01S00015.calpfu +++|* 0, EQUIPMENT (EO) IS A DISK.
00039 M01S00016.calpfu +++|*
00040 M01S00017.calpfu +++|* IF (STAT) = 0, THE FOLLOWING PARAMETERS
00041 M01S00018.calpfu +++|* ARE MEANINGFUL.
00042 M01S00019.calpfu +++|* (TYPE) = DEVICE TYPE, FROM *EST* ENTRY (12/DT,48/0).
00043 M01S00020.calpfu +++|* (FAM) = FAMILY, FROM *MST* ENTRY (42/FAM,18/0).
00044 M01S00021.calpfu +++|* (DN) = DEVICE NUMBER, FROM *MST* ENTRY.
00045 M01S00022.calpfu +++|* (NUM) = NUMBER OF PHYSICAL DEVICES.
00046 M01S00023.calpfu +++|* (TPRU) = TOTAL *PRU* ON THIS DEVICE.
00047 M01S00024.calpfu +++|* (SECT) = NUMBER OF SECTORS PER TRACK.
00048 M01S00025.calpfu +++|* (MSKP) = PRIMARY DEVICE MASK.
00049 M01S00026.calpfu +++|* (MSKS) = SECONDARY DEVICE MASK.
00050 M01S00027.calpfu +++|*
00051 M01S00028.calpfu +++|* USES X - ALL.
00052 M01S00029.calpfu +++|* A - 1,2,3,4,5,6.
00053 M01S00030.calpfu +++|* B - 1.
00054 M01S00031.calpfu +++| SPACE 2
00055 M01S00032.calpfu +++| GETMST BSS 1
00056 M01S00033.calpfu +++| SB1 1
00057 M01S00034.calpfu +++| SX6 A1
00058 M01S00035.calpfu +++| MX0 60-24
00059 M01S00036.calpfu +++| SA6 PARM SAVE PARAMETER LIST ADDRESS.
00060 M01S00037.calpfu +++|
00061 M01S00038.calpfu +++|* IF FIRST CALL, FETCH *EST* POINTER FROM LOW CORE.
00062 M01S00039.calpfu +++|
00063 M01S00040.calpfu +++| SA2 ESTFWA
00064 M01S00041.calpfu +++| NZ X2,GM1 IF NOT FIRST CALL
00065 M01S00042.calpfu +++| SX3 ESTP
00066 M01S00043.calpfu +++| SX4 ESTWORD
00067 M01S00044.calpfu +++| SX5 B1
00068 M01S00045.calpfu +++| RJ RLC READ POINTER TO *EST*
00069 M01S00046.calpfu +++| SA2 ESTWORD
00070 M01S00047.calpfu +++| LX2 24-0
00071 M01S00048.calpfu +++| BX6 -X0*X2 EXTRACT FWA OF *EST*
00072 M01S00049.calpfu +++| SA6 ESTFWA
00073 M01S00050.calpfu +++| LX2 36-12
00074 M01S00051.calpfu +++| MX4 60-12
00075 M01S00052.calpfu +++| BX7 -X4*X2 EXTRACT ORDINAL OF LAST RMS
00076 M01S00053.calpfu +++| SX7 X7-1
00077 M01S00054.calpfu +++| SX3 ESTE GET *EST* ENTRY SIZE
00078 M01S00055.calpfu +++| IX7 X3*X7
00079 M01S00056.calpfu +++| IX7 X6+X7
00080 M01S00057.calpfu +++| SX7 X7+B1 DETERMINE LWA OF *EST*
00081 M01S00058.calpfu +++| SA7 LWARMS
00082 M01S00059.calpfu +++| BX2 X6
00083 M01S00060.calpfu +++|
00084 M01S00061.calpfu +++|* VERIFY DESIRED ORDINAL IS VALID AND READ ITS *EST* ENTRY.
00085 M01S00062.calpfu +++|
00086 M01S00063.calpfu +++| GM1 BSS 0
00087 M01S00064.calpfu +++| SA1 PARM
00088 M01S00065.calpfu +++| SA1 X1
00089 M01S00066.calpfu +++| SA1 X1 FETCH *EST* ORDINAL
00090 M01S00067.calpfu +++| SX6 -2
00091 M01S00068.calpfu +++| SB2 X1
00092 M01S00069.calpfu +++| LT B2,B1,GM2
00093 M01S00070.calpfu +++| SX3 ESTE
00094 M01S00071.calpfu +++| IX4 X1*X3
00095 M01S00072.calpfu +++| SB2 X4
00096 M01S00073.calpfu +++| SA5 LWARMS
00097 M01S00074.calpfu +++| SX3 X2+B2 ADDRESS OF DESIRED *EST* ENTRY
00098 M01S00075.calpfu +++| IX5 X3-X5
00099 M01S00076.calpfu +++| SX6 -B1
00100 M01S00077.calpfu +++| PL X5,GM2 IF ORDINAL TOO BIG
00101 M01S00078.calpfu +++| SX4 ESTENT
00102 M01S00079.calpfu +++| SX5 B1
00103 M01S00080.calpfu +++| RJ RLC READ *EST* ENTRY FOR SUPPLIED ORDINAL
00104 M01S00081.calpfu +++| SA1 ESTENT
00105 M01S00082.calpfu +++| SX6 B1
00106 M01S00083.calpfu +++| PL X1,GM2 IF NOT A DISK
00107 M01S00084.calpfu +++| SX6 B0
00108 M01S00085.calpfu +++|
00109 M01S00086.calpfu +++|* X6 .NE. 0 IF ORDINAL IS NOT OK.
00110 M01S00087.calpfu +++|* X1 = CONTENT OF *EST* ENTRY.
00111 M01S00088.calpfu +++|* X0 = MASK FROM MX0 48.
00112 M01S00089.calpfu +++|
00113 M01S00090.calpfu +++| GM2 BSS 0
00114 M01S00091.calpfu +++| SA5 PARM
00115 M01S00092.calpfu +++| SA2 X5+B1 FETCH ADD(STAT)
00116 M01S00093.calpfu +++| SA6 X2 (STAT) = REQUEST STATUS
00117 M01S00094.calpfu +++|
00118 M01S00095.calpfu +++| NZ X6,GETMST RETURN IF NOT A DISK
00119 M01S00096.calpfu +++|
00120 M01S00097.calpfu +++| MX0 48
00121 M01S00098.calpfu +++| BX3 -X0*X1
00122 M01S00099.calpfu +++| LX1 60-12
00123 M01S00100.calpfu +++| BX6 -X0*X1 EXTRACT DEVICE TYPE
00124 M01S00101.calpfu +++| LX6 60-12
00125 M01S00102.calpfu +++| SA2 A2+B1
00126 M01S00103.calpfu +++| SA6 X2 (TYPE) = DEVICE TYPE
00127 M01S00104.calpfu +++|
00128 M01S00105.calpfu +++| SX4 MST
00129 M01S00106.calpfu +++| LX3 3 CONVERT TO *MST* ADDRESS
00130 M01S00107.calpfu +++| SX5 ISGL
00131 M01S00108.calpfu +++| SX3 X3+TDGL
00132 M01S00109.calpfu +++| RJ RLC READ *MST* ENTRY
00133 M01S00110.calpfu +++| SPACE 2
00134 M01S00111.calpfu +++|* EXTRACT NEEDED DATA FROM THE *MST* ENTRY TO
00135 M01S00112.calpfu +++|* PROVIDE THE REPLY PARAMETERS.
00136 M01S00113.calpfu +++|
00137 M01S00114.calpfu +++| SA5 MST+PFGL-TDGL
00138 M01S00115.calpfu +++| SA2 A2+B1
00139 M01S00116.calpfu +++| MX7 42
00140 M01S00117.calpfu +++| BX6 X7*X5
00141 M01S00118.calpfu +++| SA6 X2 (FAM) = FAMILY
00142 M01S00119.calpfu +++|
00143 M01S00120.calpfu +++| BX6 -X7*X5 DN*2**12
00144 M01S00121.calpfu +++| AX6 12
00145 M01S00122.calpfu +++| SA2 A2+B1
00146 M01S00123.calpfu +++| SA6 X2 (DN) = DEVICE NUMBER
00147 M01S00124.calpfu +++|
00148 M01S00125.calpfu +++| MX7 60-3
00149 M01S00126.calpfu +++| BX6 -X7*X5 EXTRACT NUMBER OF DEVICES -1
00150 M01S00127.calpfu +++| SX6 X6+B1
00151 M01S00128.calpfu +++| SA2 A2+B1
00152 M01S00129.calpfu +++| SA6 X2 (NUM) = NUMBER OF DEVICES
00153 M01S00130.calpfu +++|
00154 M01S00131.calpfu +++|* CALCULATE TOTAL SECTORS.
00155 M01S00132.calpfu +++|
00156 M01S00133.calpfu +++|* = NUMBER OF TRACKS ON EACH DEVICE.
00157 M01S00134.calpfu +++|* * SECTORS PER TRACK (SECTOR LIMIT)
00158 M01S00135.calpfu +++|
00159 M01S00136.calpfu +++| SA3 MST+TDGL-TDGL
00160 M01S00137.calpfu +++| LX3 12
00161 M01S00138.calpfu +++| BX4 -X0*X3 NUMBER OF TRACKS OF EACH PHYSICAL DEVICE
00162 M01S00139.calpfu +++| SA3 MST+MDGL-TDGL
00163 M01S00140.calpfu +++| BX3 -X0*X3
00164 M01S00141.calpfu +++| IX6 X4*X3
00165 M01S00142.calpfu +++| SA2 A2+B1
00166 M01S00143.calpfu +++| BX7 X3
00167 M01S00144.calpfu +++| SA6 X2 (TPRU) = TOTAL SECTORS
00168 M01S00145.calpfu +++|
00169 M01S00146.calpfu +++| SA2 A2+B1
00170 M01S00147.calpfu +++| SA7 X2 (SECT) = NUMBER OF SECTORS PER TRACK
00171 M01S00148.calpfu +++| SPACE 2
00172 M01S00149.calpfu +++| SA5 MST+PUGL-TDGL FETCH DEVICE MASKS
00173 M01S00150.calpfu +++| MX7 60-8
00174 M01S00151.calpfu +++| BX6 -X7*X5
00175 M01S00152.calpfu +++| SA2 A2+B1
00176 M01S00153.calpfu +++| SA6 X2 (MSKP) = PRIMARY DEVICE MASK
00177 M01S00154.calpfu +++| LX5 60-8
00178 M01S00155.calpfu +++| BX6 -X7*X5
00179 M01S00156.calpfu +++| SA2 A2+B1
00180 M01S00157.calpfu +++| SA6 X2 (MSKS) = SECONDARY DEVICE MASK
00181 M01S00158.calpfu +++| EQ GETMST
00182 M01S00159.calpfu +++| SPACE 4
00183 M01S00160.calpfu +++|** RLC - READ LOW CORE.
00184 M01S00161.calpfu +++|*
00185 M01S00162.calpfu +++|* ENTRY (X3) = ADDRESS TO BE READ FROM LOW CORE.
00186 M01S00163.calpfu +++|* (X4) = ADDRESS OF BUFFER TO HOLD RESULTS OF READ.
00187 M01S00164.calpfu +++|* (X5) = WORD COUNT.
00188 M01S00165.calpfu +++| SPACE 2
00189 M01S00166.calpfu +++| RLC BSS 1
00190 M01S00167.calpfu +++| MX6 1
00191 M01S00168.calpfu +++| SA6 X4
00192 M01S00169.calpfu +++| LX5 36
00193 M01S00170.calpfu +++| LX3 18
00194 M01S00171.calpfu +++| BX6 X3+X4
00195 M01S00172.calpfu +++| BX6 X6+X5
00196 M01S00173.calpfu +++| SA6 RSBA
00197 M01S00174.calpfu +++| SYSTEM RSB,R,RSBA
00198 M01S00175.calpfu +++| EQ RLC
00199 M01S00176.calpfu +++| SPACE 4
00200 M01S00177.calpfu +++| PARM BSS 1
00201 M01S00178.calpfu +++| ESTES BSS 1
00202 M01S00179.calpfu +++| ESTFWA DATA 0
00203 M01S00180.calpfu +++| ESTWORD BSS 1
00204 M01S00181.calpfu +++| LWARMS BSS 1
00205 M01S00182.calpfu +++| ESTENT BSS 1
00206 M01S00183.calpfu +++| MST BSS ISGL
00207 M01S00184.calpfu +++| RSBA BSS 1
00208 M01S00185.calpfu +++|
00209 M01S00186.calpfu +++| END