跟大师学习系统编程---操作系统加载(9)
2017-11-02 08:36
351 查看
为保护模式做准备
X86保护模式编程需要用到全局描述符表和中断描述符表加载中断描述符表和全局描述符表。
全局描述符和中断描述符的相关背景知识请参考xxx
! then we load the segment descriptors end_move: mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) mov ds,ax lidt idt_48 ! load idt with 0,0 lgdt gdt_48 ! load gdt with whatever appropriate
让系统能寻址1M以上的内存
并开启A20地址线(在实模式下只能寻址1M的内存,在保护模式下需要寻址超过1M的内存,所以要把这个开关打开)。虽然打开的方式比较特别(通过键盘控制器),但仍然达到了目标。! that was painless, now we enable A20 call empty_8042 mov al,#0xD1 ! command write out #0x64,al call empty_8042 mov al,#0xDF ! A20 on out #0x60,al call empty_8042
相关文章推荐
- 跟大师学习系统编程---操作系统加载(2)
- 跟大师学习系统编程---操作系统加载(4)
- 跟大师学习系统编程---操作系统加载(5)
- 跟大师学习系统编程---操作系统加载(6)
- 跟大师学习系统编程---操作系统加载(1)
- 跟大师学习系统编程---操作系统加载(3)
- 跟大师学习系统编程---操作系统加载(7)
- 跟大师学习系统编程---操作系统加载(8)
- 跟大师学习系统编程---linux时间换算
- 【前端编程-学习-5】系统加载提示
- 发生系统错误 1275.此驱动程序被阻止加载 寒江孤钓<<windows 内核安全编程>> 学习笔记
- 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
- STM32系统中应用的动态加载可行性研究过程之JavaScript语言的学习<二>
- ROS(机器人操作系统)学习(二)ROS文件系统
- 操作系统(5)--文件系统学习笔记
- Swift 系统学习 24 类相关 存储属性 计算属性 类型属性 延迟加载属性
- 操作系统学习笔记:实时系统
- 操作系统学习笔记:分布式文件系统
- 如何系统的学习 Unity 3D 中的 shader 编写nvidia cg 编程
- 关于编程开发的最小系统学习法