Pārlūkot izejas kodu

fix: fix some spell error

runningwater 1 gadu atpakaļ
vecāks
revīzija
4e00869f3f
4 mainītis faili ar 20 papildinājumiem un 19 dzēšanām
  1. 18 17
      boot/include/boot.inc
  2. 0 0
      boot/loader.asm
  3. 0 0
      boot/mbr.asm
  4. 2 2
      boot/readme.md

+ 18 - 17
boot/include/boot.inc

@@ -3,7 +3,7 @@ MBR_BASE_ADDR equ 0x7c00   ; mbr 在内存中的位置
 LOADER_BASE_ADDR equ 0x900 ; loader 在内存中的位置 
 LOADER_START_SECTOR equ 0x2 ; loader 在硬盘上的逻辑扇区地址,即 LBA 地址 
 
-;---------------------------- GDT 描述符属性 -----------------------------------------------------------------------------------------------------------------------
+; ---------------------------- GDT 描述符属性 -----------------------------------------------------------------------------------------------------------------------
 ; 段描述符格式
 ;  31~24  23  22  21  20  19~16   15  14~13 12  11~8   7~0
 ;  ----------------------------------------------------------
@@ -14,29 +14,30 @@ LOADER_START_SECTOR equ 0x2 ; loader 在硬盘上的逻辑扇区地址,即 LBA 
 ;  ----------------------------------------------------------
 ; |         Base                |        Limit              |
 ;  ----------------------------------------------------------
+;
+DESC_G_4K equ 1000_0000_0000_0000_0000_0000b
+DESC_D_32 equ  100_0000_0000_0000_0000_0000b
 
-DESC_G_4K equ 1OOO_OOOO_OOOO_OOOO_OOOO_OOOOb
-DESC_D_32 equ  1_OO_OOOO_OOOO_OOOO_OOOO_OOOOb
-DESC_L    equ   0_OOOOOOOOOOOOOOOOOOOOOb   ; 64 位代码标记,不设置, clear(0)
-DESC_AVL  equ    0_OOOOOOOOOOOOOOOOOOOOb   ; Reserved for future use
+DESC_L   equ 00_0000_0000_0000_0000_0000b    ; 64 位代码标记,不设置, clear(0)
+DESC_AVL equ  0_0000_0000_0000_0000_0000b    ; Reserved for future use
 
-DESC_LIMIT_CODE2  equ 1111_0000_0000_0000_0000b
+DESC_LIMIT_CODE2  equ 11110000000000000000b
 DESC_LIMIT_DATA2  equ DESC_LIMIT_CODE2
-DESC_LIMIT_VIDEO2 equ 0000_0000_0000_0000_0000b
+DESC_LIMIT_VIDEO2 equ 00000000000000000000b
 
-DESC_P     equ 1000_0000_0000_0000b  ; 段是否存在。由 CPU 来检查,如果为 0,CPU 将抛出异常
+DESC_P     equ 1000000000000000b  ; 段是否存在。由 CPU 来检查,如果为 0,CPU 将抛出异常
 
 ; DPL 表示 4 种特权级,分别是 0、1、2、3 级特权,数据越小,特权越大
-DESC_DPL_0  equ 000_0000_0000_0000b
-DESC_DPL_1  equ 010_0000_0000_0000b
-DESC_DPL_2  equ 100_0000_0000_0000b
-DESC_DPL_3  equ 110_0000_0000_0000b
+DESC_DPL_0  equ 000000000000000b
+DESC_DPL_1  equ 010000000000000b
+DESC_DPL_2  equ 100000000000000b
+DESC_DPL_3  equ 110000000000000b
 
-DESC_S_CODE    equ 1_0000_0000_0000b ; s 为 0 表示系统段,S 为 1 表示非系统段
+DESC_S_CODE    equ 1000000000000b ; s 为 0 表示系统段,S 为 1 表示非系统段
 DESC_S_DATA    equ DESC_S_CODE
-DESC_S_SYS     equ 0_0000_0000_0000b
-DESC_TYPE_CODE equ 1000_0000_0000b    ; x=1,c=0,r=0,a=0 代码是可执行的,非一致性,不可读,已访问位 a 清 0
-DESC_TYPE_DATA equ 0010_0000_0000b    ; x=0,e=0,w=1,a=0 数据段是不可执行的,向上扩展,可写,已访问位 a 清 0
+DESC_S_SYS     equ 0000000000000b
+DESC_TYPE_CODE equ 100000000000b   ; x=1,c=0,r=0,a=0 代码是可执行的,非一致性,不可读,已访问位 a 清 0
+DESC_TYPE_DATA equ 001000000000b    ; x=0,e=0,w=1,a=0 数据段是不可执行的,向上扩展,可写,已访问位 a 清 0
 
 DESC_CODE_HIGH4 equ (0x00 << 24) + DESC_G_4K + DESC_D_32 + DESC_L + DESC_AVL + DESC_LIMIT_CODE2 + DESC_P + DESC_DPL_0 + DESC_S_CODE + DESC_TYPE_CODE + 0x00
 DESC_DATA_HIGH4 equ (0x00 << 24) + DESC_G_4K + DESC_D_32 + DESC_L + DESC_AVL + DESC_LIMIT_CODE2 + DESC_P + DESC_DPL_0 + DESC_S_DATA + DESC_TYPE_DATA + 0x00
@@ -47,5 +48,5 @@ RPL0 equ 00b
 RPL1 equ 01b
 RPL2 equ 10b
 RPL3 equ 11b
-TI_GDT equ 000b 
+TI_GDT equ 000b
 TI_LDT equ 100b

boot/loader.S → boot/loader.asm


boot/mbr.s → boot/mbr.asm


+ 2 - 2
boot/readme.md

@@ -1,8 +1,8 @@
 1. `boot.inc` 文件放置在 `include` 目录下,所以编译的时候需要添加 `-I` 参数
 
     ```sh
-       boot git:(master) ✗ nasm -I include/ -o mbr.bin mbr.s
-       boot git:(master) ✗ nasm -I include/ -o loader.bin loader.S
+       boot git:(master) ✗ nasm -I include/ -o mbr.bin mbr.asm
+       boot git:(master) ✗ nasm -I include/ -o loader.bin loader.asm
     ```
 
 2. 用 `dd` 命令将 mbr.bin 写入虚拟硬盘 `dd if=./mbr.bin of=/此处替换成你的安装目录