fasm完成一个简单的FAT12的镜像文件,方便裸机编程,以自己动手写操作系统的FAT12布局为例。
;-----------------------------------------------------------------------
;--===-- FAT12 image file make By G-Spider
;--===-- fasm startOS.asm startOS.img
;-----------------------------------------------------------------------
; here is map of how the FAT12 system is laid out
;|----------------------------------------------------------------------|
;|BootSector| FAT table 1| FAT table 2 | Root Directory| Data Region |
;|512 bytes | 4,608 bytes| 4,608 bytes | 7,168 bytes | 1,457,664 bytes|
;|1 sector | 9 sectors | 9 sectors | 14 sectors | 2,847 sectors |
;|______________________________________________________________________|
;-----------------------------------------------------------------------
;BootSector
;-----------------------------------------------------------------------
file 'myboot.bin' ;0号扇区 512Byte
;-----------------------------------------------------------------------
;FAT table 1
;-----------------------------------------------------------------------
FATEntry:
db 00h,00h,00h,0ffh,0fh ;有效位 奇:0ffh,0fh 偶:0f0h,0ffh
FATEntrySize = $-FATEntry
db 9*512-FATEntrySize dup(0) ;FAT1 01~09号扇区
;-----------------------------------------------------------------------
;FAT table 2
;-----------------------------------------------------------------------
db 00h,00h,00h,0ffh,0fh
db 9*512-FATEntrySize dup(0) ;FAT2 10~18号扇区
;-----------------------------------------------------------------------
;Root Directory
;-----------------------------------------------------------------------
RootDir: ;19号扇区