þþXèX;SAVE #D2:DUPTST.M65ò!AšTEST FILE SPEC FOR DOS.SYSAü+X; **** TEST FILE SPEC FOR DOS.SYS ****X;X;X; SUBROUTINE - TSTDOS$X;.GX; CHECKS A FILE SPEC IN THE STORAGE LOC FOR DOS.SYS. USED TO8JX; PREVENT COPYING TO A FILE NAMED DOS.SYS. IF DOS.SYS IS OPENEDB@X; OUTPUT FMS WILL WRITE A COPY OF DOS OUT TO THE FILE.LX;VGX; ENTRY - REG X HAS INDEX INTO PAR TO FIRST CHAR OF FILE SPEC`/X; ASSUMES COMPLETE FILE SPEC.jMX; EXIT - WILL NOT RETURN IF FILE NAME = DOS.SYS, BUT GOES TO MENU.tX;~)X; FIND END OF DEVICE ID - COLONˆX;’ †TSTDOS2;;NEVER IS FIRST CHARœQƒPAR9;;GET 2ND CHAR¦R> :;;IS IT A COLON?°,F†GOTCOL;;YES, THEN NAME STARTS AT CHAR 3º 2;;ELSE NAME STARTS AT CHAR 4Ä(†GOTCOL2;;POINT AT FIRST CHAR OF NAMEÎX;Ø1X; COMPARE FILE NAME IN PAR WITH DOS.SYSâX;ì%%>;;INDEX INTO DOS.SYS FILE SPECöX;*‡NXTCHARQ‚DS8;;GET NEXT DOS.SYS CHAR $RƒPAR9;;TEST IF FILE NAME IS SAMEH†NOTSAM;;NO, THEN RETURN3(2;;ELSE TRY NEXT CHAR2%)>;;ARE THERE MORE CHARS TO TRY?<H‡NXTCHAR;;YES, DO AGAINFX;P1X; FILE NAME EQUALS DOS.SYS - ERROR EXITZX;d.Q>4„DCDS;;PRINT MSG - DEST CAN'T BE DOS.SYSn $>5„DCDSx †DSPLIN‚!†MENUSL;;GOTO MENUŒX;–3X; NOT EQUAL TO DOS.SYS - RETURN TO CALLER X;ª †NOTSAM:´X;¾+„DCDS A›DESTINATION CANT BE DOS.SYSA=‚CR