Dans DOSBox 0.74, lorsque j'essaie d'ouvrir une poignée de fichier sur n'importe quel fichier en utilisant la fonction 3ch de int 21h, les données du fichier sont effacées et leur taille est définitivement réduite à 0 octet.
Les fichiers que j'ai testés se trouvaient tous dans le répertoire documents de Windows 10, qui est monté en tant que lecteur E dans DOSBox.
Voici le code à l'origine du problème. Il est censé ouvrir, puis fermer un handle de fichier. CF n'est jamais défini, donc pas de code d'erreur. Le gestionnaire de fichier dans AX est défini sur 5.
mov ax, varData
mov ds, ax ;Load the variable segment into ds
;word variable handle is defined here
;string fname is defined here
mov ah, 3ch ;select open file handle function
lea dx, fname ;dx points to file's name ("TESTFILE")
mov cl, 1 ;read only
int 21h ;open the file handle
mov handle, ax ;copy handle into variable
mov ah, 3eh ;close handle function
mov bx, handle ;closing previously opened file handle
int 21h ;close handle