hello all , as you see in FAT12 , it says 0xFF8 - 0xFFF are used to indicate the Last cluster in file, my question is , why do we have this range for specifying the end of file!!? we could easily use 0xFFF as the indicator (or vice versa), then having this said ,the 0xff8 is in vein and thus completely useless ! :shock:
another question related to this topic is that , why cant we use those last addresses for our clusters ?

i would be very thankful if anyone help me get this ,

i myself thought of it as following but it seems im wrong :

could it be that because 0xFF8-0xFFF equals 4088-4095 which exceeds the number of actual clusters usable in Fat12 structure ?
i mean because starting from 0xFF8 means the cluster you are looking for doesn't exist , ( or you have passed the boundary which specifies the last usable cluster in FAT12)
(cluster counts is 4078(0xfee) under windows, and 4084(0xff4) under linux)
we have 0x000 to 0xFFF as the range for our addresses ,and according to below:
FAT12-------------Description
0x000-------------Free Cluster
0x001-------------Reserved value; do not use
*0x002–0xFEF----- Used cluster;value points to next cluster(so this means usable clusters are up to 4079, the rest are for other purposes as you see below)
0xFF0–0xFF6-------Reserved values; do not use
0xFF7---------------Bad sector in cluster or reserved cluster
0xFF8–0xFFF--------Last cluster in file(and what remains is used to specify the end of file , actually it is used to say that you have passed the last usable cluster )


*: this actually says for addressing our clusters we have 0x002 up to 0xFEE choices(because in FAT12 there only 4077 clusters that we can use ? (why?!)) .
starting from FF0 , we address special cases , up till FF8,
From FF8 to the very end of usable addressing range which is FFF , we use the values to say what you are looking for does not exist , or there are only <FEF number of clusters you could use, now the number you specified is not in that range ,so we use it to say you reached your end of file.



am i right?
i really need to know this ,
thank you in advance