📄 boot.inc
字号:
;
; ExpOS
; Copyright
;
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 定义启动过程参数
;
; fsector.s 软驱启动记录,自举到0x90000
; setup.s 由fsector.s 加载到 0x10000,长2048 字节,
; 其后是以head.s 开始的内核.
; kernel/head.s 内核被setup.s 装载到 0x100000 (1M).
BOOTSEG equ 0x07c0
INITSEG equ 0x9000
SYSSEG equ 0x1000 ; system loaded at 0x10000 (65536).
ENDSEG equ SYSSEG + 0x8000 ;SYSSIZE, 448k
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; memdetct
; e820
;
E820MAP equ 0x2d0 ; our map
E820MAX equ 32 ; number of entries in E820MAP
E820NR equ 0x1e8 ; entries in E820MAP
E820_RAM equ 1
E820_RESERVED equ 2
E820_ACPI equ 3 ;/* usable as RAM once ACPI tables have been read */
E820_NVS equ 4
SMAP equ 0x534d4150
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 传递给内核的参数
; 位于物理地址 0x90000-0x901FF, 长度512 字节
;
BTPASEG equ INITSEG ;传递给内核的参数覆盖引导记录
;boot para seg
HIGH_MEMORY equ (1024*1024)
struc boot
;mem
boot_e820nr:
resb 1
boot_e820map:
resd (2 +2 +1)*E820MAX
; addr size type
endstruc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
extern stuprint
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -