Seq # *Modification Id* Act
----------------------------+
02094 M01S00271.ssbld1 +++| UPDRDST(D1$SUN[1],SM$CUO1[1]);
02095 M01S00272.ssbld1 +++| END # LOWER #
02096 M01S00273.ssbld1 +++|
02097 M00S01823.ssbld +++| END # CU1/DRD LINKUP #
02098 M00S01824.ssbld +++|
02099 M00S01825.ssbld +++| TEST DIRNUM;
02100 M00S01826.ssbld +++|
02101 M00S01827.ssbld +++| END # TEST DIRNUM #
02102 M00S01828.ssbld +++|
02103 M00S01829.ssbld +++| IF NUM$CU NQ CUNUM
02104 M00S01830.ssbld +++| THEN
02105 M00S01831.ssbld +++| BEGIN
02106 M00S01832.ssbld +++| BLMSG$LN[0] = MSG$INCCU;
02107 M00S01833.ssbld +++| MESSAGE(BLMSG[0],SYSUDF1);
02108 M00S01834.ssbld +++| RESTPFP(PFP$ABORT); # RESTORE USER-S PFP ANFd ABORT #
02109 M00S01835.ssbld +++| END
02110 M00S01836.ssbld +++|
02111 M00S01837.ssbld +++| IF NUM$SM NQ SMNUM
02112 M00S01838.ssbld +++| THEN
02113 M00S01839.ssbld +++| BEGIN
02114 M00S01840.ssbld +++| BLMSG$LN[0] = MSG$INCSM;
02115 M00S01841.ssbld +++| MESSAGE(BLMSG[0],SYSUDF1);
02116 M00S01842.ssbld +++| RESTPFP(PFP$ABORT); # RESTORE USER-S PFP AND ABORT #
02117 M00S01843.ssbld +++| END
02118 M00S01844.ssbld +++|
02119 M00S01845.ssbld +++| RETERN(BL$FET[0],RCL);
02120 M00S01846.ssbld +++| END # RDSUDT #
02121 M00S01847.ssbld +++|
02122 M00S01848.ssbld +++| TERM
02123 M00S01849.ssbld +++|PROC NEXTLIN(DIRLINE,STAT,INDEX);
02124 M00S01850.ssbld +++|
02125 M00S01851.ssbld +++|# TITLE NEXTLIN - READ NEXT LINE OF CONFIGURATION SOURCE FILE. #
02126 M00S01852.ssbld +++|
02127 M00S01853.ssbld +++| BEGIN # NEXTLIN #
02128 M00S01854.ssbld +++|
02129 M00S01855.ssbld +++|
02130 M00S01856.ssbld +++|#
02131 M00S01857.ssbld +++|*** PROC TO READ ONE LINE OF DATA FROM DATA ALREADY IN A FET.
02132 M00S01858.ssbld +++|* *NEXTLIN* READS A LINE (WHICH IS AN *SSBLD* CONFIGURATION
02133 M00S01859.ssbld +++|* FILE DIRECTIVE). THE PROC READS CARDS UNTIL IT FINDS ONE THAT
02134 M00S01860.ssbld +++|* IS NOT A COMMENT CARD. IT CHECKS FOR END OF RECORD AND
02135 M00S01861.ssbld +++|* VALID CONFIGURATION FILE NMEMONIC.
02136 M00S01862.ssbld +++|*
02137 M00S01863.ssbld +++|* ENTRY - NONE.
02138 M00S01864.ssbld +++|*
02139 M00S01865.ssbld +++|* EXIT
02140 M00S01866.ssbld +++|*
02141 M00S01867.ssbld +++|* DIRLINE = CONFIGURATION FILE IMAGE
02142 M00S01868.ssbld +++|* STAT = STATUS RESPONSE FROM *READC*
02143 M00S01869.ssbld +++|* INDEX = INDEX INTO NM$KEY ARRAY ( DIRECTIVE ORDINAL )
02144 M00S01870.ssbld +++|*
02145 M00S01871.ssbld +++|* MESSAGES
02146 M00S01872.ssbld +++|*
02147 M00S01873.ssbld +++|* NEXTLIN - INCORRECT SSBLD MNEMONIC.
02148 M00S01874.ssbld +++|*
02149 M00S01875.ssbld +++|#
02150 M00S01876.ssbld +++|
02151 M00S01877.ssbld +++|#
02152 M00S01878.ssbld +++|* PROC NEXTLIN - XREF LIST BEGIN.
02153 M00S01879.ssbld +++|#
02154 M00S01880.ssbld +++|
02155 M00S01881.ssbld +++| XREF
02156 M00S01882.ssbld +++| BEGIN
02157 M00S01883.ssbld +++| PROC BZFILL; # BLANK ZERO FILL #
02158 M00S01884.ssbld +++| PROC MESSAGE; # ISSUE MESSAGE #
02159 M00S01885.ssbld +++| PROC READC; # READ ONE LINE #
02160 M00S01886.ssbld +++| PROC RESTPFP; # RESTORE USER-S PFP #
02161 M00S01887.ssbld +++| PROC ZFILL; # ZERO FILL PROC #
02162 M00S01888.ssbld +++| END
02163 M00S01889.ssbld +++|
02164 M00S01890.ssbld +++|#
02165 M00S01891.ssbld +++|* PROC NEXTLIN - XREF LIST END.
02166 M00S01892.ssbld +++|#
02167 M00S01893.ssbld +++|
02168 M00S01894.ssbld +++| ITEM DIRLINE C(90); # DIRECTIVE TEXT LINE #
02169 M00S01895.ssbld +++| ITEM STAT I; # RETURN STATUS #
02170 M00S01896.ssbld +++| ITEM INDEX I; # ARRAY INDEX #
02171 M00S01897.ssbld +++|
02172 M00S01898.ssbld +++|
02173 M00S01899.ssbld +++|
02174 M00S01900.ssbld +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS #
02175 M00S01901.ssbld +++|*CALL COMBFAS
02176 M00S01902.ssbld +++|*CALL COMBBZF
02177 M00S01903.ssbld +++|*CALL COMBFET
02178 M00S01904.ssbld +++|*CALL COMBUDT
02179 M00S01905.ssbld +++|*CALL COMSPFM
02180 M00S01906.ssbld +++|*CALL COMTBLD
02181 M00S01907.ssbld +++|
02182 M00S01908.ssbld +++| ITEM COMMENT B; # COMMENT INDICATOR #
02183 M00S01909.ssbld +++| ITEM EOR B; # STATUS VARIABLE FOR *READC* #
02184 M00S01910.ssbld +++| ITEM I I; # LOOP VARIABLE #
02185 M00S01911.ssbld +++| ITEM KEYOK B; # CONTROL VARIABLE #
02186 M00S01912.ssbld +++| ITEM KEY2 C(2); # 2 CHARACTER DIRECTIVE KEYWORD #
02187 M00S01913.ssbld +++| ITEM KEY3 C(4); # 3 CHARACTER DIRECTIVE KEYWORD #
02188 M00S01914.ssbld +++| ITEM DIRNUM I; # LOOP INDEX #
02189 M00S01915.ssbld +++| CONTROL EJECT;
02190 M00S01916.ssbld +++|
02191 M00S01917.ssbld +++|#
02192 M00S01918.ssbld +++|* READ ONE (NON-COMMENT) DIRECTIVE.
02193 M00S01919.ssbld +++|#
02194 M00S01920.ssbld +++|
02195 M00S01921.ssbld +++| EOR = FALSE;
02196 M00S01922.ssbld +++|
02197 M00S01923.ssbld +++| SLOWFOR DIRNUM = 1 STEP 1 WHILE NOT EOR
02198 M00S01924.ssbld +++| DO
02199 M00S01925.ssbld +++| BEGIN # PROCESS NEXT DIRECTIVE #
02200 M00S01926.ssbld +++| DIRLINE = " "; # ERASE PREVIOUS LINE #
02201 M00S01927.ssbld +++| READC(BL$FET[0],DIRLINE,9,STAT);
02202 M00S01928.ssbld +++| BZFILL(DIRLINE,TYPFILL"BFILL",90);
02203 M00S01929.ssbld +++| C<89,1>DIRLINE = PERIOD;
02204 M00S01930.ssbld +++| IF STAT NQ 0
02205 M00S01931.ssbld +++| THEN
02206 M00S01932.ssbld +++| BEGIN
02207 M00S01933.ssbld +++| EOR = TRUE;
02208 M00S01934.ssbld +++| RETURN;
02209 M00S01935.ssbld +++| END
02210 M00S01936.ssbld +++|
02211 M00S01937.ssbld +++| IF C<0,1>DIRLINE NQ "*"
02212 M00S01938.ssbld +++| THEN # NOT COMMENT #
02213 M00S01939.ssbld +++| BEGIN
02214 M00S01940.ssbld +++| EOR = TRUE;
02215 M00S01941.ssbld +++| TEST DIRNUM;
02216 M00S01942.ssbld +++| BLMSG$LN=DIRNUM;
02217 M00S01943.ssbld +++| MESSAGE(BLMSG[0],SYSUDF1);
02218 M00S01944.ssbld +++| END
02219 M00S01945.ssbld +++|
02220 M00S01946.ssbld +++| TEST DIRNUM;
02221 M00S01947.ssbld +++| END
02222 M00S01948.ssbld +++|
02223 M00S01949.ssbld +++| KEY2 = C<0,2>DIRLINE;
02224 M00S01950.ssbld +++| KEY3 = C<0,3>DIRLINE;
02225 M00S01951.ssbld +++| KEYOK = FALSE;
02226 M00S01952.ssbld +++| SLOWFOR I=1 STEP 1 WHILE (NOT KEYOK) AND (I LQ BLLM)
02227 M00S01953.ssbld +++| DO
02228 M00S01954.ssbld +++| BEGIN
02229 M00S01955.ssbld +++| IF ( KEY2 EQ NM$KEY2[1] ) ##
02230 M00S01956.ssbld +++| OR ( KEY2 EQ NM$KEY2[2] ) ##
02231 M00S01957.ssbld +++| OR ( KEY2 EQ NM$KEY2[10] ) ##
02232 M00S01958.ssbld +++| OR ( KEY2 EQ NM$KEY2[11] ) ##
02233 M00S01959.ssbld +++| THEN
02234 M00S01960.ssbld +++| BEGIN
02235 M00S01961.ssbld +++| IF KEY2 EQ NM$KEY2[I]
02236 M00S01962.ssbld +++| THEN
02237 M00S01963.ssbld +++| BEGIN
02238 M00S01964.ssbld +++| INDEX=I-1;
02239 M00S01965.ssbld +++| KEYOK = TRUE;
02240 M00S01966.ssbld +++| TEST I;
02241 M00S01967.ssbld +++| END
02242 M00S01968.ssbld +++|
02243 M00S01969.ssbld +++| END
02244 M00S01970.ssbld +++|
02245 M00S01971.ssbld +++| ELSE
02246 M00S01972.ssbld +++| BEGIN
02247 M00S01973.ssbld +++| IF KEY3 EQ NM$KEY3[I]
02248 M00S01974.ssbld +++| THEN
02249 M00S01975.ssbld +++| BEGIN
02250 M00S01976.ssbld +++| INDEX = I-1;
02251 M00S01977.ssbld +++| KEYOK = TRUE;
02252 M00S01978.ssbld +++| TEST I;
02253 M00S01979.ssbld +++| END
02254 M00S01980.ssbld +++|
02255 M00S01981.ssbld +++| END
02256 M00S01982.ssbld +++|
02257 M00S01983.ssbld +++| TEST I;
02258 M00S01984.ssbld +++| END
02259 M00S01985.ssbld +++|
02260 M00S01986.ssbld +++| IF NOT KEYOK
02261 M00S01987.ssbld +++| THEN
02262 M00S01988.ssbld +++| BEGIN
02263 M00S01989.ssbld +++| BLMSG$LN[0] = " NEXTLIN - INCORRECT SSBLD MNEMONIC.";
02264 M00S01990.ssbld +++| MESSAGE(BLMSG[0],SYSUDF1); # ERROR MESSAGE #
02265 M00S01991.ssbld +++| RESTPFP(PFP$ABORT); # RESTORE USER-S PFP AND ABORT #
02266 M00S01992.ssbld +++| END
02267 M00S01993.ssbld +++|
02268 M00S01994.ssbld +++|
02269 M00S01995.ssbld +++| END # NEXTLIN #
02270 M00S01996.ssbld +++|
02271 M00S01997.ssbld +++| TERM
02272 M00S01998.ssbld +++|
02273 M00S01999.ssbld +++|PROC NEXTPRM(DIRLINE,SCOL,DEVTYPE,NUMCH,ORD,NCOL,STAT,TERMINATOR);
02274 M00S02000.ssbld +++|
02275 M00S02001.ssbld +++|# TITLE NEXTPRM - CRACK NEXT LINE OF SOURCE FILE DIRECTIVES. #
02276 M00S02002.ssbld +++|
02277 M00S02003.ssbld +++| BEGIN # NEXTPRM #
02278 M00S02004.ssbld +++|
02279 M00S02005.ssbld +++|
02280 M00S02006.ssbld +++|#
02281 M00S02007.ssbld +++|*** PROC TO CRACK EVERYTHING TO THE RIGHT OF THE FIRST *=* SIGN
02282 M00S02008.ssbld +++|* IN A *SSBLD* SOURCE FILE DIRECTIVE.
02283 M00S02009.ssbld +++|*
02284 M00S02010.ssbld +++|* ENTRY
02285 M00S02011.ssbld +++|*
02286 M00S02012.ssbld +++|* DIRLINE = CONFIGURATION SOURCE FILE DIRECTIVE
02287 M00S02013.ssbld +++|* SCOL = COLUMN OF DIRECTIVE IN WHICH TO START SEARCH
02288 M00S02014.ssbld +++|* DEVTYPE = NMEMONIC BEING SEARCHED FOR
02289 M00S02015.ssbld +++|* NUMCH = NUMBER OF CHARACTERS IN DEVTYPE
02290 M00S02016.ssbld +++|*
02291 M00S02017.ssbld +++|* EXIT
02292 M00S02018.ssbld +++|*
02293 M00S02019.ssbld +++|* ORD = ORDINAL OF DEVTYPE ON SOURCE LINE
02294 M00S02020.ssbld +++|* NCOL = NUMBER OF THE NEXT COLUMN FOLLOWING TERMINATOR.
02295 M00S02021.ssbld +++|* STAT = STATUS OF DEVTYPE IN THE DIRECTIVE ( ON/OFF/NON-EXISTEXT )
02296 M00S02022.ssbld +++|* TERMINATOR = THE TERMINATOR FOUND ( EITHER *,* OR *.* )
02297 M00S02023.ssbld +++|*
02298 M00S02024.ssbld +++|* MESSAGES
02299 M00S02025.ssbld +++|*
02300 M00S02026.ssbld +++|* NEXTPRM - INCORRECT MNEMONIC.
02301 M00S02027.ssbld +++|* NEXTPRM - ORDINAL INCORRECT.
02302 M00S02028.ssbld +++|* NEXTPRM - INCORRECT DRD ORDINAL.
Line S02029 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02303 M01S02029.ssbld1 ---|* NEXTPRM - ORDINAL NOT 0 OR 1.
Line S00274 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02304 M01S00274.ssbld1 +++|* NEXTPRM - DRC DEVICE ADDRESS OUT OF RANGE.
02305 M00S02030.ssbld +++|* NEXTPRM - INCORRECT CHANNEL NUMBER.
02306 M00S02031.ssbld +++|* NEXTPRM - INCORRECT *SM* ORDINAL.
02307 M00S02032.ssbld +++|* NEXTPRM - INCORRECT *CU* EST ORDINAL.
02308 M00S02033.ssbld +++|* NEXTPRM - MISSING EQUAL SIGN.
02309 M00S02034.ssbld +++|* NEXTPRM - INCORRECT DIRECTIVE STATUS.
02310 M00S02035.ssbld +++|* NEXTPRM - INCORRECT TERMINATOR.
02311 M00S02036.ssbld +++|*
02312 M00S02037.ssbld +++|#
02313 M00S02038.ssbld +++|
02314 M00S02039.ssbld +++| ITEM DIRLINE C(90); # DIRECTIVE LINE INPUT #
02315 M00S02040.ssbld +++| ITEM SCOL I; # STARTING COLUMN #
02316 M00S02041.ssbld +++| ITEM DEVTYPE C(3); # DEVICE TYPE #
02317 M00S02042.ssbld +++| ITEM NUMCH I; # NUMBER OF CHARACTERS #
02318 M00S02043.ssbld +++| ITEM ORD I; # DEVTYPE ORDINAL #
02319 M00S02044.ssbld +++| ITEM NCOL I; # NEXT COLUMN #
02320 M00S02045.ssbld +++| ITEM STAT I; # STATUS
02321 M00S02046.ssbld +++| -0=OFF,1=ON,2=NON-EXISTENT #
02322 M00S02047.ssbld +++| ITEM TERMINATOR C(1); # TERMINATING CHARACTER #
02323 M00S02048.ssbld +++|
02324 M00S02049.ssbld +++|#
02325 M00S02050.ssbld +++|* PROC NEXTPRM - XREF LIST BEGIN.
02326 M00S02051.ssbld +++|#
02327 M00S02052.ssbld +++|
02328 M00S02053.ssbld +++| XREF
02329 M00S02054.ssbld +++| BEGIN
02330 M00S02055.ssbld +++| PROC MESSAGE; # ISSUE MESSAGE #
02331 M00S02056.ssbld +++| PROC RESTPFP; # RESTORE USER-S PFP #
02332 M00S02057.ssbld +++| FUNC XDXB; # CONVERT DISPLAY CODE TO BINARY #
02333 M00S02058.ssbld +++| END
02334 M00S02059.ssbld +++|
02335 M00S02060.ssbld +++|#
02336 M00S02061.ssbld +++|* PROC NEXTPRM - XREF LIST END.
02337 M00S02062.ssbld +++|#
02338 M00S02063.ssbld +++|
02339 M00S02064.ssbld +++| DEF MSG$BADORD #" NEXTPRM - ORDINAL INCORRECT."#;
02340 M00S02065.ssbld +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS #
02341 M00S02066.ssbld +++|*CALL COMBFAS
02342 M00S02067.ssbld +++|*CALL COMBUDT
02343 M00S02068.ssbld +++|*CALL COMTBLD
02344 M00S02069.ssbld +++|
02345 M00S02070.ssbld +++|
02346 M00S02071.ssbld +++| ITEM LOOPC B; # LOOP CONTROL #
02347 M00S02072.ssbld +++| ITEM I I; # LOOP INDEX #
02348 M00S02073.ssbld +++| ITEM TMPC C(2); # CHARACTER SCRATCH CELL #
02349 M00S02074.ssbld +++| ITEM TMPI I; # SCRATCH INTEGER #
02350 M00S02075.ssbld +++| CONTROL EJECT;
02351 M00S02076.ssbld +++|
02352 M00S02077.ssbld +++|#
02353 M00S02078.ssbld +++|* GET NEXT NON-BLANK CHARACTER
02354 M00S02079.ssbld +++|#
02355 M00S02080.ssbld +++|
02356 M00S02081.ssbld +++| LOOPC = FALSE;
02357 M00S02082.ssbld +++| SLOWFOR I = 1 STEP 1 WHILE NOT LOOPC
02358 M00S02083.ssbld +++| DO
02359 M00S02084.ssbld +++| BEGIN
02360 M00S02085.ssbld +++|
02361 M00S02086.ssbld +++| IF C<SCOL,1>DIRLINE EQ " "
02362 M00S02087.ssbld +++| THEN
02363 M00S02088.ssbld +++| BEGIN
02364 M00S02089.ssbld +++| SCOL = SCOL+1;
02365 M00S02090.ssbld +++| TEST I;
02366 M00S02091.ssbld +++| END
02367 M00S02092.ssbld +++|
02368 M00S02093.ssbld +++|
02369 M00S02094.ssbld +++| LOOPC = TRUE;
02370 M00S02095.ssbld +++| TEST I;
02371 M00S02096.ssbld +++| END
02372 M00S02097.ssbld +++|
02373 M00S02098.ssbld +++|#
02374 M00S02099.ssbld +++|* CHECK DIRECTIVE NMEMONIC
02375 M00S02100.ssbld +++|#
02376 M00S02101.ssbld +++|
02377 M00S02102.ssbld +++| IF ( C<SCOL,NUMCH>DIRLINE NQ C<0,NUMCH>DEVTYPE ) ##
02378 M00S02103.ssbld +++| AND ( C<SCOL,1>DIRLINE NQ COMMA ) ##
02379 M00S02104.ssbld +++| AND ( C<SCOL,1>DIRLINE NQ PERIOD ) ##
02380 M00S02105.ssbld +++| THEN
02381 M00S02106.ssbld +++| BEGIN
02382 M00S02107.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT MNEMONIC.";
02383 M00S02108.ssbld +++| GOTO ERRORPRM;
02384 M00S02109.ssbld +++| END
02385 M00S02110.ssbld +++|
02386 M00S02111.ssbld +++|#
02387 M00S02112.ssbld +++|* CHECK FOR COMMA OR PERIOD( IMPLIES NON-EXISTENT ENTRY ).
02388 M00S02113.ssbld +++|#
02389 M00S02114.ssbld +++|
02390 M00S02115.ssbld +++| IF( C<SCOL,1>DIRLINE EQ COMMA ) ##
02391 M00S02116.ssbld +++| OR ( C<SCOL,1>DIRLINE EQ PERIOD )
02392 M00S02117.ssbld +++| THEN
02393 M00S02118.ssbld +++| BEGIN
02394 M00S02119.ssbld +++| STAT = 2;
02395 M00S02120.ssbld +++| ORD = 0;
02396 M00S02121.ssbld +++| GOTO TERMINATE;
02397 M00S02122.ssbld +++| END
02398 M00S02123.ssbld +++|
02399 M00S02124.ssbld +++|#
02400 M00S02125.ssbld +++|* REMOVE EMBEDDED BLANKS
02401 M00S02126.ssbld +++|#
02402 M00S02127.ssbld +++|
02403 M00S02128.ssbld +++| SCOL = SCOL+NUMCH;
02404 M00S02129.ssbld +++| LOOPC = FALSE;
02405 M00S02130.ssbld +++| SLOWFOR I = 1 STEP 1 WHILE NOT LOOPC
02406 M00S02131.ssbld +++| DO
02407 M00S02132.ssbld +++| BEGIN
02408 M00S02133.ssbld +++| IF C<SCOL,1>DIRLINE EQ " "
02409 M00S02134.ssbld +++| THEN
02410 M00S02135.ssbld +++| BEGIN
02411 M00S02136.ssbld +++| SCOL = SCOL+1;
02412 M00S02137.ssbld +++| TEST I;
02413 M00S02138.ssbld +++| END
02414 M00S02139.ssbld +++|
02415 M00S02140.ssbld +++| LOOPC = TRUE;
02416 M00S02141.ssbld +++| TEST I;
02417 M00S02142.ssbld +++| END
02418 M00S02143.ssbld +++|
02419 M00S02144.ssbld +++|#
02420 M00S02145.ssbld +++|* GET AND VALIDATE ORDINAL
02421 M00S02146.ssbld +++|#
02422 M00S02147.ssbld +++|
02423 M00S02148.ssbld +++|
02424 M00S02149.ssbld +++| IF( C<0,NUMCH>DEVTYPE NQ NM$KEY2[2] ) ##
02425 M00S02150.ssbld +++| AND ( C<0,NUMCH>DEVTYPE NQ NM$KEY2[10] ) ##
02426 M00S02151.ssbld +++| AND ( C<0,NUMCH>DEVTYPE NQ NM$KEY2[1] ) ##
02427 M00S02152.ssbld +++| THEN
02428 M00S02153.ssbld +++| BEGIN
Line S02154 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02429 M01S02154.ssbld1 ---| TMPC = C<SCOL,1>DIRLINE;
02430 M01S02155.ssbld1 ---| STAT = XDXB(TMPC,1,ORD);
02431 M01S02156.ssbld1 ---| IF STAT NQ 0
02432 M01S02157.ssbld1 ---| THEN
02433 M01S02158.ssbld1 ---| BEGIN
02434 M01S02159.ssbld1 ---| BLMSG$LN[0] = MSG$BADORD;
02435 M01S02160.ssbld1 ---| GOTO ERRORPRM;
02436 M01S02161.ssbld1 ---| END
Line S00275 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02437 M01S00275.ssbld1 +++| TMPC = C<3,1>DIRLINE;
02438 M01S00276.ssbld1 +++| STAT = XDXB(TMPC,1,ORD);
02439 M01S00277.ssbld1 +++| IF C<0,3>DIRLINE EQ NM$KEY3[7]
02440 M01S00278.ssbld1 +++| AND ORD GQ 2
02441 M01S00279.ssbld1 +++| THEN
02442 M01S00280.ssbld1 +++| BEGIN # EXPANDED DRD CONFIGURATION #
02443 M01S00281.ssbld1 +++| TMPC = C<SCOL,1>DIRLINE;
02444 M01S00282.ssbld1 +++| STAT = XDXB(TMPC,1,ORD);
02445 M01S00283.ssbld1 +++| IF STAT NQ 0
02446 M01S00284.ssbld1 +++| THEN
02447 M01S00285.ssbld1 +++| BEGIN
02448 M01S00286.ssbld1 +++| BLMSG$LN[0] = MSG$BADORD;
02449 M01S00287.ssbld1 +++| GOTO ERRORPRM;
02450 M01S00288.ssbld1 +++| END
02451 M01S00289.ssbld1 +++|
02452 M01S00290.ssbld1 +++| IF ORD EQ 1
02453 M01S00291.ssbld1 +++| THEN
02454 M01S00292.ssbld1 +++| BEGIN # DRD DEVICE ADDRESS IS 2 DIGITS #
02455 M01S00293.ssbld1 +++| TMPC = C<SCOL,2>DIRLINE;
02456 M01S00294.ssbld1 +++| STAT = XDXB(TMPC,1,ORD);
02457 M01S00295.ssbld1 +++| IF STAT NQ 0
02458 M01S00296.ssbld1 +++| THEN
02459 M01S00297.ssbld1 +++| BEGIN
02460 M01S00298.ssbld1 +++| BLMSG$LN[0] = MSG$BADORD;
02461 M01S00299.ssbld1 +++| GOTO ERRORPRM;
02462 M01S00300.ssbld1 +++| END
02463 M01S00301.ssbld1 +++|
02464 M01S00302.ssbld1 +++| SCOL = SCOL + 1;
02465 M01S00303.ssbld1 +++| END # DRD DEVICE ADDRESS IS 2 DIGITS #
02466 M01S00304.ssbld1 +++|
02467 M01S00305.ssbld1 +++| END # EXPANDED DRD CONFIGURATION #
02468 M01S00306.ssbld1 +++|
02469 M01S00307.ssbld1 +++| ELSE
02470 M01S00308.ssbld1 +++| BEGIN # STANDARD DRD CONFIGURATION #
02471 M01S00309.ssbld1 +++| TMPC = C<SCOL+1,1>DIRLINE;
02472 M01S00310.ssbld1 +++| STAT = XDXB(TMPC,1,ORD);
02473 M01S00311.ssbld1 +++| IF STAT NQ 0
02474 M01S00312.ssbld1 +++| THEN # ORDINAL IS 1 DIGIT LONG #
02475 M01S00313.ssbld1 +++| BEGIN # ONE #
02476 M01S00314.ssbld1 +++| TMPC = C<SCOL,1>DIRLINE;
02477 M01S00315.ssbld1 +++| END # ONE #
02478 M01S00316.ssbld1 +++|
02479 M01S00317.ssbld1 +++| ELSE # ORDINAL IS 2 DIGITS LONG #
02480 M01S00318.ssbld1 +++| BEGIN # TWO #
02481 M01S00319.ssbld1 +++| TMPC = C<SCOL,2>DIRLINE;
02482 M01S00320.ssbld1 +++| SCOL = SCOL + 1; # PRESET FOR NEXT CHARACTER #
02483 M01S00321.ssbld1 +++| END # TWO #
02484 M01S00322.ssbld1 +++|
02485 M01S00323.ssbld1 +++| STAT = XDXB(TMPC,1,ORD); # GET DRD ORDINAL #
02486 M01S00324.ssbld1 +++| IF STAT NQ 0
02487 M01S00325.ssbld1 +++| THEN
02488 M01S00326.ssbld1 +++| BEGIN
02489 M01S00327.ssbld1 +++| BLMSG$LN[0] = MSG$BADORD;
02490 M01S00328.ssbld1 +++| GOTO ERRORPRM;
02491 M01S00329.ssbld1 +++| END
02492 M01S00330.ssbld1 +++|
02493 M01S00331.ssbld1 +++| END # STANDARD DRD CONFIGURATION #
02494 M00S02162.ssbld +++|
02495 M00S02163.ssbld +++| IF NUMCH EQ 3
02496 M00S02164.ssbld +++| THEN
02497 M00S02165.ssbld +++| BEGIN
02498 M00S02166.ssbld +++| IF C<0,3>DEVTYPE EQ NM$KEY3[8]
02499 M00S02167.ssbld +++| THEN
02500 M00S02168.ssbld +++| BEGIN
Line S02169 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02501 M01S02169.ssbld1 ---| IF ( ORD LS 0 ) OR ( ORD GR 7 )
Line S00332 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02502 M01S00332.ssbld1 +++| IF ( ORD LS 0 ) OR ( ORD GR MAX$DRDDA )
02503 M00S02170.ssbld +++| THEN
02504 M00S02171.ssbld +++| BEGIN
02505 M00S02172.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT DRD ORDINAL.";
02506 M00S02173.ssbld +++| GOTO ERRORPRM;
02507 M00S02174.ssbld +++| END
02508 M00S02175.ssbld +++|
02509 M00S02176.ssbld +++| END
02510 M00S02177.ssbld +++|
02511 M00S02178.ssbld +++| END
02512 M00S02179.ssbld +++|
Line S02180 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02513 M01S02180.ssbld1 ---| IF ( ( ORD LS 0 ) OR ( ORD GR 1 ) ) ##
Line S00333 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02514 M01S00333.ssbld1 +++| IF ( ( ORD LS 0 ) OR ( ORD GR MAX$DRC ) ) ##
02515 M00S02181.ssbld +++| AND ( C<0,3>DEVTYPE NQ NM$KEY3[8] )
02516 M00S02182.ssbld +++| THEN
02517 M00S02183.ssbld +++| BEGIN
Line S02184 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02518 M01S02184.ssbld1 ---| BLMSG$LN[0] = " NEXTPRM - ORDINAL NOT 0 OR 1.";
Line S00334 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02519 M01S00334.ssbld1 +++| BLMSG$LN[0] = " NEXTPRM - DRC DEVICE ADDRESS OUT OF RANGE.";
02520 M00S02185.ssbld +++| GOTO ERRORPRM;
02521 M00S02186.ssbld +++| END
02522 M00S02187.ssbld +++|
02523 M00S02188.ssbld +++| SCOL = SCOL+1;
02524 M00S02189.ssbld +++|
02525 M00S02190.ssbld +++| END
02526 M00S02191.ssbld +++|
02527 M00S02192.ssbld +++| ELSE
02528 M00S02193.ssbld +++| BEGIN
02529 M00S02194.ssbld +++| IF C<0,2>DEVTYPE EQ NM$KEY2[1]
02530 M00S02195.ssbld +++| THEN
02531 M00S02196.ssbld +++| BEGIN
02532 M00S02197.ssbld +++| TMPC = C<SCOL,2>DIRLINE;
02533 M00S02198.ssbld +++| STAT = XDXB(TMPC,0,ORD);
02534 M00S02199.ssbld +++| IF STAT NQ 0
02535 M00S02200.ssbld +++| THEN
02536 M00S02201.ssbld +++| BEGIN
02537 M00S02202.ssbld +++| BLMSG$LN[0] = MSG$BADORD;
02538 M00S02203.ssbld +++| GOTO ERRORPRM;
02539 M00S02204.ssbld +++| END
02540 M00S02205.ssbld +++|
02541 M00S02206.ssbld +++| IF (( ORD GR O"13" ) AND ( ORD LS O"20" )) ##
02542 M00S02207.ssbld +++| OR ( ORD GR O"33")
02543 M00S02208.ssbld +++| THEN
02544 M00S02209.ssbld +++| BEGIN
02545 M00S02210.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT CHANNEL NUMBER.";
02546 M00S02211.ssbld +++| GOTO ERRORPRM;
02547 M00S02212.ssbld +++| END
02548 M00S02213.ssbld +++|
02549 M00S02214.ssbld +++| SCOL = SCOL+2;
02550 M00S02215.ssbld +++| END
02551 M00S02216.ssbld +++|
02552 M00S02217.ssbld +++| IF C<0,2>DEVTYPE EQ NM$KEY2[10]
02553 M00S02218.ssbld +++| THEN
02554 M00S02219.ssbld +++| BEGIN
02555 M00S02220.ssbld +++| TMPC = C<SCOL,1>DIRLINE;
02556 M00S02221.ssbld +++| STAT = XDXB(TMPC,0,ORD);
02557 M00S02222.ssbld +++| IF STAT NQ 0
02558 M00S02223.ssbld +++| THEN
02559 M00S02224.ssbld +++| BEGIN
02560 M00S02225.ssbld +++| BLMSG$LN[0] = MSG$BADORD;
02561 M00S02226.ssbld +++| GOTO ERRORPRM;
02562 M00S02227.ssbld +++| END
02563 M00S02228.ssbld +++|
Line S02229 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02564 M01S02229.ssbld1 ---| IF ( ORD LS 0 ) OR ( ORD GR 3 )
Line S00335 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02565 M01S00335.ssbld1 +++| IF (ORD LS 0) OR (ORD GR 7)
02566 M00S02230.ssbld +++| THEN
02567 M00S02231.ssbld +++| BEGIN
02568 M00S02232.ssbld +++| BLMSG$LN[0] = "NEXTPRM - INCORRECT *SM* ORDINAL.";
02569 M00S02233.ssbld +++| GOTO ERRORPRM;
02570 M00S02234.ssbld +++| END
02571 M00S02235.ssbld +++|
02572 M00S02236.ssbld +++| SCOL = SCOL+1;
02573 M00S02237.ssbld +++| END
02574 M00S02238.ssbld +++|
02575 M00S02239.ssbld +++| IF C<0,2>DEVTYPE EQ NM$KEY2[2]
02576 M00S02240.ssbld +++| THEN
02577 M00S02241.ssbld +++| BEGIN
02578 M00S02242.ssbld +++| TMPC = C<SCOL,2>DIRLINE;
02579 M00S02243.ssbld +++| STAT = XDXB(TMPC,0,ORD);
02580 M00S02244.ssbld +++| IF STAT NQ 0
02581 M00S02245.ssbld +++| THEN
02582 M00S02246.ssbld +++| BEGIN
02583 M00S02247.ssbld +++| BLMSG$LN[0] = MSG$BADORD;
02584 M00S02248.ssbld +++| GOTO ERRORPRM;
02585 M00S02249.ssbld +++| END
02586 M00S02250.ssbld +++|
02587 M00S02251.ssbld +++| IF (ORD LS 10 ) OR ( ORD GR O"77" )
02588 M00S02252.ssbld +++| THEN
02589 M00S02253.ssbld +++| BEGIN
02590 M00S02254.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT *CU* ORDINAL.";
02591 M00S02255.ssbld +++| GOTO ERRORPRM;
02592 M00S02256.ssbld +++| END
02593 M00S02257.ssbld +++|
02594 M00S02258.ssbld +++| SCOL = SCOL + 2;
02595 M00S02259.ssbld +++| END
02596 M00S02260.ssbld +++|
02597 M00S02261.ssbld +++| IF ( C<0,2>DEVTYPE EQ "ON" ) ##
02598 M00S02262.ssbld +++| OR ( C<0,3>DEVTYPE EQ "OFF" )
02599 M00S02263.ssbld +++| THEN
02600 M00S02264.ssbld +++| BEGIN
02601 M00S02265.ssbld +++| GOTO TERMINATE;
02602 M00S02266.ssbld +++| END
02603 M00S02267.ssbld +++|
02604 M00S02268.ssbld +++| END
02605 M00S02269.ssbld +++|
02606 M00S02270.ssbld +++|#
02607 M00S02271.ssbld +++|* FIND NEXT NON-BLANK CHARACTER
02608 M00S02272.ssbld +++|#
02609 M00S02273.ssbld +++|
02610 M00S02274.ssbld +++| LOOPC = FALSE;
02611 M00S02275.ssbld +++| SLOWFOR I = 1 STEP 1 WHILE NOT LOOPC
02612 M00S02276.ssbld +++| DO
02613 M00S02277.ssbld +++| BEGIN
02614 M00S02278.ssbld +++| IF C<SCOL,1>DIRLINE EQ " "
02615 M00S02279.ssbld +++| THEN
02616 M00S02280.ssbld +++| BEGIN
02617 M00S02281.ssbld +++| SCOL = SCOL + 1;
02618 M00S02282.ssbld +++| TEST I;
02619 M00S02283.ssbld +++| END
02620 M00S02284.ssbld +++|
02621 M00S02285.ssbld +++| LOOPC = TRUE;
02622 M00S02286.ssbld +++| TEST I;
02623 M00S02287.ssbld +++| END
02624 M00S02288.ssbld +++|
02625 M00S02289.ssbld +++| IF C<SCOL,1>DIRLINE NQ "="
02626 M00S02290.ssbld +++| THEN
02627 M00S02291.ssbld +++| BEGIN
02628 M00S02292.ssbld +++| BLMSG$LN[0] = " NEXTPRM - MISSING EQUAL SIGN.";
02629 M00S02293.ssbld +++| GOTO ERRORPRM;
02630 M00S02294.ssbld +++| END
02631 M00S02295.ssbld +++|
02632 M00S02296.ssbld +++| SCOL = SCOL + 1;
02633 M00S02297.ssbld +++|
02634 M00S02298.ssbld +++|#
02635 M00S02299.ssbld +++|* FIND NEXT NON-BLANK CHARACTER
02636 M00S02300.ssbld +++|#
02637 M00S02301.ssbld +++|
02638 M00S02302.ssbld +++| LOOPC = FALSE;
02639 M00S02303.ssbld +++| SLOWFOR I = 1 STEP 1 WHILE NOT LOOPC
02640 M00S02304.ssbld +++| DO
02641 M00S02305.ssbld +++| BEGIN
02642 M00S02306.ssbld +++| IF C<SCOL,1>DIRLINE EQ " "
02643 M00S02307.ssbld +++| THEN
02644 M00S02308.ssbld +++| BEGIN
02645 M00S02309.ssbld +++| SCOL = SCOL +1;
02646 M00S02310.ssbld +++| TEST I;
02647 M00S02311.ssbld +++| END
02648 M00S02312.ssbld +++|
02649 M00S02313.ssbld +++| LOOPC = TRUE;
02650 M00S02314.ssbld +++| TEST I;
02651 M00S02315.ssbld +++| END
02652 M00S02316.ssbld +++|
02653 M00S02317.ssbld +++| IF( C<SCOL,2>DIRLINE NQ "ON" ) ##
02654 M00S02318.ssbld +++| AND ( C<SCOL,3>DIRLINE NQ "OFF" )
02655 M00S02319.ssbld +++| THEN
02656 M00S02320.ssbld +++| BEGIN
02657 M00S02321.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT DIRECTIVE STATUS.";
02658 M00S02322.ssbld +++| GOTO ERRORPRM;
02659 M00S02323.ssbld +++| END
02660 M00S02324.ssbld +++|
02661 M00S02325.ssbld +++| IF C<SCOL,2>DIRLINE EQ "ON"
02662 M00S02326.ssbld +++| THEN
02663 M00S02327.ssbld +++| BEGIN
02664 M00S02328.ssbld +++| STAT = 1;
02665 M00S02329.ssbld +++| SCOL = SCOL+2;
02666 M00S02330.ssbld +++| END
02667 M00S02331.ssbld +++|
02668 M00S02332.ssbld +++| ELSE
02669 M00S02333.ssbld +++| BEGIN
02670 M00S02334.ssbld +++| STAT = 0;
02671 M00S02335.ssbld +++| SCOL = SCOL + 3;
02672 M00S02336.ssbld +++| END
02673 M00S02337.ssbld +++|
02674 M00S02338.ssbld +++|
02675 M00S02339.ssbld +++|TERMINATE:
02676 M00S02340.ssbld +++|
02677 M00S02341.ssbld +++| LOOPC = FALSE;
02678 M00S02342.ssbld +++| SLOWFOR I = 1 STEP 1 WHILE NOT LOOPC
02679 M00S02343.ssbld +++| DO
02680 M00S02344.ssbld +++| BEGIN
02681 M00S02345.ssbld +++| IF C<SCOL,1>DIRLINE EQ " "
02682 M00S02346.ssbld +++| THEN
02683 M00S02347.ssbld +++| BEGIN
02684 M00S02348.ssbld +++| SCOL = SCOL + 1;
02685 M00S02349.ssbld +++| TEST I;
02686 M00S02350.ssbld +++| END
02687 M00S02351.ssbld +++|
02688 M00S02352.ssbld +++| LOOPC = TRUE;
02689 M00S02353.ssbld +++| TEST I;
02690 M00S02354.ssbld +++| END
02691 M00S02355.ssbld +++|
02692 M00S02356.ssbld +++| IF( C<SCOL,1>DIRLINE NQ COMMA ) ##
02693 M00S02357.ssbld +++| AND ( C<SCOL,1>DIRLINE NQ PERIOD )
02694 M00S02358.ssbld +++| THEN
02695 M00S02359.ssbld +++| BEGIN
02696 M00S02360.ssbld +++| BLMSG$LN[0] = " NEXTPRM - INCORRECT TERMINATOR.";
02697 M00S02361.ssbld +++| GOTO ERRORPRM;
02698 M00S02362.ssbld +++| END
02699 M00S02363.ssbld +++|
02700 M00S02364.ssbld +++| TERMINATOR = C<SCOL,1>DIRLINE;
02701 M00S02365.ssbld +++| NCOL = SCOL+1;
02702 M00S02366.ssbld +++| RETURN;
02703 M00S02367.ssbld +++|
02704 M00S02368.ssbld +++|ERRORPRM:
02705 M00S02369.ssbld +++| MESSAGE(BLMSG[0],SYSUDF1);
02706 M00S02370.ssbld +++| RESTPFP(PFP$ABORT);
02707 M00S02371.ssbld +++|
02708 M00S02372.ssbld +++| END # NEXTPRM #
02709 M00S02373.ssbld +++|
02710 M00S02374.ssbld +++| TERM
Line S02375 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02711 M01S02375.ssbld1 ---|PROC UPDRDST ( DRD , PRIMARY );
Line S00336 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02712 M01S00336.ssbld1 +++|PROC UPDRDST(DRD,CONTORD);
02713 M00S02376.ssbld +++|
02714 M00S02377.ssbld +++|# TITLE UPDRDST - UPDATE DRD STATUS ACCORDING TO PATH STATUS #
02715 M00S02378.ssbld +++|
02716 M00S02379.ssbld +++| BEGIN # UPDRDST #
02717 M00S02380.ssbld +++|
02718 M00S02381.ssbld +++|#
02719 M00S02382.ssbld +++|*** UPDATE TRUE STATUS OF A DRD
02720 M00S02383.ssbld +++|*
02721 M00S02384.ssbld +++|* THE TRUE STATUS OF A DRD (ON/OFF) AT INITIALIZATION
02722 M00S02385.ssbld +++|* TIME DEPENDS ON THE STATUS OF THE PATHS LEADING TO
Line S02386 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02723 M01S02386.ssbld1 ---|* IT FROM THE DRC(S). IF ALL PATHS LEADING TO THE DRD
Line S00337 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02724 M01S00337.ssbld1 +++|* IT FROM THE DIF-S AND DRC-S. IF ALL PATHS LEADING TO THE DRD
02725 M00S02387.ssbld +++|* ARE OFF, THEN THIS PROC WILL SET THE INITIAL STATUS
02726 M00S02388.ssbld +++|* OF THE DRD TO BE OFF REGARDLESS OF WHAT THE SSBLD
02727 M00S02389.ssbld +++|* DIRECTIVE SAYS.
02728 M00S02390.ssbld +++|*
Line S02391 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02729 M01S02391.ssbld1 ---|* ENTRY DRD = DRD NUMBER WITHIN M862 ( 0 OR 1 ).
02730 M01S02392.ssbld1 ---|* PRIMARY = TRUE FOR PRIMARY PATH, ELSE ZERO.
Line S00338 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02731 M01S00338.ssbld1 +++|* ENTRY DRD = DRD ORDINAL.
02732 M01S00339.ssbld1 +++|* CONTORD = CONTROLLER ORDINAL TO SCAN FOR PATH.
02733 M00S02393.ssbld +++|*
02734 M00S02394.ssbld +++|* EXIT DRD STATUS UPDATED IF NECESSARY.
02735 M00S02395.ssbld +++|*
02736 M00S02396.ssbld +++|* MESSAGES NONE.
02737 M00S02397.ssbld +++|#
02738 M00S02398.ssbld +++|
Line S02399 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02739 M01S02399.ssbld1 ---| ITEM DRD U; # DRD NUMBER #
Line S00340 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02740 M01S00340.ssbld1 +++| ITEM CONTORD U; # CONTROLLER ORDINAL #
02741 M01S00341.ssbld1 +++| ITEM DRD U; # DRD NUMBER #
Line S02400 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02742 M01S02400.ssbld1 ---| ITEM PRIMARY B; # PRIMARY/SECONDARY PATH #
02743 M00S02401.ssbld +++|
02744 M00S02402.ssbld +++| DEF LISTCON #0#; # DO NOT LIST COMMON DECKS #
02745 M00S02403.ssbld +++|
02746 M00S02404.ssbld +++|*CALL,COMBFAS
02747 M00S02405.ssbld +++|*CALL,COMBUDT
02748 M00S02406.ssbld +++|
Line S02407 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02749 M01S02407.ssbld1 ---| ITEM I U; # LOOP INDEX #
Line S00342 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02750 M01S00342.ssbld1 +++| ITEM FIRSTDRC U; # FIRST DRC TO SCAN FOR PATH #
02751 M01S00343.ssbld1 +++| ITEM I U; # LOOP INDEX #
02752 M01S00344.ssbld1 +++| ITEM J U; # LOOP INDEX #
02753 M00S02408.ssbld +++|
02754 M00S02409.ssbld +++| CONTROL EJECT;
Line S02410 Modification History |
M01 (Removed by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02755 M01S02410.ssbld1 ---| IF DRD EQ 0
02756 M01S02411.ssbld1 ---| THEN # PROCESS DRD 0 #
02757 M01S02412.ssbld1 ---| BEGIN # DRD 0 #
02758 M01S02413.ssbld1 ---| IF PRIMARY
02759 M01S02414.ssbld1 ---| THEN # PROCESS PRIMARY #
02760 M01S02415.ssbld1 ---| BEGIN # PRIMARY #
02761 M01S02416.ssbld1 ---| IF B<PATH$DF"U$ON",1>D0$FLAG[1] EQ 0 ##
02762 M01S02417.ssbld1 ---| THEN # DRD IS DECLARED OFF #
02763 M01S02418.ssbld1 ---| BEGIN
02764 M01S02419.ssbld1 ---| D0$STSP[1] = D0$FLAG[1];
02765 M01S02420.ssbld1 ---| RETURN;
02766 M01S02421.ssbld1 ---| END
02767 M01S02422.ssbld1 ---|
02768 M01S02423.ssbld1 ---| ELSE # SEARCH FOR ON PATH #
02769 M01S02424.ssbld1 ---| BEGIN
02770 M01S02425.ssbld1 ---| B<PATH$DF"U$EXISTS",1>D0$STSP[1] = 1;
02771 M01S02426.ssbld1 ---| B<PATH$DF"U$ON",1>D0$STSP[1] = 0;
02772 M01S02427.ssbld1 ---| SLOWFOR I = 0 STEP 2 UNTIL MAX$DRD - 1
02773 M01S02428.ssbld1 ---| DO
02774 M01S02429.ssbld1 ---| BEGIN
02775 M01S02430.ssbld1 ---| IF B<I*6+PATH$DF"U$ON",1>UD$DRCP0[1] EQ 1 ##
02776 M01S02431.ssbld1 ---| OR B<I*6+PATH$DF"U$ON",1>UD$DRCP1[1] EQ 1
02777 M01S02432.ssbld1 ---| THEN # ON PATH FOUND #
02778 M01S02433.ssbld1 ---| BEGIN
02779 M01S02434.ssbld1 ---| B<PATH$DF"U$ON",1>D0$STSP[1] = 1;
02780 M01S02435.ssbld1 ---| RETURN;
02781 M01S02436.ssbld1 ---| END
02782 M01S02437.ssbld1 ---|
02783 M01S02438.ssbld1 ---| TEST I;
02784 M01S02439.ssbld1 ---| END
02785 M01S02440.ssbld1 ---|
02786 M01S02441.ssbld1 ---|
02787 M01S02442.ssbld1 ---| END
02788 M01S02443.ssbld1 ---|
02789 M01S02444.ssbld1 ---| END # PRIMARY #
02790 M01S02445.ssbld1 ---|
02791 M01S02446.ssbld1 ---|
02792 M01S02447.ssbld1 ---| IF NOT PRIMARY # PROCESS SECONDARY #
02793 M01S02448.ssbld1 ---| THEN
02794 M01S02449.ssbld1 ---| BEGIN # SECONDARY #
02795 M01S02450.ssbld1 ---| IF B<PATH$DF"U$ON",1>D0$FLAG[1] EQ 0
02796 M01S02451.ssbld1 ---| THEN # DRD IS DECLARED OFF #
02797 M01S02452.ssbld1 ---| BEGIN
02798 M01S02453.ssbld1 ---| D0$STSS[1] = D0$FLAG[1];
02799 M01S02454.ssbld1 ---| RETURN;
02800 M01S02455.ssbld1 ---| END
02801 M01S02456.ssbld1 ---|
02802 M01S02457.ssbld1 ---| ELSE # SEARCH FOR ON PATH #
02803 M01S02458.ssbld1 ---| BEGIN
02804 M01S02459.ssbld1 ---| B<PATH$DF"U$EXISTS",1>D0$STSS[1] = 1;
02805 M01S02460.ssbld1 ---| B<PATH$DF"U$ON",1>D0$STSS[1] = 0;
02806 M01S02461.ssbld1 ---| SLOWFOR I = 0 STEP 2 UNTIL MAX$DRD - 1
02807 M01S02462.ssbld1 ---| DO
02808 M01S02463.ssbld1 ---| BEGIN
02809 M01S02464.ssbld1 ---| IF B<I*6+PATH$DF"U$ON",1>UD$DRCP0[1] EQ 1 ##
02810 M01S02465.ssbld1 ---| OR B<I*6+PATH$DF"U$ON",1>UD$DRCP1[1] EQ 1
02811 M01S02466.ssbld1 ---| THEN # ON PATH FOUND #
02812 M01S02467.ssbld1 ---| BEGIN
02813 M01S02468.ssbld1 ---| B<PATH$DF"U$ON",1>D0$STSS[1] = 1;
02814 M01S02469.ssbld1 ---| RETURN;
02815 M01S02470.ssbld1 ---| END
02816 M01S02471.ssbld1 ---|
02817 M01S02472.ssbld1 ---| TEST I;
02818 M01S02473.ssbld1 ---| END
02819 M01S02474.ssbld1 ---|
02820 M01S02475.ssbld1 ---| END
02821 M01S02476.ssbld1 ---|
02822 M01S02477.ssbld1 ---| END # SECONDARY #
02823 M01S02478.ssbld1 ---|
02824 M01S02479.ssbld1 ---| END # DRD 0 #
02825 M01S02480.ssbld1 ---|
02826 M01S02481.ssbld1 ---| IF DRD EQ 1 # PROCESS DRD 1 #
02827 M01S02482.ssbld1 ---| THEN
02828 M01S02483.ssbld1 ---| BEGIN # DRD 1 #
02829 M01S02484.ssbld1 ---| IF PRIMARY
02830 M01S02485.ssbld1 ---| THEN # PROCESS PRIMARY #
02831 M01S02486.ssbld1 ---| BEGIN # PRIMARY #
02832 M01S02487.ssbld1 ---| IF B<PATH$DF"U$ON",1>D1$FLAG[1] EQ 0
02833 M01S02488.ssbld1 ---| THEN # DRD IS DECLARED OFF #
02834 M01S02489.ssbld1 ---| BEGIN
02835 M01S02490.ssbld1 ---| D1$STSP[1] = D1$FLAG[1];
02836 M01S02491.ssbld1 ---| RETURN;
02837 M01S02492.ssbld1 ---| END
02838 M01S02493.ssbld1 ---|
02839 M01S02494.ssbld1 ---| ELSE # SEARCH FOR ON PATH #
02840 M01S02495.ssbld1 ---| BEGIN
02841 M01S02496.ssbld1 ---| B<PATH$DF"U$EXISTS",1>D1$STSP[1] = 1;
02842 M01S02497.ssbld1 ---| B<PATH$DF"U$ON",1>D1$STSP[1] = 0;
02843 M01S02498.ssbld1 ---| SLOWFOR I = 1 STEP 2 UNTIL MAX$DRD
02844 M01S02499.ssbld1 ---| DO
02845 M01S02500.ssbld1 ---| BEGIN
02846 M01S02501.ssbld1 ---| IF B<I*6+PATH$DF"U$ON",1>UD$DRCP0[1] EQ 1 ##
02847 M01S02502.ssbld1 ---| OR B<I*6+PATH$DF"U$ON",1>UD$DRCP1[1] EQ 1
02848 M01S02503.ssbld1 ---| THEN # ON PATH FOUND #
02849 M01S02504.ssbld1 ---| BEGIN
02850 M01S02505.ssbld1 ---| B<PATH$DF"U$ON",1>D1$STSP[1] = 1;
02851 M01S02506.ssbld1 ---| RETURN;
02852 M01S02507.ssbld1 ---| END
02853 M01S02508.ssbld1 ---|
02854 M01S02509.ssbld1 ---| TEST I;
02855 M01S02510.ssbld1 ---| END
02856 M01S02511.ssbld1 ---|
02857 M01S02512.ssbld1 ---| END
02858 M01S02513.ssbld1 ---|
02859 M01S02514.ssbld1 ---| END # PRIMARY #
02860 M01S02515.ssbld1 ---|
02861 M01S02516.ssbld1 ---| IF NOT PRIMARY # PROCESS SECONDARY #
02862 M01S02517.ssbld1 ---| THEN
02863 M01S02518.ssbld1 ---| BEGIN # SECONDARY #
02864 M01S02519.ssbld1 ---| IF B<PATH$DF"U$ON",1>D1$FLAG[1] EQ 0
02865 M01S02520.ssbld1 ---| THEN # DRD IS DECLARED OFF #
02866 M01S02521.ssbld1 ---| BEGIN
02867 M01S02522.ssbld1 ---| D1$STSS[1] = D1$FLAG[1];
02868 M01S02523.ssbld1 ---| RETURN;
02869 M01S02524.ssbld1 ---| END
02870 M01S02525.ssbld1 ---|
02871 M01S02526.ssbld1 ---| ELSE # SEARCH FOR ON PATH #
02872 M01S02527.ssbld1 ---| BEGIN
02873 M01S02528.ssbld1 ---| B<PATH$DF"U$EXISTS",1>D1$STSS[1] = 1;
02874 M01S02529.ssbld1 ---| B<PATH$DF"U$ON",1>D1$STSS[1] = 0;
02875 M01S02530.ssbld1 ---| SLOWFOR I = 1 STEP 2 UNTIL MAX$DRD
02876 M01S02531.ssbld1 ---| DO
02877 M01S02532.ssbld1 ---| BEGIN
02878 M01S02533.ssbld1 ---| IF B<I*6+PATH$DF"U$ON",1>UD$DRCP0[1] EQ 1 ##
02879 M01S02534.ssbld1 ---| OR B<I*6+PATH$DF"U$ON",1>UD$DRCP1[1] EQ 1
02880 M01S02535.ssbld1 ---| THEN # ON PATH FOUND #
02881 M01S02536.ssbld1 ---| BEGIN
02882 M01S02537.ssbld1 ---| B<PATH$DF"U$ON",1>D1$STSS[1] = 1;
02883 M01S02538.ssbld1 ---| RETURN;
02884 M01S02539.ssbld1 ---| END
02885 M01S02540.ssbld1 ---|
02886 M01S02541.ssbld1 ---| TEST I;
02887 M01S02542.ssbld1 ---| END
02888 M01S02543.ssbld1 ---|
02889 M01S02544.ssbld1 ---| END
02890 M01S02545.ssbld1 ---|
02891 M01S02546.ssbld1 ---| END # SECONDARY #
02892 M01S02547.ssbld1 ---|
02893 M01S02548.ssbld1 ---| END # DRD 1 #
02894 M01S02549.ssbld1 ---|
Line S00345 Modification History |
M01 (Added by) | ssbld1 |
Seq # *Modification Id* Act
----------------------------+
02895 M01S00345.ssbld1 +++| CONTROL INERT;
02896 M01S00346.ssbld1 +++|
02897 M01S00347.ssbld1 +++|#
02898 M01S00348.ssbld1 +++|* ONLY DRC-S 0 AND 1 CAN CONNECT TO DRD-S 0-7.
02899 M01S00349.ssbld1 +++|* ONLY DRC-S 2 AND 3 CAN CONNECT TO DRD-S 8-15.
02900 M01S00350.ssbld1 +++|#
02901 M01S00351.ssbld1 +++|
02902 M01S00352.ssbld1 +++| FIRSTDRC = 0; # ASSUME CHECKING DRC-S 0 AND 1 #
02903 M01S00353.ssbld1 +++| IF DRD GQ 8
02904 M01S00354.ssbld1 +++| THEN # DRD CONNECTED TO OTHER DRC PAIR #
02905 M01S00355.ssbld1 +++| BEGIN # RESET #
02906 M01S00356.ssbld1 +++| FIRSTDRC = 2; # CHECK DRC-S 2 AND 3 #
02907 M01S00357.ssbld1 +++| END # RESET #
02908 M01S00358.ssbld1 +++|
02909 M01S00359.ssbld1 +++|#
02910 M01S00360.ssbld1 +++|* SET THE PASSED DRD AS ON WITH RESPECT TO THE PASSED CONTROLLER
02911 M01S00361.ssbld1 +++|* IF A DIF-DRC-DRD PATH CAN BE FOUND THAT IS ON FROM A
02912 M01S00362.ssbld1 +++|* DIF IN THE PASSED CU TO THE PASSED DRD.
02913 M01S00363.ssbld1 +++|*
02914 M01S00364.ssbld1 +++|* NOTE: ALL CONTROLLERS ARE SEARCHED FOR A VALID DRC-DRD
02915 M01S00365.ssbld1 +++|* PATH, SINCE DRC-S ARE INDEPENDENT OF THE CONTROLLERS
02916 M01S00366.ssbld1 +++|* THEY RESIDE IN.
02917 M01S00367.ssbld1 +++|*
02918 M01S00368.ssbld1 +++|#
02919 M01S00369.ssbld1 +++|
02920 M01S00370.ssbld1 +++| SLOWFOR I = 1 STEP 1 UNTIL MAXCTN
02921 M01S00371.ssbld1 +++| DO # SEARCH ALL CU-S FOR DRC-S #
02922 M01S00372.ssbld1 +++| BEGIN # CU #
02923 M01S00373.ssbld1 +++| SLOWFOR J = FIRSTDRC STEP 1 UNTIL (FIRSTDRC + 1)
02924 M01S00374.ssbld1 +++| DO # CHECK BOTH DRC-S #
02925 M01S00375.ssbld1 +++| BEGIN # DRC #
02926 M01S00376.ssbld1 +++| P<PTHSTAT> = LOC(UD$DRCP0[I]) + J; # LOCATE DRC #
02927 M01S00377.ssbld1 +++| IF PATHBIT(B<57,3>DRD,PATH$DF"U$EXISTS") EQ 1 ##
02928 M01S00378.ssbld1 +++| AND PATHBIT(B<57,3>DRD,PATH$DF"U$ON") EQ 1 # DRC-DRD ON #
02929 M01S00379.ssbld1 +++| AND ((B<J*6+PATH$DF"U$EXISTS",1>UD$DIF0[CONTORD] EQ 1 ##
02930 M01S00380.ssbld1 +++| AND B<J*6+PATH$DF"U$ON",1>UD$DIF0[CONTORD] EQ 1)
02931 M01S00381.ssbld1 +++| # DIF0-DRC PATH FOUND ON #
02932 M01S00382.ssbld1 +++| OR (B<J*6+PATH$DF"U$EXISTS",1>UD$DIF1[CONTORD] EQ 1 ##
02933 M01S00383.ssbld1 +++| AND B<J*6+PATH$DF"U$ON",1>UD$DIF1[CONTORD] EQ 1))
02934 M01S00384.ssbld1 +++| # DIF1-DRC PATH FOUND ON #
02935 M01S00385.ssbld1 +++| THEN # DRD CONFIRMED ON TO CONTROLLER #
02936 M01S00386.ssbld1 +++| BEGIN # DRD ON #
02937 M01S00387.ssbld1 +++| IF CONTORD EQ SM$CUO0[1]
02938 M01S00388.ssbld1 +++| THEN # SET DRD ON TO PRIMARY CU #
02939 M01S00389.ssbld1 +++| BEGIN # PRIMARY #
02940 M01S00390.ssbld1 +++| IF B<59,1>DRD EQ 0 AND D0$ON[1]
02941 M01S00391.ssbld1 +++| THEN # EVEN-NUMBERED DRD CHECKED #
02942 M01S00392.ssbld1 +++| BEGIN # EVEN #
02943 M01S00393.ssbld1 +++| B<PATH$DF"U$ON",1>D0$STSP[1] = 1;
02944 M01S00394.ssbld1 +++| END # EVEN #
02945 M01S00395.ssbld1 +++|
02946 M01S00396.ssbld1 +++| IF B<59,1>DRD EQ 1 AND D1$ON[1]
02947 M01S00397.ssbld1 +++| THEN # ODD-NUMBERED DRD CHECKED #
02948 M01S00398.ssbld1 +++| BEGIN # ODD #
02949 M01S00399.ssbld1 +++| B<PATH$DF"U$ON",1>D1$STSP[1] = 1;
02950 M01S00400.ssbld1 +++| END # ODD #
02951 M01S00401.ssbld1 +++|
02952 M01S00402.ssbld1 +++| END # PRIMARY #
02953 M01S00403.ssbld1 +++|
02954 M01S00404.ssbld1 +++| ELSE # SET DRD ON TO SECONDARY CU #
02955 M01S00405.ssbld1 +++| BEGIN # SECONDARY #
02956 M01S00406.ssbld1 +++| IF B<59,1>DRD EQ 0 AND D0$ON[1]
02957 M01S00407.ssbld1 +++| THEN # EVEN-NUMBERED DRD CHECKED #
02958 M01S00408.ssbld1 +++| BEGIN # EVEN #
02959 M01S00409.ssbld1 +++| B<PATH$DF"U$ON",1>D0$STSS[1] = 1;
02960 M01S00410.ssbld1 +++| END # EVEN #
02961 M01S00411.ssbld1 +++|
02962 M01S00412.ssbld1 +++| IF B<59,1>DRD EQ 1 AND D1$ON[1]
02963 M01S00413.ssbld1 +++| THEN # ODD-NUMBERED DRD CHECKED #
02964 M01S00414.ssbld1 +++| BEGIN # ODD #
02965 M01S00415.ssbld1 +++| B<PATH$DF"U$ON",1>D1$STSS[1] = 1;
02966 M01S00416.ssbld1 +++| END # ODD #
02967 M01S00417.ssbld1 +++|
02968 M01S00418.ssbld1 +++| END # SECONDARY #
02969 M01S00419.ssbld1 +++|
02970 M01S00420.ssbld1 +++| RETURN; # SEARCH COMPLETE #
02971 M01S00421.ssbld1 +++| END # DRD ON #
02972 M01S00422.ssbld1 +++|
02973 M01S00423.ssbld1 +++| END # DRC #
02974 M01S00424.ssbld1 +++|
02975 M01S00425.ssbld1 +++| END # CU #
02976 M01S00426.ssbld1 +++|
02977 M01S00427.ssbld1 +++| CONTROL REACTIVE;
02978 M01S00428.ssbld1 +++|
02979 M01S00429.ssbld1 +++| IF B<59,1>DRD EQ 0
02980 M01S00430.ssbld1 +++| THEN # EVEN-NUMBERED DRD FOUND OFF #
02981 M01S00431.ssbld1 +++| BEGIN # OFF #
02982 M01S00432.ssbld1 +++| D0$FLAG[1] = D0$STSP[1] LOR D0$STSS[1]; # IN CASE OFF TO BOTH #
02983 M01S00433.ssbld1 +++| END # OFF #
02984 M01S00434.ssbld1 +++|
02985 M01S00435.ssbld1 +++| ELSE # ODD-NUMBERED DRD FOUND OFF #
02986 M01S00436.ssbld1 +++| BEGIN # OFF #
02987 M01S00437.ssbld1 +++| D1$FLAG[1] = D1$STSP[1] LOR D1$STSS[1]; # IN CASE OFF TO BOTH #
02988 M01S00438.ssbld1 +++| END # OFF #
02989 M01S00439.ssbld1 +++|
02990 M01S00440.ssbld1 +++| CONTROL INERT;
02991 M01S00441.ssbld1 +++|
02992 M00S02550.ssbld +++| END # UPDRDST #
02993 M00S02551.ssbld +++|
02994 M00S02552.ssbld +++| TERM
02995 M00S02553.ssbld +++|PROC WTBUDT;
02996 M00S02554.ssbld +++|
02997 M00S02555.ssbld +++|
02998 M00S02556.ssbld +++|# TITLE WTBUDT - WRITE SSBLD GENERATED UDT TO DISK FILE #
02999 M00S02557.ssbld +++|
03000 M00S02558.ssbld +++| BEGIN # WTBUDT #
03001 M00S02559.ssbld +++|
03002 M00S02560.ssbld +++|#
03003 M00S02561.ssbld +++|*** WTBUDT - WRITE UDT TO PERMANENT FILE.
03004 M00S02562.ssbld +++|*
03005 M00S02563.ssbld +++|* TWTBUDT WRITES THE SSBLD GENERATED UDT TO THE SSEXEC
03006 M00S02564.ssbld +++|* ACCESSIBLE PERMANENT FILE. THE DEFAULT FLIE NAME IS *BUDT*.
03007 M00S02565.ssbld +++|*
03008 M00S02566.ssbld +++|* PROC WTBUDT.
03009 M00S02567.ssbld +++|*
03010 M00S02568.ssbld +++|* ENTRY - NONE.
03011 M00S02569.ssbld +++|*
03012 M00S02570.ssbld +++|* EXIT - UDT WRITTEN TO THE PERMANENT FILE.
03013 M00S02571.ssbld +++|*
03014 M00S02572.ssbld +++|* MESSAGES
03015 M00S02573.ssbld +++|*
03016 M00S02574.ssbld +++|* WTBUDT - CIO ERROR.
03017 M00S02575.ssbld +++|* WTBUDT - DEVICE FULL FOR UDT FILE.
03018 M00S02576.ssbld +++|*
03019 M00S02577.ssbld +++|* NOTES
03020 M00S02578.ssbld +++|#
03021 M00S02579.ssbld +++|
03022 M00S02580.ssbld +++|#
03023 M00S02581.ssbld +++|**** PROC WTBUDT - XREF LIST BEGIN.
03024 M00S02582.ssbld +++|#
03025 M00S02583.ssbld +++|
03026 M00S02584.ssbld +++| XREF
03027 M00S02585.ssbld +++| BEGIN
03028 M00S02586.ssbld +++| PROC BZFILL; # BLANK OR ZERO FILL AN ITEM #
03029 M00S02587.ssbld +++| PROC MESSAGE; # DISPLAYS MESSAGE IN DAYFILE #
03030 M00S02588.ssbld +++| PROC RESTPFP; # RESTORE USER-S PFP AND ABORT #
03031 M00S02589.ssbld +++| PROC RETERN; # RETURNS A FILE #
03032 M00S02590.ssbld +++| PROC REWIND; # REWINDS A FILE #
03033 M00S02591.ssbld +++| PROC WRITE; # WRITE DATA TO DISK #
03034 M00S02592.ssbld +++| PROC WRITEF; # WRITE EOF ON DISK FILE #
03035 M00S02593.ssbld +++| PROC WRITER; # WRITES EOR ON A FILE #
03036 M00S02594.ssbld +++| PROC WRITEW; # DATA TRANSFER ROUTINE #
03037 M00S02595.ssbld +++| PROC ZFILL; # ZERO FILLS A BUFFER #
03038 M00S02596.ssbld +++| PROC ZSETFET; # SETS UP A FET #
03039 M00S02597.ssbld +++| END
03040 M00S02598.ssbld +++|
03041 M00S02599.ssbld +++|#
03042 M00S02600.ssbld +++|**** PROC WTBUDT - XREF LIST END.
03043 M00S02601.ssbld +++|#
03044 M00S02602.ssbld +++|
03045 M00S02603.ssbld +++| DEF MSG$CIOERR #"WTBUDT - CIO ERROR."#;
03046 M00S02604.ssbld +++| DEF MSG$DSKFULL #"WTBUDT - DEVICE FULL FOR UDT FILE."#;
03047 M00S02605.ssbld +++|
03048 M00S02606.ssbld +++| DEF LISTCON #0#; # DO NOT LIST THE COMMON DECKS #
03049 M00S02607.ssbld +++|*CALL,COMBFAS
03050 M00S02608.ssbld +++|*CALL,COMBBZF
03051 M00S02609.ssbld +++|*CALL,COMBFET
03052 M00S02610.ssbld +++|*CALL,COMBUDT
03053 M00S02611.ssbld +++|*CALL,COMSPFM
03054 M00S02612.ssbld +++|*CALL,COMTBLD
03055 M00S02613.ssbld +++|*CALL,COMTBLP
03056 M00S02614.ssbld +++|*CALL,COMTOUT
03057 M00S02615.ssbld +++|
03058 M00S02616.ssbld +++| ITEM BUFP I; # FWA OF BUFFER #
03059 M00S02617.ssbld +++| ITEM FETP I; # FET POINTER #
03060 M00S02618.ssbld +++| ITEM TMPI I;
03061 M00S02619.ssbld +++| ITEM TMPJ I;
03062 M00S02620.ssbld +++| ITEM TMPK I;
03063 M00S02621.ssbld +++| ITEM LFN C(7); # FILE NAME #
03064 M00S02622.ssbld +++| ITEM STAT I; # INTEGER STATUS VARIABLE #
03065 M00S02623.ssbld +++|
03066 M00S02624.ssbld +++| CONTROL EJECT;
03067 M00S02625.ssbld +++|
03068 M00S02626.ssbld +++|#
03069 M00S02627.ssbld +++|* SET UP THE FET FOR UDT BINARY AND REWIND IT.
03070 M00S02628.ssbld +++|#
03071 M00S02629.ssbld +++|
03072 M00S02630.ssbld +++| LFN = DARG$BF[0];
03073 M00S02631.ssbld +++| BZFILL(LFN,TYPFILL"ZFILL",7);
03074 M00S02632.ssbld +++| FETP = LOC(BL$FET[0]);
03075 M00S02633.ssbld +++| BUFP = LOC(BL$BUF[0]);
03076 M00S02634.ssbld +++| ZSETFET(FETP,LFN,BUFP,BLBUFL,SFETL);
03077 M00S02635.ssbld +++| REWIND(BL$FET[0],RCL);
03078 M00S02636.ssbld +++| P<BL$UDT$LOC> = LOC(BL$UDT$HDR);
03079 M00S02637.ssbld +++|
03080 M00S02638.ssbld +++|#
03081 M00S02639.ssbld +++|* WRITE THE FILE TO *CIO* BUFFER
03082 M00S02640.ssbld +++|#
03083 M00S02641.ssbld +++|
03084 M00S02642.ssbld +++| WRITEW(BL$FET[0],BL$UDT$LOC[0],LARCUDTLTM,STAT);
03085 M00S02643.ssbld +++|
03086 M00S02644.ssbld +++|#
03087 M00S02645.ssbld +++|* WRITE UDT TO DISK
03088 M00S02646.ssbld +++|#
03089 M00S02647.ssbld +++|
03090 M00S02648.ssbld +++| WRITE(BL$FET[0],RCL);
03091 M00S02649.ssbld +++| WRITER(BL$FET[0],RCL);
03092 M00S02650.ssbld +++| WRITEF(BL$FET[0],RCL);
03093 M00S02651.ssbld +++| REWIND(BL$FET[0],RCL);
03094 M00S02652.ssbld +++| RETERN(BL$FET[0],RCL);
03095 M00S02653.ssbld +++|
03096 M00S02654.ssbld +++| END # WTBUDT #
03097 M00S02655.ssbld +++|
03098 M00S02656.ssbld +++| TERM