MILC logo

IndexVorigeVolgendeLeeg

Beschrijving van de FAT
CYBERNETICS, 01-09-94


    
                         De File Allocation Tabel (FAT)
                        ================================

De FAT start op sector 1. De lengte (aantal sectoren) is afhankelijk van het 
mediumtype. De FAT is opgedeeld in groepjes van 1,5 bytes, ofwel groepjes van 
12 bits. De groepjes kunnen de volgende inhoud hebben:

Inh.:	Betekenis:
==============================================================================
000   - Het cluster is vrij (wordt niet gebruikt).

FF7   - Het cluster bevat een "bad" sector. Het betreffende cluster zal door 
	MSXDOS niet worden toegekend aan een file.

FF8   - FF8 of hoger geeft het laatste aan een file toegekende cluster aan.

xxx   - Elke andere waarde dan een hiervoor genoemde waarde geeft het nummer 
	van het volgende cluster in de file aan.


FAT:    bitnr:  _7__6__5__4__3__2__1__0_
        byte 0 |___________             |  <--- FAT element 0
        byte 1 |           |____________|
        byte 2 |________________________|  <--- FAT element 1
        byte 3 |___________             |  <--- FAT element 2
        byte 4 |           |____________|
        byte 5 |________________________|  <--- FAT element 3


Om de FAT te kunnen lezen dient u de volgende procedure aan te houden:

- Vermenigvuldig het laatst gebruikte clusternummer met 1,5. Het gehele deel 
  van het resultaat van de vermenigvuldiging is een pointer.
- Gebruik de pointer om de FAT-entry van het in gebruik zijnde cluster te 
  lezen. In deze entry vindt u het clusternummer van het volgende cluster dat  
  door de file wordt gebruikt (zie hierna).
- Lees de 3 bytes vanaf het byte dat met de pointer wordt aangewezen.
- Indien het laatst gelezen clustereen even nummer had, dan bevatten de 12 
  least significant bits van de 3 bytes het nummer van het volgende cluster in 
  de file. Had de laatst gelezen cluster een oneven nummer, dan bevatten de 12 
  most significant bits van de 3 bytes het nummer van de volgende cluster in 
  de file.
- Trek 2 af van het gevonden clusternummer (het volgende clusternummer in de 
  file).
- Vermenigvuldig het resultaat van de aftrekking met het aantal sectoren per 
  cluster.
- Tel de gevonden waarde op bij het sectornumer van de eerste data sector en u 
  hebt het sectornummer, waarop het betreffende cluster (het volgende cluster 
  in de file) begint, gevonden. (Nvdr. is dat alles?)

    

Index

Vorige

Volgende