x01.os.7: 傻子一样的等,x01.os.7:傻子


傻子一样的等

昨日出差,办完事后,下午 2:30,准备进长途汽车站买票回家,被一人拦住,说可以带我进去,车马上就要开了,买票来不及。我以为是汽车司机,就跟了进去。进去后,他打了个电话,说 3:30 车才到,让我先把票买了。我把钱给他,他拿了个代客车票的单子,写了几个字给我,说上车时再换票,然后就走了。人已走,车没来,我拿着写了字的纸,感觉像傻子一样的等。3:30,车来了,我凭那张纸,顺利的上了车。是为记。

保护模式

实模式采取 segemnt:offset 的方式,表示 20 位的内存地址。保护模式,段值却变成了索引,指向 descriptor 数据结构,包含基地址,段界限,属性。就像键盘的 key 不是按顺序排列的一样,这个描述符也称得上错落有致。历史原因不去管它,其构成如下图:

不难看出,base 32 位,limit 20 位,attribute 12 位,共 64 位。这就是大名鼎鼎的段描述符。现在,我们就来实现一个保护模式的基本框架。

1.建议安装双系统,参看 win8 硬盘安装 ubuntu:http://www.cnblogs.com/china_x01/archive/2010/11/09/1872739.html

2.进入 ubuntu,在终端中执行如下命令

  sudo apt-get install vgabios bochs bochs-x bximage

这是于渊给出的,但在麒麟中有点问题,还需执行

  sudo apt-get install bochs-sdl

运用时,bochsrc 配置文件开头需添加 display_library : sdl,最后 keyboard_mapping 也要将 x11-pc-us.map 改为 sdl-pc-us.map 。虚拟机安装后,就是开发工具了,执行

  sudo apt-get install build-essential nasm

原则上,这些就够了。你可以用 gedit 或 vi 来开发。但我更喜欢 eclipse,所以可执行

  sudo apt-get install eclipse

如提示需依赖项,可执行

  sudo apt-get  update

当然,CDT 是不可少的。到网上搜素下载,在 eclipse 的 help => install new software 菜单中添加,需注意版本。OK!

3.运行 eclipse,建一 c 空 makefile 项目 x01.os,完整代码可在 x01.Lab.download 中下载。项目中,freedos.img 文件来自 bochs 网站,a.img 由 bximage 创建。在终端中进入 x01.os 目录,执行 bochs,在 bochs 中执行 A:>format B:,对 a.img 进行格式化,退出。进入 /mnt/ 执行 sudo mkdir temp,退出。执行 make all 后,执行 bochs,在 bochs 中输入 A:>B:\boot.com,回车,运行效果图如下:

其中红色的字,数据保存在内存 5M 处,远大于实模式 1M 的限制,进入保护模式无疑。关于代码如 mov ax, 0xAC00; int 0x21; 等的解释,可参看 note 中的 DOS 中断。这就像查字典一样,两向对照,当不太难。如能买本《Orange'S 一个操作系统的实现》,那就更好了。

4.关键部分,是由保护模式跳回实模式。在 .begin 段中,mov [backRealMode + 3], ax 保存的,就是实模式的 segment 地址。在 .code16 段中,backRealMode: jmp 0:realEntry 就是跳回的关键。保存时为什么 +3 ?jmp 1 字节,realEntry 是偏移 2 字节,所以 +3。当执行 backRealMode: jmp 0:realEntry 时,实际上执行的是 jmp segment:realEntry,由此跳回实模式。


我像个傻子一样被你看穿 是哪首歌的歌词

歌曲:傻孩子
歌手:阎韦伶
 

歌词是“我就像一个傻子一样笑着过一天”的歌叫什?

歌曲:另一张脸
歌手:孙燕姿 专辑:完美的一天

刮了一阵大风
莫明奇妙变天
无啊无辜心情会
站在窗前跟着
主唱事实少了我
就是也无所谓
窗与窗都黑暗那一面
不停搁在一边
兴奋掉我的极限
现在又冷又黑的卑观里
就像出现另一张脸
看着这张陌生的脸
自己都讨厌
这的心情起伏不定
没有人了解
这种糊涂想大声哭
觉得活得累
这的一切一切
全都虚伪
我是像个傻子一样
笑着过一天
想要看着你的微笑
相信有明天
想要路上每一分钟
快乐的感觉
偏偏这张脸
在我一直脆弱无奈
有无质的相太白
雪的出现
不了解
刮了一阵大风
莫明奇妙变天
无啊无辜心情会
站在窗前跟着
主唱事实少了我
就是也无所谓
窗与窗都黑暗那一面
不停搁在一边
兴奋掉我的极限
现在又冷又黑的卑观里
就像出现另一张脸
看着这张陌生的脸
自己都讨厌
这个心情起伏不定
没有人了解
这种糊涂想大声哭
觉得活得累
这的一切一切
全都虚伪
我是像个傻子一样
笑着过一天
想要看着你的微笑
相信有明天
想要路上每一分钟
快乐的感觉
偏偏这张脸
在我一直脆弱无奈
有无质的相太白
雪的出现
不了解
看着这张陌生的脸
自己都讨厌
这的心情起伏不定
没有人了解
这种糊涂想大声哭
觉得活得累
这的一切一切
全都虚伪
我是像个傻子一样
笑着过一天
想要看着你的微笑
相信有明天
想要路上每一分钟
快乐的感觉
这张脸
在我一直脆弱无奈
有无质的相太白
雪的出现
不了解
看不见你的脸我的脸
 

相关内容

    暂无相关文章