30天自制操作系统 下载本文

第1天

从计算机结构到汇编程序入门

??先动手操作 ??究竟做了些什么 ??初次体验汇编程序 ??加工润色

11

先动手操作

与其啰啰嗦嗦地写上一大堆,还不如实际动手开发来得轻松,我们这就开始吧。而且我们一

上来就完全抛开前面的说明,既不用C语言,也不用汇编程序,而是采用一个迥然不同的工具来 进行开发(笑)。

■■■■■

有一种工具软件名为―二进制编辑器‖(Binary Editor)①,是一种能够直接对二进制数进行 编辑的软件。我们现在要用它来编辑出下图这样的文件。

也许有人会说―这样的工具我从来没有见过呀‖,没关系,下面我们来详细地介绍一下。 首先打开下面这个网页:

http://www.zob.ne.jp/~c.mos/soft/bz.html②

——————————

① 原文直译为―二进制编辑器‖(Binary Editor),在中国―二进制编辑器‖―十六进制编辑器‖这两种说法都有,、 这里尊重原著保留了―二进制编辑器‖的说法。——译者注

② 如果此网页连接不上,也可用google等检索工具来搜索一下,从别处下载Bz1621.lzh。

14 …… 第 1 天:从计算机结构到汇编程序入门

用BZ打开helloos.img时的画面

点击―在此下载‖(Download)的链接,下载文件Bz1621.lzh (在此非常感谢c.mos公司无偿

公开这么好的软件)。当你读到本书的时候,也许会有新的版本发布,所以文件名可能会有所不 同。接下来,安装下载下来的文件,然后双击启动Bz.exe程序。如果不能正常启动的话,可以参 考上面网页的―★注意★‖一项,按照上面的安装指导进行操作。

顺利启动的话屏幕上会出现如下画面。

BZ起动时的画面

好,让我们赶紧来输入吧,只要从键盘上直接输入EB4E904845……就可以了,简单吧。其

中字符之间的空格是这个软件在显示时为方便阅读自动插入的,不用自己从键盘上输入。另外, 右边的.N.HELLOIPL……部分,也不用从键盘输入,这是软件自动显示的。可能版本或者显示模 式不一样的时候,右侧显示的内容会与下面的截图有所不同。不过不用往心里去,这些内容完全 是锦上添花的东西,即使不一样也没事。

输入到000037位置时的画面

1 先动手操作 …… 15

从000090开始后面全都是00,一直输入到最后168000这个地址。如果一直按着键盘上的―0‖ 不放手的话,画面上的0就会不停地增加,但因为个数相当多,也还是挺花时间的。如果家里有 只猫的话,倒是可以考虑请它来帮忙按住这个键(日本的谚语:想让猫来搭把手,形容人手不足, 连猫爪子都想借用一下),或者也可以干脆就用透明胶把这个键粘上。

1 1 3 20 21 22

168000附近的画面

因为一下子输入到最后实在是挺花时间的,大家也许想保存一下中间结果,这时可以从菜单 上选择―文件‖(File)→―另存为‖(Save As),画面上就会弹出保存文件的对话框。我们可以 随便取个名字进行保存,笔者推荐使用―helloos.img‖。当想要打开保存过的文件时,首先要启 动Bz.exe,从菜单上选择―文件‖(File)→―打开‖(Open),然后选择目标文件,这样原来保存 的内容就能显示出来了。可是这个时候不管我们怎么努力按键盘,它都一点反应也没有。这是怎 么回事?难道必须要一次性输入到最后吗?这个大家不必担心,其实只要从菜单里选择―编辑‖ (Edit)→―只读‖(Read Only)就可以进入编辑状态啦。好了,我们继续输入。

7 8 9 10 11 12 13 14 15

如果家里的猫自由散漫惯了,不肯帮忙,而大家又不想用透明胶粘键盘这种土方法的话,不 妨这样:用鼠标选择一部分0,然后从菜单选择―编辑‖(Edit)→―复制‖(Copy)。简简单单复 制粘贴几次就可以大功告成了,这工具还真方便呀。

哦,对了,差点忘记一件重要的事——在地址0001F0和001400附近还有些地方不全是00,要 像下图那样把它们也改过来,然后整体检查一下,确认没有输入错误。

0001F0附近

16

16 …… 第 1 天:从计算机结构到汇编程序入门

001400附近

下面,我们把输入的内容保存下来就完成了软盘映像文件的制作,这时查看一下文件属性, 应该能看到文件大小正好是1474560字节(=1440×1024字节)。然后我们将这个文件写入软盘(具 体后述),并用它来启动电脑。如下所示,画面上会显示出―hello, world‖这个字符串。目前的 程序虽然简单,但毕竟一打开电脑它就能够自动启动,还能在屏幕上显示出一句话来,已经小小 成功了哦。不过,我们现在还没有结束这个程序的方法,所以想要结束的时候,只能把软盘取出 来后切断电脑电源,或者重新启动。

至于最关键的往磁盘上写映像文件的方法,笔者已经预先准备好了一个程序。在介绍它的使 用方法之前,我们先把笔者准备的工具全都安装进来吧,这样后面讲解起来比较省事。下面我们 就来看怎么安装这些工具。

■■■■■

打开附带光盘,里面有一个名为tolset①的文件夹,把这个文件夹复制到硬盘的任意一个位置 上。现在里面的东西还不多,只有3MB左右,不过以后我们自己开发的软件也都要放到这个文件 夹里,所以往后它会越来越大,因此硬盘上最好留出100MB左右的剩余空间。工具安装到此结束, 我们既不用修改注册表,也不用设定路径参数,就这么简单。而且以后不管什么时候,都可以把 这整个文件夹移动到任何其他地方。用这些工具,我们不仅可以开发操作系统,还可以开发简单 的Windows应用程序或OSASK应用程序等。 ——————————

① tool set的缩写,―工具套件‖的意思。