MVAX-11 Bliss-16 V2.0-21220-Aug-1980 10:11:44 %.9IYix #)5?O^gp &28DM_nz"+.14=DGMS_behqtwz!###// D$NAME$S FA$ENB FD$CCLNAM$5 GE$BIFR$$FIXF$BKEF3F$EFBKF$EOBB=F$RACCR$$SEQ R$$VARF$DFNBF$ERR1GET$ C$DSDS$L`F$BKDS$S  FA$CREH C$FILD#F$MBFGF$RCNM$H FA$DLK6 GE$MDE C$CMLD\ C$MKW1<F$BBFS~F$NRBD$S FD$BLK$ $NAM$FIELDa C$MKW2.F$HIBK FD$REC FDBF$RD$NAMEF$ALOCF$BKDN FD$RAH= GCMLB$$DLFNB* C$DEVD9 C$DIRDF$RCNM$LG$PSDS$A7 GE$EOF CS$DVF$MG$CMLD9 GE$IND S$BFHD CS$NMF$M EX$ADFF$FNAMk CS$DIF FD$DIR FD$PLC FDBK$RiF$ACTL[F$BKDSoF$URBD$S FD$SDI FO$APD: GE$CLOAF$BKVB FD$RAN FD$WBH8 GE$COMd$GTDIDF$MBCTyF$NRBDG$MODE NB$NAM8F$FFBY CS$INP$M CS$WLD$MmDELET$F$NREC FCS$012 NB$DEV NB$DIR4N$FNAM C$DSDS CSI$ND EX$ENAG FDAT$RXFDRC$RG$PSDS$L$RDFDR$RDFFPW C$SWAD CS$EQU$MF$CNTG FD$FTN  FD$SQD$RENAMjF$URBD FA$RWD FA$SHR FD$INSNMBLK$ CS$MOR$M EX$FCO FCS$2348CLOSE$l CS$DVF DSPT$SIZEF$RCNM3 GE$IOR$ASCPP$PPASCh$WDFDR~$WDFFPj CS$NMF  FA$EXT FA$NSP FA$TMPF$FVER FA$POSPUT$~$GTDIR$MRKDLF$BKSTF$STBKFINIT$ G$DPRM$PARSEF$DVNMVF$RCTLFDOP$RpNB$$SD1g CS$INPm CS$WLDF$SEQN4 GE$OPRuNB$$SD2 NB$VER$ENTERf C$SIZE NB$SNM C$STAT CS$OUT$MF$OVBS}FA$$ENB FD$RWMFN$$SD1 G$XXX1 S$FNBWi CS$EQUF$DSPTF$RATTFN$$SD2G$PSDS G$XXX2>N$FVERF$STAT G$XXX3< GE$SIZ$ASLUN$EXTNDZF$SPDV G$XXX4N$DVNMn CS$MOR:  $FCS$DEFAULTF$NEXTFA$$CRE|OPNT$DF$UNITnFA$$DLK; G$ISIZY$POSRC$FD$$BLK FDB$SIZE GCML$FIELD NB$STP CSI$SVD$DEV$AD$DIR$A$REMOV CSI$SWF$FTYP(FD$$RAH$POINTCN$STAT7F$VBSZ FD$TTY NB$SVRWRITE$2$RFOWN_F$SPUN FCS$0$PRINT FCS$1LFD$$PLCzN$NEXT NB$TYPPRINT$h CS$OUTUF$BDB)F$RSIZFO$$APDN$UNIT$POSIT$PRSDVGFD$$RAN-FD$$WBH| CSI$1RNB$$NAM$WFOWN CSI$29N$FTYP C$TYPR  FO$WRTkNB$$DEVfNB$$DIRFN$$NAMF$RTYPFD$$FTNF$DIDFN$$DEVFN$$DIR NAM$SIZEsFA$$RWDFA$$SHRQFD$$INSFSRSZ$OPNT$W $FCS$VCF$FIDC  GCMLB$INITD$DEV$SD$DIR$S  $FCS$CALLF$FNBFA$$EXTFA$$NSPFA$$TMPREAD$xFA$$POS CCML$ DSPT$FIELDF$EFN FD$CRN$DID2 GCMLB$SIZE$FIND%N$FIDHNB$$VER FCS$0123aNB$$SNMOFID$D$DEVD$DIRdF$CHRG GCML$BFD$$RWMFN$$VER OFNB$FN$$SNM S$FNB$MARK  FO$RD\NB$$STPPF$VBNw $CSI$SW RCML$F$ERRFN$$STPWNB$$SVR FDB$FIELDG$ERRMNB$$TYPGET$R2OPEN$FN$$SVREGET$SQ$CTRLF$LUNFN$$TYPHWAIT$FO$$WRTo CSIBLK$ R$FIXDSPT$ R$SEQ R$VAR FCS$01 FCS$12WOPNS$$XQIO FCS$23  CSI$FIELDFD$$CRR C$FILD$A C$CMLD$AF$MBC1D$NAME$A4 C$DEVD$AC C$DIRD$AF$FID2;PUT$RF$FID3FDB$ G$CMLD$A~PUT$SeF$BKDS$AFO$$RD G$DPRM$1 F$ERROR# G$DPRM$2F$NRBD$A( G$DPRM$3M C$FILD$L EX$AC1- G$DPRM$4 C$CMLD$L EX$AC2F$FACC*N$FID2 $FDB$FIELD2F$BGBCF$BKP1/N$FID3$  $FCS$COND1/  $FCS$COND2/ C$DEVD$L> C$DIRD$L% C$DSDS$AFF$BKVB$HG$CMLD$LtF$URBD$A NB$SD1 NB$SD2 CS$DIF$MKF$BKVB$LK  ]12 15  T  C   3 k ]5  Q } W .THgj<QgBi/  + ]6 !N!="#$$ '()Z)))))))$)!)<) N*z+./ $FDB$FIELD0  @@BLOCK[FDB$SIZE]p( $FDB$FIELD)w`mwWz   m o @BLOCK[NAM$SIZE]p( $NAM$FIELDS)DGBLOCK[ DSPT$SIZE]p( DSPT$FIELD)R00W1Q12334*5?5T6]7l8889?:G:; 9%1$3(A,B,C)=A%,%2$3(A,B,C)=B%,%3$3(A,B,C)=C%;1 :BLOCK[ GCMLB$SIZE]p( $FDB$FIELD, GCML$FIELD),_DFNB_:NMBLK$(CMI,CMD),_SIZE_:BLOCK[]%IF%NULL( )%THEN,_BUF1_:VECTOR[ $FCS$DEFAULT(), )]%FI%IF%NULL( )%THEN,_PDL1_:VECTOR[ $FCS$DEFAULT(, )+*]%FI;9_GCMLB_=_SIZE_= $FCS$DEFAULT(R, );FDAT$R( ,);FDOP$R( , $FCS$DEFAULT(, ),,_DFNB_);FDBF$R( ,,,);BLOCK[ ,F$RCTL]=FD$TTY+FD$REC+FD$CCL;BLOCK[ ,G$MODE]=GE$COM+GE$IND+GE$CLO+GE$SIZ;BLOCK[ ,G$XXX1]=-;BLOCK[ ,G$XXX2]= $FCS$DEFAULT(, );BLOCK[ ,G$XXX3]= $FCS$DEFAULT(_PDL1_, );BLOCK[ ,G$XXX4]= $FCS$DEFAULT(_BUF1_, );BLOCK[ ,G$DPRM$1]=%CHAR(%O15,%O12);BLOCK[ ,G$DPRM$2]=%1$3(%EXPLODE( ))+%2$3(%EXPLODE( ))^;BLOCK[ ,G$DPRM$3]=%3$3(%EXPLODE( ));BLOCK[ ,G$DPRM$4]=>;%;_GCMLB_-34%NAME(.GCML1):FCS$0; $FCS$COND2(BLOCK[ ,G$PSDS$A], ); $FCS$COND2(BLOCK[ ,G$PSDS$L], );%IF%NULL( )%NULL( )%THEN%ERROR( Prompt string missing)%FI $FCS$CALL(%NAME(.GCML1)(BLOCK[ ,,,,]))34%NAME(.GCML2):FCS$0; $FCS$CALL(%NAME(.GCML2)(BLOCK[ ,,,,]))34%NAME(.GCML3):FCS$0; $FCS$CALL(%NAME(.GCML3)(BLOCK[ ,,,,])) `/,    d  V zx|K   ,  1 :BLOCK[C$SIZE/]p( CSI$FIELD);34%NAME(.CSI1):FCS$0; $FCS$COND2(BLOCK[ ,C$CMLD$A], ); $FCS$COND2(BLOCK[ ,C$CMLD$L], ); $FCS$CALL(%NAME(.CSI1)( ))-34%NAME(.CSI2):FCS$0;%IF %IDENTICAL( ,INPUT)%THENBLOCK[ ,C$TYPR]=CS$INP;%ELSE%IF %IDENTICAL( ,OUTPUT)%THENBLOCK[ ,C$TYPR]=CS$OUT;%ELSE%ERROR(52nd parameter to CSI$2 must be either INPUT or OUTPUT)%FI%FIBLOCK[ ,C$SWAD]= ; $FCS$CALL(%NAME(.CSI2)( ))?%IF%NULL( )%THENBLOCK[+]_( %EXACTSTRING(,, ),%ELSEBLOCK[( %CHARCOUNT( )+)/+]_($CSI$SW(%EXPLODE( ))%X7FFF%IF %IDENTICAL( ,EXACT)%THEN%X80%FI,%FI , $FCS$DEFAULT(, )%IF %IDENTICAL( ,CLEAR)%THEN+%FI, $FCS$DEFAULT(, )%IF %IDENTICAL( ,NEG)%THEN+%FI) %C %IF%NULL( )%THEN+%C ^%FI%X8000)BLOCK[]_( ^+%IF %IDENTICAL( ,ASCII)%THEN%ELSE%IF %IDENTICAL( ,NUMERIC)%THEN%ELSE%IF %IDENTICAL( ,OCTAL)%THEN%ELSE%IF %IDENTICAL( ,DECIMAL)%THEN%ELSE%ERROR( Invalid conversion type)%FI%FI%FI%FI, )BLOCK[]_() VALUECBIT CLEARSTACK %IF%NULL( )%THEN %ELSE  %FI%IF%NULL( )%THEN = ;%FI%IF%NULL( )%THEN = ;%FI%IF%NULL( )%THEN %ELSE %FI)%IF%NULL(     )%THEN %EXITMACRO%FI $FCS$COND2(BLOCK[ ,F$RTYP], ) $FCS$COND2(BLOCK[ ,F$RATT], ) $FCS$COND2(BLOCK[ ,F$RSIZ], ) $FCS$COND2(BLOCK[ ,F$CNTG], ) $FCS$COND2(BLOCK[ ,F$ALOC], )"%IF%NULL( ,   )%THEN %EXITMACRO%FI $FCS$COND2(BLOCK[ ,F$EFN], ) $FCS$COND2(BLOCK[ ,F$OVBS], ) $FCS$COND2(BLOCK[ ,F$MBCT], ) $FCS$COND2(BLOCK[ ,F$MBFG], )B%IF%NULL(      )%THEN %EXITMACRO%FI $FCS$COND2(BLOCK[ ,F$BKDS$A], ) $FCS$COND2(BLOCK[ ,F$BKDS$S], )%IF%NULL( )%THENBLOCK[ ,F$BKVB$H]=.( );BLOCK[ ,F$BKVB$L]=.(( )+%UPVAL);%FI $FCS$COND2(BLOCK[ ,F$BKEF], ) $FCS$COND2(BLOCK[ ,F$BKST], ) $FCS$COND2(BLOCK[ ,F$BKDN], ))%IF%NULL(     )%THEN %EXITMACRO%FI $FCS$COND2(BLOCK[ ,F$LUN], ) $FCS$COND2(BLOCK[ ,F$DSPT], ) $FCS$COND2(BLOCK[ ,F$DFNB], ) $FCS$COND2(BLOCK[ ,F$FACC], ) $FCS$COND2(BLOCK[ ,F$ACTL], )%IF%NULL(   )%THEN %EXITMACRO%FI $FCS$COND2(BLOCK[ ,F$RACC], ) $FCS$COND2(BLOCK[ ,F$URBD$A], ) $FCS$COND2(BLOCK[ ,F$URBD$S], ) 34%NAME(.FINIT);%NAME(.FINIT)();T1=$$FSR1(2,OVERLAY,WRITE, NOEXECUTE);1$$FSR1:VECTOR[ *(S$BFHD+ $FCS$DEFAULT(, )),`];3%NAME(.FSRCB);(BLOCK[]_(,,, %RAD50_11 %EXACTSTRING( ,%O40, ), %RAD50_11 %EXACTSTRING(,%O40, ), $FCS$DEFAULT(, ),,,,,, %EXACTSTRING(,%O0, ), $FCS$DEFAULT(, ))34%NAME(.ASCPP):FCS$23; $FCS$CALL(%NAME(.ASCPP)( , ), )34%NAME(.ASLUN):FCS$01; $FCS$CALL(%NAME(.ASLUN)( , ), )34%NAME(.CLOSE):FCS$0; $FCS$CALL(%NAME(.CLOSE)( ), )34%NAME(.CTRL):FCS$0123; $FCS$CALL(%NAME(.CTRL)( , , , ), )34%NAME(.DELET):FCS$0; $FCS$CALL(%NAME(.DELET)( ), )34%NAME(.DLFNB):FCS$0; $FCS$CALL(%NAME(.DLFNB)( ), )34%NAME(.ENTER):FCS$01; $FCS$CALL(%NAME(.ENTER)( , ), )34%NAME(.EXTND):FCS$012; $FCS$CALL(%NAME(.EXTND)( , ,( )^ %XFF), )34%NAME(.FIND):FCS$01; $FCS$CALL(%NAME(.FIND)( , ), )34%NAME(.GET):FCS$0;FDRC$R( ,, , ); $FCS$CALL(%NAME(.GET)( ), )!34%NAME(.GETR):FCS$0;FDRC$R( ,, , ); $FCS$COND2(BLOCK[ ,F$RCNM$L], ) $FCS$COND2(BLOCK[ ,F$RCNM$H], ) $FCS$CALL(%NAME(.GETR)( ), )34%NAME(.GETSQ):FCS$0;FDRC$R( ,, , ); $FCS$CALL(%NAME(.GETSQ)( ), )34%NAME(.GTDID):FCS$01; $FCS$CALL(%NAME(.GTDID)( , ), )34%NAME(.GTDIR):FCS$012; $FCS$CALL(%NAME(.GTDIR)( , , $FCS$DEFAULT(.BLOCK[ ,F$DSPT], )), ) 34%NAME(.MARK):FCS$0;gR1,R2,R3;%NAME(.MARK)( ); $FCS$COND1( ,.R1); $FCS$COND1( ,.R2); $FCS$COND1( ,.R3);34%NAME(.MRKDL):FCS$0; $FCS$CALL(%NAME(.MRKDL)( ), )34%NAME(.OPFID):FCS$0;FDOP$R( , , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPFID)( ), ) 34%NAME(.OPFNB):FCS$0;FDOP$R( , , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPFNB)( ), ) 34%NAME(.OPEN):FCS$0;FDOP$R( , , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPEN)( ), ) 34%NAME(.OPNS):FCS$0;FDOP$R( , , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPNS)( ), ) 34%NAME(.OPNTD):FCS$0;FDOP$R( , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPNTD)( ), )34%NAME(.OPNTW):FCS$0;FDOP$R( , , , );FDRC$R( , , , ); $FCS$CALL(%NAME(.OPNTW)( ), ) 34%NAME(.PARSE):FCS$0123; $FCS$CALL(%NAME(.PARSE)( , , $FCS$DEFAULT(.BLOCK[ ,F$DSPT], ), $FCS$DEFAULT(.BLOCK[ ,F$DFNB], )), )34%NAME(.POINT):FCS$0123; $FCS$CALL(%NAME(.POINT)( , , , ), )134%NAME(.POSIT):FCS$0;gR1,R2,R3; $FCS$COND2(BLOCK[ ,F$RCNM$L], ); $FCS$COND2(BLOCK[ ,F$RCNM$H], ); $FCS$CALL(%NAME(.POSIT)( ), ); $FCS$COND1( ,.R1); $FCS$COND1( ,.R2); $FCS$COND1( ,.R3);34%NAME(.POSRC):FCS$0; $FCS$COND2(BLOCK[ ,F$RCNM$L], ); $FCS$COND2(BLOCK[ ,F$RCNM$H], ); $FCS$CALL(%NAME(.POSRC)( ), )34%NAME(.PPASC):FCS$234;gR2;%NAME(.PPASC)( , ,(( )^(( ))));.R234%NAME(.PRINT):FCS$0; $FCS$CALL(%NAME(.PRINT)( ), ) 34%NAME(.PRINT):FCS$0; $FCS$CALL(%NAME(.PRINT)( ),ERR) 34%NAME(.PRSDV):FCS$0123; $FCS$CALL(%NAME(.PRSDV)( , , $FCS$DEFAULT(.BLOCK[ ,F$DSPT], ), $FCS$DEFAULT(.BLOCK[ ,F$DFNB], )), )34%NAME(.PUT):FCS$0; $FCS$COND2(BLOCK[ ,F$NRBD$A], ); $FCS$COND2(BLOCK[ ,F$NRBD$S], ); $FCS$CALL(%NAME(.PUT)( ), )+34%NAME(.PUTR):FCS$0; $FCS$COND2(BLOCK[ ,F$NRBD$A], ); $FCS$COND2(BLOCK[ ,F$NRBD$S], ); $FCS$COND2(BLOCK[ ,F$RCNM$L], ); $FCS$COND2(BLOCK[ ,F$RCNM$H], ); $FCS$CALL(%NAME(.PUTR)( ), )34%NAME(.PUTSQ):FCS$0; $FCS$COND2(BLOCK[ ,F$NRBD$A], ); $FCS$COND2(BLOCK[ ,F$NRBD$S], ); $FCS$CALL(%NAME(.PUTSQ)( ), )34%NAME(.RDFDR);gR1,R2;%NAME(.RDFDR)(); =.R1; =.R2;34%NAME(.RDFFP);gR1;%NAME(.RDFFP)();.R134%NAME(.READ):FCS$0;FDBK$R( , , , , , , ); $FCS$CALL(%NAME(.READ)( ), )34%NAME(.REMOV):FCS$01; $FCS$CALL(%NAME(.REMOV)( , ), )34%NAME(.RENAM):FCS$01; $FCS$CALL(%NAME(.RENAM)( , ), )34%NAME(.RFOWN);gR1;%NAME(.RFOWN)();.R134%NAME(.WAIT):FCS$0;FDBK$R( ,,,, , ); $FCS$CALL(%NAME(.WAIT)( ), )34%NAME(.WDFDR):FCS$12;%NAME(.WDFDR)( , ); 34%NAME(.WDFFP):FCS$1;%NAME(.WDFFP)( ); 34%NAME(.WFOWN):FCS$1;%NAME(.WFOWN)( )34%NAME(.WRITE):FCS$0;FDBK$R( , , , , , , ); $FCS$CALL(%NAME(.WRITE)( ), )34%NAME(.XQIO):FCS$0123; $FCS$CALL(%NAME(.XQIO)( , , , ), )