Contributor: ANDREW EIGUS { > What are the valid characters for a filename in DOS? Better to say which are invalid, or even more good to post a routine that checks filename for bad characters, eh? :) } Function ValidFileName(FileName : string) : boolean; assembler; const BadChars : PChar = ' /,;^+[]"=*?|<>'; { these are BAD onez } Asm mov dl,True push ds lds si,FileName cld lodsb xor cx,cx mov cl,al jcxz @@4 @@1: lodsb push ds push cx mov cx,15 lds di,BadChars @@2: scasb jnz @@3 { if not bad char then exec loop } pop cx { restore CX } pop ds { restore DS } dec dl { dl=False } jmp @@4 @@3: loop @@3 pop cx { restore CX } pop ds { restore DS } loop @@1 @@4: pop ds mov al,dl { result 0/1 (False/True) in AL } End; { ValidFileName }