Sto scrivendo una procedura di I / O per i nomi di file in linguaggio assembly x86-16. Richiede otto caratteri (non ho bisogno di supportare nomi di file lunghi) dalla tastiera e li stampa su un campo di immissione testo su schermo.
Al momento sto permettendo numeri, lettere maiuscole / minuscole, caratteri di sottolineatura e trattini.
Vorrei consentire tutti i simboli legali, ma non riesco a trovare un elenco ufficiale di personaggi vietati. Il buon senso mi dice che le barre sono illegali, ma se dovessi indovinare, direi che il carattere positivo è legale. (modifica: non lo è!)
Sto già ignorando il carattere punto poiché il mio codice gestisce automaticamente l'aggiunta del periodo e l'estensione del file.
+,;[]
, spazio e a-z
sono consentiti in Windows ma non in DOS. Explorer mi dà l'errore "Un nome file non può contenere nessuno dei seguenti caratteri \ / : * ? " < > |
che è solo un sottoinsieme dei caratteri vietati in DOS