首页 操作系统DIY手册(第四课)

操作系统DIY手册(第四课)

举报
开通vip

操作系统DIY手册(第四课)Write Your Own Operating System Tutorial Write Your Own Operating System Tutorial 操作系统DIY手册 © 2001 by Joel Gompert jgompert@cse.unl.edu Translated by Kasi kasicass@163.com 第四课:Hello, World Lesson 4: Hello, World 令人兴奋的时刻即将到来,我们将向真正意义上的“第一个”操作系统迈进。每本程序书似乎都离不开“He...

操作系统DIY手册(第四课)
Write Your Own Operating System Tutorial Write Your Own Operating System Tutorial 操作系统DIY手册 © 2001 by Joel Gompert jgompert@cse.unl.edu Translated by Kasi kasicass@163.com 第四课:Hello, World Lesson 4: Hello, World 令人兴奋的时刻即将到来,我们将向真正意义上的“第一个”操作系统迈进。每本程序书似乎都离不开“Hello, World”这个例子,我们当然也不能免俗啦。这一课就让我们建立一个只会显示一句“Hello, World”的操作系统。如果你前面已经尝试过建立这样的程序,那么可直接跳到下一课。 如果显示“Hello, World”的每一个字符都需要写一段代码,那将烦琐之至。所以我们写一个函数,它可显示一指定的字符串(以’0’作为结束符)。其实函数仅仅是循环地将字符串中的字符一一显示,代码很简单: ; --------------------------------------------- ; Print a null-terminated string on the screen ; --------------------------------------------- putstr: lodsb ; AL = [DS:SI] or al, al ; Set zero flag if al=0 jz putstrd ; jump to putstrd if zero flag is set mov ah, 0x0e ; video function 0Eh (print char) mov bx, 0x0007 ; color int 0x10 jmp putstr putstrd: retn 让我们来看看如何使用这个函数。首先,你需将“要显示之字符串”的首地址载入寄存器SI。然后调用函数putstr。用下面的方法在汇编源文件中建立字符串: msg db 'Hello, World!', 0 ; 注意,要以’0’结尾 然后,将字符串显示到屏幕: mov si, msg ; Load address of message call putstr ; Print the message msg的值(已加载到SI),其实是以数据段(data segment,其指向的地址存在寄存器DS中)为起始的偏移量(offset)。所以,在使用msg之前,必须将数据段(data segment)设初值。对于当前的情况,我们是从物理内存的最底部(从0开始计算)开始寻址,所以寄存器DS置为0即可。(For now, we will use flat addressing from the bottom of physical RAM. To set the data segment to start from the bottom, set the DS register to zero) 下面的代码就是完成这个任务的: xor ax, ax ; Zero out ax mov ds, ax ; Set data segment to base of RAM (注:段寄存器、偏址等知识,可参阅汇编语言教程,这里作详细说明。顺带提一下,CPU中的很多寄存器,只能通过AX等寄存器给其赋值,而不能直接访问。段寄存器DS便是如此,所以只能用代码mov ds,ax而不能mov ds,0) 介绍了这么多,你可尝试改动第三课的h.asm文件来实现上面所说的。如果感到无从下手,看参见我已写好的程序helowrld.asm,动手实践一下,那才有趣。 完成了这些,下一课将介绍如何与我们的操作系统进行交互(接受键盘事件,处理简单的按键消息)。 ~欲知后事,请听下回分解~ 2004.7.19 www.4ngel.net
本文档为【操作系统DIY手册(第四课)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_735939
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:2
分类:互联网
上传时间:2011-03-17
浏览量:9