The input handling for file names is shit -- the GETWORD and MUSTGETWORD routines, doesn't check if the file name (or) extension exceeds the length (8 characters for the filename and 3 for the extension).
GETWORD: CALL GETLET JBE NONAM ;Exit if termination character DEC SI MUSTGETWORD: CALL GETLET JBE FILLNAM JCXZ MUSTGETWORD DEC CX CMP AL,"*" ;Check for ambiguous file specifier JNZ NOSTAR MOV AL,"?" REP STOSB NOSTAR: STOSB CMP AL,"?" JNZ MUSTGETWORD OR DL,1 ;Flag ambiguous file name JMP MUSTGETWORD FILLNAM: MOV AL," " REP STOSB DEC SI