⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boot.inc

📁 从网上下载的一个自己编写的简单的操作系统源代码,对底层了解很有好处的
💻 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 + -