Documentație tehnică

Pagina 21 din 41

Metoda descriptorilor de fișier:

Pentru a deschide fișiere, utilizați funcția 3DH a întreruperii 21H.
DS: DX trebuie să indice un șir care să conțină numele căii și al fișierului, inclusiv






ceaiul, dacă este cazul, numele depozitului. Întreaga linie trebuie să fie
nu mai mult de 63 octeți și terminată cu caracterul ASCII 0. În AL,
pune un cod de acces, 0 deschide fișierul pentru citire, 1 -
pentru scris, și 2 pentru citire / scriere. Dacă întoarceți AX,
Pentru a comprima numărul de fișier pe 16 biți, după care fișierul este ulterior
este fixat. Pointerul fișierului este setat la începutul fișierului.
Dimensiunea înregistrării este setată la 1 octet - acest lucru se datorează faptului că,
că operațiile de acces direct la utilizarea metodei descriptorilor
Fișierele nu au buffere speciale: de fapt fișiere cu direct
accesul este considerat ca secvențial și lucrează cu aceștia
aceleași funcții. Această funcție vă permite să deschideți ca de obicei.
și fișiere ascunse. La întoarcere, steagul de transportare este 0,






dacă fișierul este deschis cu succes. În caz contrar, steagul de transportare
AX conține 2 dacă fișierul nu este găsit, 4 dacă
programul dorește să deschidă prea multe fișiere, 6 - la eroare
disc și 12 - dacă codul de acces în AL este specificat incorect. aici pri-
măsuri:

; - în segmentul de date
PATH DB 'A: LEVEL1 \ FILENAME.EXT', 0

; --- deschideți fișierul pentru citire / scriere
MOV AH, 3DH; numărul funcției
MOV AL, 2; deschis pentru citire / scriere
LEA DX, PATH; DS: DX indică calea
INT 21H; deschideți fișierul
JC OPEN_ERROR; tratarea erorilor
MOV HANDLE, AX; salvați numărul fișierului

Funcția de întrerupere 3EH 21H închide fișierul deschis prin metoda
descriptor de fișiere. Trebuie doar să puneți numărul fișierului în BX și pe tine
Funcția completă. La întoarcere, steagul de transfer este 0 dacă totul este în
ordine, altfel este 1 și AX = 6 dacă este specificat un număr greșit
fișier.

; - închiderea fișierului
MOV AH, 3EH; numărul funcției
MOV BX, HANDLE; numărul fișierului
INT 21H; închideți fișierul
JC CLOSE_ERROR; tratarea erorilor

Funcția de întrerupere 45H a 21H creează un al doilea descriptor de fișier din
descriptorul deschis existent. BX trebuie specificat
Numărul existent, iar în AX cel nou va fi returnat. Funcția 46H
întrerupe 21H leagă al doilea descriptor (plasat în CX) cu
fișier deschis (numărul în BX) în așa fel încât prima
se va referi la același fișier și dispozitiv ca acesta din urmă.







Articole similare

Trimiteți-le prietenilor: