cdc:nos2.source:opl.opl871:deck:m86serv
Deck M86SERV
0 Modifications
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.m86serv +++|PROC BZFILL(CHAR,(TYP),(NUM)); 00002 M01S00002.m86serv +++|# TITLE BZFILL - BLANK OR ZERO FILLS A CHARACTER ITEM. # 00003 M01S00003.m86serv +++| 00004 M01S00004.m86serv +++| BEGIN # BZFILL # 00005 M01S00005.m86serv +++| 00006 M01S00006.m86serv +++|# 00007 M01S00007.m86serv +++|** BZFILL - BLANK OR ZERO FILLS A CHARACTER ITEM. 00008 M01S00008.m86serv +++|* 00009 M01S00009.m86serv +++|* PROC BZFILL(CHAR,(TYP),(NUM)) 00010 M01S00010.m86serv +++|* 00011 M01S00011.m86serv +++|* ENTRY (TYP) = TYPE OF FILLING REQUIRED. 00012 M01S00012.m86serv +++|* = S"BFILL", BLANK FILLING. 00013 M01S00013.m86serv +++|* = S"ZFILL", ZERO FILLING. 00014 M01S00014.m86serv +++|* (NUM) = LENGTH OF CHARACTER ITEM IN NUMBER 00015 M01S00015.m86serv +++|* OF CHARACTERS. 00016 M01S00016.m86serv +++|* 00017 M01S00017.m86serv +++|* EXIT (CHAR) = BLANK OR ZERO FILLED CHARACTER. 00018 M01S00018.m86serv +++|* 00019 M01S00019.m86serv +++|* NOTES DEPENDING ON THE TYPE OF CONVERSION, ZEROES 00020 M01S00020.m86serv +++|* ARE REPLACED BY BLANKS OR BLANKS BY ZEROES. 00021 M01S00021.m86serv +++|# 00022 M01S00022.m86serv +++| 00023 M01S00023.m86serv +++| ITEM CHAR C(240); # ITEM TO BE BLANK/ZERO FILLED # 00024 M01S00024.m86serv +++| ITEM TYP U; # TYPE OF FILLING REQUIRED # 00025 M01S00025.m86serv +++| ITEM NUM I; # LENGTH OF *CHAR* IN NUMBER OF 00026 M01S00026.m86serv +++| CHARACTERS # 00027 M01S00027.m86serv +++| 00028 M01S00028.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00029 M01S00029.m86serv +++|*CALL COMBFAS 00030 M01S00030.m86serv +++|*CALL COMBBZF 00031 M01S00031.m86serv +++| 00032 M01S00032.m86serv +++| ITEM I I; # LOOP INDUCTION VARIABLE # 00033 M01S00033.m86serv +++| 00034 M01S00034.m86serv +++|CONTROL EJECT; 00035 M01S00035.m86serv +++| 00036 M01S00036.m86serv +++|# 00037 M01S00037.m86serv +++|* START OF EXECUTABLE CODE. 00038 M01S00038.m86serv +++|# 00039 M01S00039.m86serv +++| 00040 M01S00040.m86serv +++| IF TYP EQ TYPFILL"BFILL" 00041 M01S00041.m86serv +++| THEN 00042 M01S00042.m86serv +++| BEGIN # BLANK FILL # 00043 M01S00043.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL NUM-1 00044 M01S00044.m86serv +++| DO 00045 M01S00045.m86serv +++| BEGIN 00046 M01S00046.m86serv +++| IF C<I,1>CHAR EQ 0 # REPLACE ZEROES BY BLANKS # 00047 M01S00047.m86serv +++| THEN 00048 M01S00048.m86serv +++| BEGIN 00049 M01S00049.m86serv +++| C<I,1>CHAR = " "; 00050 M01S00050.m86serv +++| END 00051 M01S00051.m86serv +++| 00052 M01S00052.m86serv +++| END 00053 M01S00053.m86serv +++| 00054 M01S00054.m86serv +++| RETURN; 00055 M01S00055.m86serv +++| END # BLANK FILL # 00056 M01S00056.m86serv +++| 00057 M01S00057.m86serv +++| IF TYP EQ TYPFILL"ZFILL" 00058 M01S00058.m86serv +++| THEN 00059 M01S00059.m86serv +++| BEGIN # ZERO FILL # 00060 M01S00060.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL NUM-1 00061 M01S00061.m86serv +++| DO 00062 M01S00062.m86serv +++| BEGIN 00063 M01S00063.m86serv +++| IF B<I*6,6>CHAR EQ O"55" # REPLACE BLANKS BY ZEROES # 00064 M01S00064.m86serv +++| THEN 00065 M01S00065.m86serv +++| BEGIN 00066 M01S00066.m86serv +++| B<I*6,6>CHAR = 0; 00067 M01S00067.m86serv +++| END 00068 M01S00068.m86serv +++| 00069 M01S00069.m86serv +++| END 00070 M01S00070.m86serv +++| 00071 M01S00071.m86serv +++| RETURN; 00072 M01S00072.m86serv +++| 00073 M01S00073.m86serv +++| END # ZERO FILL # 00074 M01S00074.m86serv +++| 00075 M01S00075.m86serv +++| END # BZFILL # 00076 M01S00076.m86serv +++| 00077 M01S00077.m86serv +++| TERM 00078 M01S00078.m86serv +++|PROC LOFPROC((LFN)); 00079 M01S00079.m86serv +++|# TITLE LOFPROC - LIST OF FILES PROCESSOR. # 00080 M01S00080.m86serv +++| 00081 M01S00081.m86serv +++| BEGIN # LOFPROC # 00082 M01S00082.m86serv +++| 00083 M01S00083.m86serv +++|# 00084 M01S00084.m86serv +++|** LOFPROC - LIST OF FILES PROCESSOR. 00085 M01S00085.m86serv +++|* 00086 M01S00086.m86serv +++|* *LOFPROC* IS USED TO CREATE A LIST OF LOCAL FILE NAMES, AND ALSO 00087 M01S00087.m86serv +++|* TO RETURN THE FILES NAMED IN THIS LIST. 00088 M01S00088.m86serv +++|* 00089 M01S00089.m86serv +++|* PROC LOFPROC((LFN)) 00090 M01S00090.m86serv +++|* 00091 M01S00091.m86serv +++|* ENTRY (LFN) = NONZERO, LOCAL FILE NAME TO BE ADDED TO THE 00092 M01S00092.m86serv +++|* LIST OF FILES. 00093 M01S00093.m86serv +++|* = 0, ALL FILES IN THE LIST ARE TO BE RETURNED. 00094 M01S00094.m86serv +++|* 00095 M01S00095.m86serv +++|* EXIT THE SPECIFIED FILE HAS BEEN ADDED TO THE LIST, OR ALL 00096 M01S00096.m86serv +++|* FILES IN THE LIST HAVE BEEN RETURNED. 00097 M01S00097.m86serv +++|# 00098 M01S00098.m86serv +++| 00099 M01S00099.m86serv +++| ITEM LFN I; # FILE NAME TO BE ADDED TO LIST # 00100 M01S00100.m86serv +++| 00101 M01S00101.m86serv +++|# 00102 M01S00102.m86serv +++|**** PROC LOFPROC - XREF LIST BEGIN. 00103 M01S00103.m86serv +++|# 00104 M01S00104.m86serv +++| 00105 M01S00105.m86serv +++| XREF 00106 M01S00106.m86serv +++| BEGIN 00107 M01S00107.m86serv +++| PROC BZFILL; # BLANK OR ZERO FILL ITEM # 00108 M01S00108.m86serv +++| PROC RETERN; # RETURN FILE # 00109 M01S00109.m86serv +++| PROC ZSETFET; # INITIALIZE FET # 00110 M01S00110.m86serv +++| END 00111 M01S00111.m86serv +++| 00112 M01S00112.m86serv +++|# 00113 M01S00113.m86serv +++|**** PROC LOFPROC - XREF LIST END. 00114 M01S00114.m86serv +++|# 00115 M01S00115.m86serv +++| 00116 M01S00116.m86serv +++| DEF LOFMAX #15#; # MAXIMUM LENGTH OF FILE LIST # 00117 M01S00117.m86serv +++| 00118 M01S00118.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00119 M01S00119.m86serv +++|*CALL COMBFAS 00120 M01S00120.m86serv +++|*CALL COMBFET 00121 M01S00121.m86serv +++| 00122 M01S00122.m86serv +++| ITEM I I; # INDUCTION VARIABLE # 00123 M01S00123.m86serv +++| ITEM ORD U = 0; # CURRENT TABLE ORDINAL # 00124 M01S00124.m86serv +++| 00125 M01S00125.m86serv +++| ARRAY LFET [0:0] S(SFETL); ; # FET USED FOR *RETURN* REQUEST # 00126 M01S00126.m86serv +++| ARRAY LOF [0:LOFMAX] S(1); # LIST OF FILES TABLE # 00127 M01S00127.m86serv +++| BEGIN 00128 M01S00128.m86serv +++| ITEM LOF$WRD U(00,00,60); # FULL WORD DEFINITION # 00129 M01S00129.m86serv +++| ITEM LOF$LFN C(00,00,07); # LOCAL FILE NAME # 00130 M01S00130.m86serv +++| END 00131 M01S00131.m86serv +++| 00132 M01S00132.m86serv +++| CONTROL EJECT; 00133 M01S00133.m86serv +++| 00134 M01S00134.m86serv +++| IF LFN NQ 0 AND ORD LQ LOFMAX 00135 M01S00135.m86serv +++| THEN # ADD LFN TO LIST OF FILES # 00136 M01S00136.m86serv +++| BEGIN 00137 M01S00137.m86serv +++| BZFILL(LFN,1,7); 00138 M01S00138.m86serv +++| LOF$WRD[ORD] = LFN; 00139 M01S00139.m86serv +++| ORD = ORD + 1; 00140 M01S00140.m86serv +++| RETURN; 00141 M01S00141.m86serv +++| END 00142 M01S00142.m86serv +++| 00143 M01S00143.m86serv +++| IF LFN EQ 0 00144 M01S00144.m86serv +++| THEN # RETURN ALL FILES LISTED # 00145 M01S00145.m86serv +++| BEGIN # RETURN FILES # 00146 M01S00146.m86serv +++| ZSETFET(LOC(LFET[0]),"",0,0,SFETL); 00147 M01S00147.m86serv +++| 00148 M01S00148.m86serv +++| SLOWFOR I = 0 STEP 1 WHILE I LS ORD 00149 M01S00149.m86serv +++| DO 00150 M01S00150.m86serv +++| BEGIN 00151 M01S00151.m86serv +++| FET$LFN[0] = LOF$LFN[I]; 00152 M01S00152.m86serv +++| RETERN(LFET[0],RCL); 00153 M01S00153.m86serv +++| END 00154 M01S00154.m86serv +++| 00155 M01S00155.m86serv +++| END # RETURN FILES # 00156 M01S00156.m86serv +++| 00157 M01S00157.m86serv +++| RETURN; 00158 M01S00158.m86serv +++| END # LOFPROC # 00159 M01S00159.m86serv +++| 00160 M01S00160.m86serv +++| TERM 00161 M01S00161.m86serv +++|PROC MSG((DFMSG),(OP)); 00162 M01S00162.m86serv +++|# TITLE MSG - DISPLAY DAYFILE MESSAGE. # 00163 M01S00163.m86serv +++| 00164 M01S00164.m86serv +++| BEGIN # MSG # 00165 M01S00165.m86serv +++| 00166 M01S00166.m86serv +++|# 00167 M01S00167.m86serv +++|** MSG - DISPLAY DAYFILE MESSAGE. 00168 M01S00168.m86serv +++|* 00169 M01S00169.m86serv +++|* *MSG* SEARCHES A MESSAGE FOR A TERMINATING CHARACTER AND 00170 M01S00170.m86serv +++|* ZERO FILLS THE MESSAGE FROM THE TERMINATOR TO THE END 00171 M01S00171.m86serv +++|* OF THE MESSAGE. 00172 M01S00172.m86serv +++|* 00173 M01S00173.m86serv +++|* PROC MSG((DFMSG),(OP)) 00174 M01S00174.m86serv +++|* 00175 M01S00175.m86serv +++|* ENTRY (DFMSG) - MESSAGE TO BE DISPLAYED, 80 CHARACTER 00176 M01S00176.m86serv +++|* MAXIMUM. 00177 M01S00177.m86serv +++|* (OP) - MESSAGE ROUTING OPTION. 00178 M01S00178.m86serv +++|* (VALUES DEFINED IN *COMBFAS*) 00179 M01S00179.m86serv +++|* 00180 M01S00180.m86serv +++|* EXIT THE MESSAGE HAS BEEN DISPLAYED AT THE LOCATION 00181 M01S00181.m86serv +++|* SPECIFIED BY (OP). 00182 M01S00182.m86serv +++|# 00183 M01S00183.m86serv +++| 00184 M01S00184.m86serv +++| ITEM DFMSG C(80); # MESSAGE TEXT # 00185 M01S00185.m86serv +++| ITEM OP I; # MESSAGE ROUTING OPTION # 00186 M01S00186.m86serv +++| 00187 M01S00187.m86serv +++|# 00188 M01S00188.m86serv +++|**** PROC MSG - XREF LIST BEGIN. 00189 M01S00189.m86serv +++|# 00190 M01S00190.m86serv +++| 00191 M01S00191.m86serv +++| XREF 00192 M01S00192.m86serv +++| BEGIN 00193 M01S00193.m86serv +++| PROC MESSAGE; # ISSUE MESSAGE # 00194 M01S00194.m86serv +++| END 00195 M01S00195.m86serv +++| 00196 M01S00196.m86serv +++|# 00197 M01S00197.m86serv +++|**** PROC MSG - XREF LIST END. 00198 M01S00198.m86serv +++|# 00199 M01S00199.m86serv +++| 00200 M01S00200.m86serv +++| DEF BLANK #" "#; # BLANK CHARACTER # 00201 M01S00201.m86serv +++| DEF TERMCHAR #";"#; # TERMINATOR CHARACTER # 00202 M01S00202.m86serv +++| 00203 M01S00203.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00204 M01S00204.m86serv +++|*CALL COMBFAS 00205 M01S00205.m86serv +++| 00206 M01S00206.m86serv +++| ITEM I I; # LOOP COUNTER # 00207 M01S00207.m86serv +++| ITEM CP I; # CHARACTER POSITION # 00208 M01S00208.m86serv +++| 00209 M01S00209.m86serv +++|CONTROL EJECT; 00210 M01S00210.m86serv +++| 00211 M01S00211.m86serv +++| CP = 0; 00212 M01S00212.m86serv +++| FASTFOR I = 0 STEP 1 WHILE I LS 80 AND CP EQ 0 00213 M01S00213.m86serv +++| DO # FIND TERMINATOR # 00214 M01S00214.m86serv +++| BEGIN 00215 M01S00215.m86serv +++| IF C<I,1>DFMSG EQ TERMCHAR 00216 M01S00216.m86serv +++| THEN 00217 M01S00217.m86serv +++| BEGIN 00218 M01S00218.m86serv +++| CP = I; 00219 M01S00219.m86serv +++| END 00220 M01S00220.m86serv +++| 00221 M01S00221.m86serv +++| END 00222 M01S00222.m86serv +++| 00223 M01S00223.m86serv +++| IF CP NQ 0 00224 M01S00224.m86serv +++| THEN # ZERO FILL END OF MESSAGE # 00225 M01S00225.m86serv +++| BEGIN 00226 M01S00226.m86serv +++| B<CP*6,(80-CP)*6>DFMSG = 0; 00227 M01S00227.m86serv +++| END 00228 M01S00228.m86serv +++| 00229 M01S00229.m86serv +++| MESSAGE(DFMSG,OP); # ISSUE MESSAGE # 00230 M01S00230.m86serv +++| RETURN; 00231 M01S00231.m86serv +++| END # MSG # 00232 M01S00232.m86serv +++| 00233 M01S00233.m86serv +++| TERM 00234 M01S00234.m86serv +++|PROC RESTPFP((OPTION)); 00235 M01S00235.m86serv +++|# TITLE RESTPFP - RESTORE USER *PFP* AND ABORT OR RETURN. # 00236 M01S00236.m86serv +++| 00237 M01S00237.m86serv +++| BEGIN # RESTPFP # 00238 M01S00238.m86serv +++| 00239 M01S00239.m86serv +++|# 00240 M01S00240.m86serv +++|** RESTPFP - RESTORE USER *PFP* AND ABORT OR RETURN. 00241 M01S00241.m86serv +++|* 00242 M01S00242.m86serv +++|* *RESTPFP* RESTORES THE USER-S FAMILY AND USER INDEX, AND 00243 M01S00243.m86serv +++|* OPTIONALLY CALLS *LOFPROC* TO RETURN ANY LISTED FILES. 00244 M01S00244.m86serv +++|* 00245 M01S00245.m86serv +++|* PROC RESTPFP((OPTION)) 00246 M01S00246.m86serv +++|* 00247 M01S00247.m86serv +++|* ENTRY (OPTION) - PROCESSING OPTION (VALUES DEFINED IN 00248 M01S00248.m86serv +++|* *COMBFAS*). 00249 M01S00249.m86serv +++|* = *PFP$ABORT*, RESTORE *PFP*, RETURN ANY 00250 M01S00250.m86serv +++|* LISTED FILES, AND ABORT PROCESSING. 00251 M01S00251.m86serv +++|* = *PFP$END*, RESTORE *PFP*, RETURN ANY LISTED 00252 M01S00252.m86serv +++|* FILES, AND RETURN TO CALLING PROGRAM. 00253 M01S00253.m86serv +++|* = *PFP$RESUME*, RESTORE *PFP* AND RETURN TO 00254 M01S00254.m86serv +++|* CALLING PROGRAM (NO FILES RETURNED). 00255 M01S00255.m86serv +++|* (USER$FAM) = USER-S CURRENT FAMILY (IN *APFPCOM*). 00256 M01S00256.m86serv +++|* (USER$UI) = USER-S CURRENT USER INDEX (IN *APFPCOM*). 00257 M01S00257.m86serv +++|* 00258 M01S00258.m86serv +++|* EXIT THE USER INDEX AND FAMILY OF THE USER HAVE BEEN 00259 M01S00259.m86serv +++|* RESTORED. DEPENDING ON THE VALUE OF *OPTION*, 00260 M01S00260.m86serv +++|* LISTED FILES MAY HAVE BEEN RETURNED, AND/OR 00261 M01S00261.m86serv +++|* PROCESSING MAY HAVE BEEN ABORTED. 00262 M01S00262.m86serv +++|* 00263 M01S00263.m86serv +++|* MESSAGE * PROGRAM ABNORMAL, RESTPFP.*. 00264 M01S00264.m86serv +++|# 00265 M01S00265.m86serv +++| 00266 M01S00266.m86serv +++| ITEM OPTION I; # PROCESSING OPTION # 00267 M01S00267.m86serv +++| 00268 M01S00268.m86serv +++|# 00269 M01S00269.m86serv +++|**** PROC RESTPFP - XREF LIST BEGIN. 00270 M01S00270.m86serv +++|# 00271 M01S00271.m86serv +++| 00272 M01S00272.m86serv +++| XREF 00273 M01S00273.m86serv +++| BEGIN 00274 M01S00274.m86serv +++| PROC ABORT; # ISSUE ABORT # 00275 M01S00275.m86serv +++| PROC LOFPROC; # LIST OF FILES PROCESSOR # 00276 M01S00276.m86serv +++| PROC MESSAGE; # ISSUE MESSAGE # 00277 M01S00277.m86serv +++| PROC SETPFP; # SET FAMILY AND USER INDEX # 00278 M01S00278.m86serv +++| END 00279 M01S00279.m86serv +++| 00280 M01S00280.m86serv +++|# 00281 M01S00281.m86serv +++|**** PROC RESTPFP - XREF LIST BEGIN. 00282 M01S00282.m86serv +++|# 00283 M01S00283.m86serv +++| 00284 M01S00284.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00285 M01S00285.m86serv +++| 00286 M01S00286.m86serv +++|*CALL COMBFAS 00287 M01S00287.m86serv +++|*CALL COMBPFP 00288 M01S00288.m86serv +++| 00289 M01S00289.m86serv +++| ARRAY PFPMSG [0:0] S(3); # ABNORMAL CONDITION MESSAGE # 00290 M01S00290.m86serv +++| BEGIN 00291 M01S00291.m86serv +++| ITEM PFPLINE C(00,00,28) =[ # MESSAGE LINE # 00292 M01S00292.m86serv +++| " PROGRAM ABNORMAL, RESTPFP."]; 00293 M01S00293.m86serv +++| ITEM PFPZERO U(02,48,12)=[0]; # ZERO BYTE TERMINATOR # 00294 M01S00294.m86serv +++| END 00295 M01S00295.m86serv +++| 00296 M01S00296.m86serv +++| CONTROL EJECT; 00297 M01S00297.m86serv +++| 00298 M01S00298.m86serv +++|# 00299 M01S00299.m86serv +++|* RESTORE FAMILY AND USER INDEX TO USER VALUES. 00300 M01S00300.m86serv +++|# 00301 M01S00301.m86serv +++| 00302 M01S00302.m86serv +++| PFP$WRD0[0] = 0; 00303 M01S00303.m86serv +++| PFP$FAM[0] = USER$FAM[0]; 00304 M01S00304.m86serv +++| PFP$UI[0] = USER$UI[0]; 00305 M01S00305.m86serv +++| PFP$FG1[0] = TRUE; 00306 M01S00306.m86serv +++| PFP$FG4[0] = TRUE; 00307 M01S00307.m86serv +++| SETPFP(PFP[0]); 00308 M01S00308.m86serv +++| IF PFP$STAT[0] NQ OK 00309 M01S00309.m86serv +++| THEN 00310 M01S00310.m86serv +++| BEGIN 00311 M01S00311.m86serv +++| MESSAGE(PFPMSG[0],UDFL1); 00312 M01S00312.m86serv +++| ABORT; 00313 M01S00313.m86serv +++| END 00314 M01S00314.m86serv +++| 00315 M01S00315.m86serv +++|# 00316 M01S00316.m86serv +++|* OPTIONALLY RETURN LISTED FILES. 00317 M01S00317.m86serv +++|# 00318 M01S00318.m86serv +++| 00319 M01S00319.m86serv +++| IF OPTION NQ PFP$RESUME 00320 M01S00320.m86serv +++| THEN 00321 M01S00321.m86serv +++| BEGIN 00322 M01S00322.m86serv +++| LOFPROC(0); 00323 M01S00323.m86serv +++| END 00324 M01S00324.m86serv +++| 00325 M01S00325.m86serv +++|# 00326 M01S00326.m86serv +++|* OPTIONALLY ABORT PROCESSING. 00327 M01S00327.m86serv +++|# 00328 M01S00328.m86serv +++| 00329 M01S00329.m86serv +++| IF OPTION EQ PFP$ABORT 00330 M01S00330.m86serv +++| THEN # ABORT REQUESTED # 00331 M01S00331.m86serv +++| BEGIN 00332 M01S00332.m86serv +++| ABORT; 00333 M01S00333.m86serv +++| END 00334 M01S00334.m86serv +++| 00335 M01S00335.m86serv +++| RETURN; 00336 M01S00336.m86serv +++| END # RESTPFP # 00337 M01S00337.m86serv +++| 00338 M01S00338.m86serv +++| TERM 00339 M01S00339.m86serv +++|PROC ZFILL(ZBUF,(WDLEN)); 00340 M01S00340.m86serv +++|# TITLE ZFILL - ZERO FILLS A BUFFER. # 00341 M01S00341.m86serv +++| 00342 M01S00342.m86serv +++| BEGIN # ZFILL # 00343 M01S00343.m86serv +++| 00344 M01S00344.m86serv +++|# 00345 M01S00345.m86serv +++|** ZFILL - ZERO FILLS A BUFFER. 00346 M01S00346.m86serv +++|* 00347 M01S00347.m86serv +++|* PROC ZFILL(ZBUF,(WDLEN)) 00348 M01S00348.m86serv +++|* 00349 M01S00349.m86serv +++|* ENTRY (WDLEN) = NUMBER OF WORDS TO BE ZERO FILLED. 00350 M01S00350.m86serv +++|* 00351 M01S00351.m86serv +++|* EXIT (ZBUF) = ZERO FILLED BUFFER. 00352 M01S00352.m86serv +++|# 00353 M01S00353.m86serv +++| 00354 M01S00354.m86serv +++| ARRAY ZBUF [0:0] ; # ARRAY TO BE ZERO FILLED # 00355 M01S00355.m86serv +++| BEGIN 00356 M01S00356.m86serv +++| ITEM ZWORD U(00,00,60); 00357 M01S00357.m86serv +++| END 00358 M01S00358.m86serv +++| 00359 M01S00359.m86serv +++| ITEM WDLEN I; # NUMBER OF WORDS TO BE ZEROED # 00360 M01S00360.m86serv +++| 00361 M01S00361.m86serv +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 00362 M01S00362.m86serv +++|*CALL COMBFAS 00363 M01S00363.m86serv +++| 00364 M01S00364.m86serv +++| ITEM I I; # LOOP INDUCTION VARIABLE # 00365 M01S00365.m86serv +++| 00366 M01S00366.m86serv +++|CONTROL EJECT; 00367 M01S00367.m86serv +++| 00368 M01S00368.m86serv +++|# 00369 M01S00369.m86serv +++|* ZERO FILL THE SPECIFIED NUMBER OF 00370 M01S00370.m86serv +++|* WORDS IN THE BUFFER. 00371 M01S00371.m86serv +++|# 00372 M01S00372.m86serv +++| 00373 M01S00373.m86serv +++| FASTFOR I = 0 STEP 1 UNTIL WDLEN-1 00374 M01S00374.m86serv +++| DO 00375 M01S00375.m86serv +++| BEGIN 00376 M01S00376.m86serv +++| ZWORD[I] = 0; 00377 M01S00377.m86serv +++| END 00378 M01S00378.m86serv +++| 00379 M01S00379.m86serv +++| END # ZFILL # 00380 M01S00380.m86serv +++| 00381 M01S00381.m86serv +++| TERM 00382 M01S00382.m86serv +++|PROC ZSETFET((ADDR),(LFN),(FWA),(LEN),(FETL)); 00383 M01S00383.m86serv +++|# TITLE ZSETFET - INITIALIZES A *FET*. # 00384 M01S00384.m86serv +++| 00385 M01S00385.m86serv +++| BEGIN # ZSETFET # 00386 M01S00386.m86serv +++| 00387 M01S00387.m86serv +++|# 00388 M01S00388.m86serv +++|** ZSETFET - INITIALIZES A FILE ENVIRONMENT TABLE. 00389 M01S00389.m86serv +++|* 00390 M01S00390.m86serv +++|* THIS PROCEDURE CREATES A *FET* AT THE SPECIFIED 00391 M01S00391.m86serv +++|* ADDRESS AND SETS STANDARD FIELDS. OTHER FIELDS MUST BE SET 00392 M01S00392.m86serv +++|* BY THE USER. 00393 M01S00393.m86serv +++|* 00394 M01S00394.m86serv +++|* PROC ZSETFET((ADDR),(LFN),(FWA),(LEN),(FETL)). 00395 M01S00395.m86serv +++|* 00396 M01S00396.m86serv +++|* ENTRY (ADDR) - ADDRESS *FET* IS TO START AT. 00397 M01S00397.m86serv +++|* (LFN) - NAME OF FILE TO BE ACCESSED. 00398 M01S00398.m86serv +++|* (FWA) - FIRST WORD ADDRESS OF *CIO* BUFFER. 00399 M01S00399.m86serv +++|* (LEN) - LENGTH OF THE *CIO* BUFFER. 00400 M01S00400.m86serv +++|* (FETL) - LENGTH OF THE *FET*. 00401 M01S00401.m86serv +++|* 00402 M01S00402.m86serv +++|* EXIT *FET* IS INITIALIZED (I.E. *FIRST*, *IN*, *OUT*, AND 00403 M01S00403.m86serv +++|* *LIMIT* POINTERS , AND *FET* LENGTH FIELDS ARE SET 00404 M01S00404.m86serv +++|* AND THE *LFN* FIELD IS ZERO FILLED). 00405 M01S00405.m86serv +++|* 00406 M01S00406.m86serv +++|* NOTES VALUES SPECIFIED BY PARAMETERS ARE PLACED IN THE 00407 M01S00407.m86serv +++|* APPROPRIATE ARRAY FIELDS, AND THE POINTER OF BASED 00408 M01S00408.m86serv +++|* ARRAY *FETSET* IS SET TO *ADDR*. 00409 M01S00409.m86serv +++|# 00410 M01S00410.m86serv +++| 00411 M01S00411.m86serv +++| 00412 M01S00412.m86serv +++| ITEM ADDR U; # ADDRESS OF *FET* # 00413 M01S00413.m86serv +++| ITEM LFN C(7); # FILE NAME # 00414 M01S00414.m86serv +++| ITEM FWA U; # *FWA* OF *CIO* BUFFER # 00415 M01S00415.m86serv +++| ITEM LEN U; # LENGTH OF *CIO* BUFFER # 00416 M01S00416.m86serv +++| ITEM FETL U; # LENGTH OF *FET* # 00417 M01S00417.m86serv +++| 00418 M01S00418.m86serv +++|# 00419 M01S00419.m86serv +++|**** PROC ZSETFET - XREF LIST BEGIN. 00420 M01S00420.m86serv +++|# 00421 M01S00421.m86serv +++| 00422 M01S00422.m86serv +++| XREF 00423 M01S00423.m86serv +++| BEGIN 00424 M01S00424.m86serv +++| PROC BZFILL; # ZERO OR BLANK FILLS ITEM # 00425 M01S00425.m86serv +++| PROC ZFILL; # ZERO FILLS AN ARRAY # 00426 M01S00426.m86serv +++| END 00427 M01S00427.m86serv +++| 00428 M01S00428.m86serv +++|# 00429 M01S00429.m86serv +++|**** PROC ZSETFET - XREF LIST END. 00430 M01S00430.m86serv +++|# 00431 M01S00431.m86serv +++| 00432 M01S00432.m86serv +++| DEF MINFETL #5#; # MINIMUM *FET* LENGTH # 00433 M01S00433.m86serv +++| 00434 M01S00434.m86serv +++| DEF LISTCON #0#; # CONTROLS LISTING OF COMDECKS # 00435 M01S00435.m86serv +++| 00436 M01S00436.m86serv +++|*CALL COMBFAS 00437 M01S00437.m86serv +++|*CALL COMBBZF 00438 M01S00438.m86serv +++|*CALL COMBFET 00439 M01S00439.m86serv +++|CONTROL EJECT; 00440 M01S00440.m86serv +++| 00441 M01S00441.m86serv +++|# 00442 M01S00442.m86serv +++|* ZERO FILL *FET* AND SET STANDARD FIELDS. 00443 M01S00443.m86serv +++|# 00444 M01S00444.m86serv +++| 00445 M01S00445.m86serv +++| P<FETSET> = ADDR; 00446 M01S00446.m86serv +++| ZFILL(FETSET[0],FETL); 00447 M01S00447.m86serv +++| BZFILL(LFN,TYPFILL"ZFILL",7); # ZERO-FILL FILE NAME # 00448 M01S00448.m86serv +++| FET$LFN[0] = LFN; 00449 M01S00449.m86serv +++| FET$LOCK[0] = TRUE; 00450 M01S00450.m86serv +++| FET$FRST[0] = FWA; 00451 M01S00451.m86serv +++| FET$IN[0] = FWA; 00452 M01S00452.m86serv +++| FET$OUT[0] = FWA; 00453 M01S00453.m86serv +++| FET$LIM[0] = FWA + LEN; 00454 M01S00454.m86serv +++| FET$L[0] = FETL - MINFETL; # SET LENGTH OF *FET* # 00455 M01S00455.m86serv +++| RETURN; 00456 M01S00456.m86serv +++| END # ZSETFET # 00457 M01S00457.m86serv +++| 00458 M01S00458.m86serv +++| TERM
cdc/nos2.source/opl.opl871/deck/m86serv.txt ยท Last modified: by 127.0.0.1