跟大师学习系统编程---操作系统加载(8)
来源:互联网 发布:javashop最新源码下载 编辑:程序博客网 时间:2024/06/06 00:22
移动主程序从地址开始执行
当前根据BIOS中断读取系统硬件参数的职责已经完成,可以覆盖中断向量表以及对应的一些中断处理程序了。所以现在先屏蔽所有中断,并将system(除bootsect.s, setup.s以外操作系统映像的其余部分)
从0x10000~0x90000移动到0x00000~0x80000位置
虽然只需要移动0x10000~0x40000部分,多移动一些也没有关系。
这样可以应对未来一段时间kernel image的增长。
为何要移动到0地址开始的地方
代码如下
! now we want to move to protected mode ... cli ! no interrupts allowed !! first we move the system to it's rightful place mov ax,#0x0000 cld ! 'direction'=0, movs moves forwarddo_move: mov es,ax ! destination segment add ax,#0x1000 cmp ax,#0x9000 jz end_move mov ds,ax ! source segment sub di,di sub si,si mov cx,#0x8000 rep movsw jmp do_move! then we load the segment descriptorsend_move:
阅读全文
0 0
- 跟大师学习系统编程---操作系统加载(8)
- 跟大师学习系统编程---操作系统加载(1)
- 跟大师学习系统编程---操作系统加载(2)
- 跟大师学习系统编程---操作系统加载(3)
- 跟大师学习系统编程---操作系统加载(4)
- 跟大师学习系统编程---操作系统加载(5)
- 跟大师学习系统编程---操作系统加载(6)
- 跟大师学习系统编程---操作系统加载(7)
- 跟大师学习系统编程---操作系统加载(9)
- 跟大师学习系统编程---linux时间换算
- windows游戏编程大师技巧2学习感悟(1)
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 跟择善老师系统学习JAVA(一)
- 跟安全技术大师学习黑客攻防技术 ——《黑客攻防技术宝典:web实战篇》
- 《WINDOWS游戏编程大师技巧》学习笔记1
- 《3D游戏编程大师技巧》——学习笔记
- widnows游戏编程大师技巧 Draw_Line 的学习
- 推荐一个公众号【前端日刊】,干货很多
- 图文解说 JavaScript this 到底指向什么?
- 2017年“双十一”剁手党史上最全面购物指南
- Bootstrap学习笔记 06
- KMP 算法模板
- 跟大师学习系统编程---操作系统加载(8)
- 6-4 链式表的按序号查找(10 point(s))
- NOIP复赛复习(六)算法分析与排序模板
- 福利 | 与院士和业界翘楚共话智能无人系统!
- Google Java Style 中文版
- 理解模型——用树的概念理解递归
- 6-5 链式表操作集(20 point(s))
- 讲给Android程序员看的前端教程(15)——CSS选择器(5)
- 客制化键盘之GH60折腾