汇编

Orange'S:一个操作系统的实现 读书笔记-2

###第三章

因为引导扇区空间有限,所以借用Freedos的引导扇区,通过Freedos来调试程序。

从实模式跳转为保护模式的步骤:

  1. 将DESC_CODE32初始化
  2. 把GDT的物理地址填充到GdtPtr中
  3. 将GdtPtr指示的6字节加载到gdtr
  4. 打开A20地址线
  5. 将cr0的第0位置置为0
  6. 跳转至保护模式

GDT/LDT均为描述表。

Orange'S:一个操作系统的实现 读书笔记-1

因为操作系统实验而接触到的书,大略翻了一下,这本书讲的是从细节方面来实现一个操作系统的编写,区别与一些操作系统概念性质的教材,看起来还是不错的。

第一章

这里有一个简单的引导程序boot.asm,大概是最简单的”操作系统”。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0
dw 0xaa55