boot.inc

来自「从网上下载的一个自己编写的简单的操作系统源代码,对底层了解很有好处的」· INC 代码 · 共 68 行

INC
68
字号
;
; 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 + =
减小字号Ctrl + -
显示快捷键?