struc BootSector
bsJump db 3 dup (?) ; E9 XX XX or EB XX 90
bsOemName db "????????" ; OEM name and version
;; Start of BIOS parameter block
bsBytesPerSec dw ? ; Bytes per sector
bsSecPerClust db ? ; Sectors per cluster
bsResSectors dw ? ; No. of reserved sectors
bsFATs db ? ; No. of file allocation tables
bsRootDirEnts dw ? ; No. of root-directory entries
bsSectors dw ? ; Total no. of sectors (0 if > 32 MB)
bsMedia db ? ; Media descriptor
bsFATsecs dw ? ; No. of sectors per FAT
bsSecPerTrack dw ? ; Sectors per track
bsHeads dw ? ; No. of heads
bsHiddenSecs dd ? ; No. of hidden sectors
bsHugeSectors dd ? ; No. of sectors if bsSectors = 0
;; End of BIOS parameter block
bsDriveNumber db ? ; Drive no. (80h=1st hard disk, else 0)
bsReserved1 db ? ; Reserved
bsBootSignature db ? ; Extended boot signature (29h)
bsVolumeID dd ? ; Volume serial number
bsVolumeLabel db 11 dup (?) ; Volume label
bsFileSysType db 8 dup (?) ; File-system type (e.g. "FAT12 ")
ends

; The BootSector structure contains information about the disk
; (or other storage medium) for a particular drive. The
; structure appears at the beginning of the first sector (the
; boot, or startup, sector) of the disk.
; The BootSector structure shares the first sector with the
; bootstrap routine and the boot sector signature. The boot
; sector signature, stored in the last two bytes of the sector,
; must be 0AA55h.