; FAT12 磁盘的头
; ----------------------------------------------------------------------
BS_OEMName DB 'MarcusOS' ; OEM String, 必须 8 个字节
BPB_BytsPerSec DW 512 ; 每扇区字节数
BPB_SecPerClus DB 1 ; 每簇多少扇区
BPB_RsvdSecCnt DW 1 ; Boot 记录占用多少扇区
BPB_NumFATs DB 2 ; 共有多少 FAT 表
BPB_RootEntCnt DW 224 ; 根目录文件数最大值
BPB_TotSec16 DW 2880 ; 逻辑扇区总数
BPB_Media DB 0xF0 ; 媒体描述符
BPB_FATSz16 DW 9 ; 每FAT扇区数
BPB_SecPerTrk DW 18 ; 每磁道扇区数
BPB_NumHeads DW 2 ; 磁头数(面数)
BPB_HiddSec DD 0 ; 隐藏扇区数
BPB_TotSec32 DD 0 ; 如果 wTotalSectorCount 是 0 由这个值记录扇区数
BS_DrvNum DB 0 ; 中断 13 的驱动器号
BS_Reserved1 DB 0 ; 未使用
BS_BootSig DB 29h ; 扩展引导标记 (29h)
BS_VolID DD 0 ; 卷序列号
BS_VolLab DB 'Marcusxings'; 卷标, 必须 11 个字节
BS_FileSysType DB 'FAT12 ' ; 文件系统类型, 必须 8个字节
;------------------------------------------------------------------------
;-------------------------------------------------------------------------
; 基于 FAT12 头的一些常量定义,如果头信息改变,下面的常量可能也要做相应改变
;-------------------------------------------------------------------------
Root_Dir_Sector_Index equ 19 ;根目录扇区的索引
Root_Dir_Sector_Number equ 14 ;根目录扇区的数目
File_Number_Per_Sector equ 16 ;根目录一个扇区所能描述的文件数量
File_Item_Byte_Number equ 32 ;根目录中一个条款占用的字节数
FAT_Offset_In_File_Item equ 1ah ;此文件在FAT中的序号在文件条款中的偏移
Byte_Number_Per_Sector equ 512 ;一个扇区的字节数