8086内存布局
起始 | 结束 | 大小 | 用途 |
---|---|---|---|
FFFF0 | FFFFF | 16 B | BIOS 入口地址,此地址也属于BIOS 代码,这16 字节的内容是为了执行跳转指令 |
F0000 | FFFEF | 64KB-16B | 系统BIOS 的地址范围实际上是F000-FFFFF ,上面是入口地址,所以单独列出 |
C8000 | EFFFF | 160KB | 映射硬件适配器的ROM 或内存映射式I/O |
C0000 | C7FFF | 32KB | 显示适配器BIOS |
B8000 | BFFFF | 32KB | 文本模式显示适配器 |
B0000 | B7FFF | 32KB | 黑白显示适配器 |
A0000 | AFFFF | 64KB | 彩色显示适配器 |
9FC00 | 9F000 | 1KB | EBDA(Extended BIOS Data Area) 扩展BIOS 数据区 |
7E00 | 9FBFF | ≈608KB | 可区域用 |
7C00 | 7DFF | 512B | MBR 被BIOS 加载区域 |
500 | 7BFF | ≈30KB | 可区域用 |
400 | 4FF | 256B | BIOS Data Area |
000 | 3FF | 1KB | Interrupt Vector Table 中断向量表 |
启动过程
-
启动计算机,寄存器被初始化
CS: FFFF IP:0000 -
跳转到下一个地址 F000: 005C
CS: F000 IP: 005C -
计算机一次执行BIOS中的指令
-
BIOS将主引导扇区中的内容加载到内存地址为0x07C00处
-
BIOS最后一条指令为跳转到地址为0000: 7C00处
CS: 0000 IP: 7C00 -
计算机开始执行主引导扇区的指令
-
…
读取磁盘
读取磁盘时BX寄存器默认的段基址为DS
INT 10H中断
- bl控制属性:b7控制字符是否闪烁,b6-b4为背景色,b3-b0为前景色