cdc:nos2.source:opl.opl871:deck:calpfu
Deck CALPFU
0 Modifications
Source
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
cdc/nos2.source/opl.opl871/deck/calpfu.txt ยท Last modified: by 127.0.0.1