lab7-fix2023/boot/grub/include/loader.inc
2023-11-22 16:16:24 +08:00

62 lines
2.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;==============================================================================================================================
BaseOfStack equ 0x0100
STACK_ADDR equ 0x0ea
SEG_ADDR equ 0x09000
DATA_BUF_OFF equ 0x09000
FAT_START_SECTOR equ 0x820 ; FAT表的起始扇区号 DWORD
DATA_START_SECTOR equ 0xd6a ; 数据区起始扇区号 DWORD
DIR_PER_SECTOR equ 0x10 ; 每个扇区所容纳的目录 BYTE
; 扩展磁盘服务所使用的地址包
DAP_SECTOR_HIGH equ 4 ; 起始扇区号的高32位 ( 每次调用需要重置 ) DWORD
DAP_SECTOR_LOW equ 8 ; 起始扇区号的低32位 ( 每次调用需要重置 ) DWORD
DAP_BUFFER_SEG equ 10 ; 缓冲区段地址 ( 每次调用需要重置 ) WORD
DAP_BUFFER_OFF equ 12 ; 缓冲区偏移 ( 每次调用需要重置 ) WORD
DAP_RESERVED2 equ 13 ; 保留字节
DAP_READ_SECTORS equ 14 ; 要处理的扇区数(1 - 127 )
DAP_RESERVED1 equ 15 ; 保留字节
DAP_PACKET_SIZE equ 16 ; 包的大小为16字节
CURRENT_CLUSTER equ 20 ; 当前正在处理的簇号 DWORD
; 目录项结构
OFF_START_CLUSTER_HIGH equ 20 ; 起始簇号高位 WORD
OFF_START_CLUSTER_LOW equ 26 ; 起始簇号低位 WORD
; 相关常量
DIR_NAME_FREE equ 0x00 ; 该项是空闲的
DIR_ENTRY_SIZE equ 32 ; 每个目录项的尺寸
; 簇属性
CLUSTER_MASK equ 0FFFFFFFH ; 簇号掩码
CLUSTER_LAST equ 0FFFFFF8H ;0xFFFFFFF8-0xFFFFFFFF表示文件的最后一个簇
BaseOfLoader equ 09000h ; LOADER.BIN 被加载到的位置 ---- 段地址
OffsetOfLoader equ 0100h ; LOADER.BIN 被加载到的位置 ---- 偏移地址
BaseOfLoaderPhyAddr equ BaseOfLoader * 10h ; LOADER.BIN 被加载到的位置 ---- 物理地址 (= BaseOfLoader * 10h)
BaseOfKernelFile equ 06000h ; KERNEL.BIN 被加载到的位置 ---- 段地址
OffsetOfKernelFile equ 0h ; KERNEL.BIN 被加载到的位置 ---- 偏移地址
BaseOfKernelFilePhyAddr equ BaseOfKernelFile * 10h
BaseOfEchoFile equ 07E0h ; KERNEL.BIN 被加载到的位置 ---- 段地址
OffsetOfEchoFile equ 0h ; KERNEL.BIN 被加载到的位置 ---- 偏移地址
BaseOfEchoFilePhyAddr equ BaseOfKernelFile * 10h
KernelEntryPointPhyAddr equ 0xC0030400 ; 注意1、必须与 MAKEFILE 中参数 -Ttext 的值相等!!
; 2、这是个地址而非仅仅是个偏移
PageDirBase equ 200000h ; 页目录开始地址: 2M
PageTblBase equ 201000h ; 页表开始地址: 2M + 4K
PageTblNumAddr equ 500h;页表数量放在这个位置 delete by visual 2016.4.28
FMIBuff equ 007ff000h
;==============================================================================================================================