📄 start.s.svn-base
字号:
SECTION .textBITS 32global startstart: mov esp, sys_stack jmp initinit:extern mainextern install_desc call install_desc call main jmp $ global gdt_flushgdt_flush: cld lgdt [app_gdt_ram] mov ebx, cr0 or ebx, pe_bit mov cr0, ebx mov cx, magic_no mov ds, cx mov es, cx mov fs, cx mov gs, cx jmp 0x08:flushglobal idt_load idt_load: lidt [app_idt_ram] retflush: ret;*******************************************************************************; GRUB Header;******************************************************************************* MULTIBOOT_PAGE_ALIGN equ 1<<0 MULTIBOOT_MEMORY_INFO equ 1<<1 MULTIBOOT_HEADER_MAGIC equ 0x1BADB002 MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO MULTIBOOT_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + \ MULTIBOOT_HEADER_FLAGS) EXTERN code, bss, endalign 4 dd MULTIBOOT_HEADER_MAGIC dd MULTIBOOT_HEADER_FLAGS dd MULTIBOOT_CHECKSUM ;******************************/ End GRUB Header /******************************SECTION .data cs_base equ 0xFFFF0000 ram_start equ 0x400 tss_index equ 0xA linear_proto_lo equ 0x0000FFFF linear_proto_hi equ 0x00CF9200 pe_bit equ 1b magic_no equ 0x010 extern app_gdt_ram extern app_idt_ram SECTION .bss resb 8192sys_stack:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -