📄 bootsec.inc
字号:
; bootsec.h :
; 启动扇区通用头文件,定义通用的常量及宏
;
; Copyright(c) 2007, Alex P.Wonder
; phoenixwonder@gmail.com
;
%ifndef _BOOTSEC_H
%define _BOOTSEC_H
FATSz equ 9 ; 一个FAT占用的扇区数
SectorNoOfFAT1 equ 1 ; FAT1表逻辑扇区号
SectorNoOfRootDir equ 19 ; 根目录的起始逻辑扇区号
RootDirSectors equ 14 ; 根目录区占用的字节数
DeltaSectorNo equ 17
BaseOfBoStack equ 0x7fff ; BootSect堆栈
BaseOfLoader equ 0x9000 ; OS初始化模块存放基地址
OffsetOfLoader equ 0x0100 ; OS初始化模块存放偏移地址
BaseOfLoaderPhyAddr equ BaseOfLoader*16
;
; 启动扇区BS+BPB表信息部分
;
%macro DECLARE_BOOTSEC_INFO 0
;==========================================
; FAT12引导扇信息
;==========================================
BS_OEMName db 'Gnilux '
BPB_BytsPerSec dw 512 ; //每扇区字节数
BPB_SecPerClus db 1 ; //每簇扇区数
BPB_BootSecCnt dw 1 ; //启动项占用扇区数
BPB_NrOfFATs db 2 ; //FAT份数
BPB_RootEntCnt dw 224 ; //根目录文件总数
BPB_TotlSecs16 dw 2880 ; //总扇区数(16位长度)
BPB_MediaType db 0xf0 ; //磁盘介质类型
BPB_SecsPerFAT dw 9 ; //FAT占用扇区数
BPB_SecsPerTrk dw 18 ; //每磁道扇区数
BPB_NrOfHeads dw 2 ; //磁头数
BPB_HiddenSecs dd 0 ; //隐藏山区数
BPB_TotlSecs32 dd 0 ; //总扇区数(32位长度), 如果TotlSecs16为0, 这个域纪录扇区总数
BS_DrvNum db 0
BS_Reserved1 db 0
BS_BootSig1 db 0x29
BS_VolID dd 0
BS_VolLabel db 'Gnilux 0.01'
BS_FSType db 'FAT12 '
%endmacro
%endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -