⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 网易电脑频道--如何开发自己的操作系统的引导程序.htm

📁 对于学习很有帮助
💻 HTM
字号:
<!--n-->
<!--n-->
<!---->
<!--<br>-->
<html><head>
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
<title>网易电脑频道--如何开发自己的操作系统的引导程序</title><STYLE TYPE=text/css>
<!--
div {font-size:9pt; line-height:14pt; font-family:宋体;}
.p1{font-size:9pt;font-family:宋体;}
.p2{font-size:9pt;font-family:宋体;line-height:130%;}
.p3{font-size:14.8px;font-family:宋体;}
.p4{font-size:14.8px;font-family:宋体;line-height:130%;}
.p5{font-family:宋体;line-height:130%;}
a:hover{color:red;}
a.t1:visited{color:red;}
a.b{color:000000;}
a.w{color:ffffff;}
a.w:hover{color:FDE870;text-decoration:none;}
a.g{color:000000;font-size:9pt;}
a.more{color:E2007F;text-decoration:none;}
a.more:hover{text-decoration:underline;}
a.ti{color:FDE870;}
a.ti:hover{color:ffffff;text-decoration:none;}
-->
</STYLE>
<script>
<!--
{function lookup(content){
eval("open('http://www2.pconline.com.cn/pconline/database/pconlinedic163?inputkey="+content+"','self','dictionary','scrollbars=yes,width=600,height=400')");
		}
}// -->
</script>
</head>
<body bgcolor=FFFFFF text=000000 LINK=272EBA VLINK=336699 alink=FF0000>
<table border=0 width=750 cellspacing=0 cellpadding=0>
<tr><td width=200 class=p2><a href=http://www.163.com><img border=0 src=http://images.163.com/images/news/163logo.gif width=160 height=54></a></td>
<td width=540 class=p2 align=right>
<!--Here is ad beginning.-->
<IFRAME WIDTH=468 HEIGHT=60 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no BORDERcolor=000000 SRC=http://adserver.163.com/html.ng/site=www.163.com&category=soft&type=banner>
<SCRIPT LANGUAGE=JavaScript1.1 SRC=http://adserver.163.com/js.ng/site=www.163.com&category=soft&type=banner></SCRIPT>
<NOSCRIPT>
<A HREF=http://ad1.163.com/click.ng/Params.richmedia=yes&site=www.163.com&category=soft&type=banner>
<IMG SRC=http://ad1.163.com/image.ng/Params.richmedia=yes&site=www.163.com&category=soft&type=banner></A>
</NOSCRIPT>
</IFRAME><!--Here is ad end.--></table>
<table border=0 width=750 cellspacing=0 cellpadding=0 height=10><tr><td></table><table width=750 border=0 cellspacing=0 cellpadding=0>
<tr><td width=70>
<table width=100% border=0 cellspacing=1 cellpadding=0>
<tr align=center bgcolor=eeeeee>
<td class=p1 height=20><a href=http://news.163.com/><font color=000000>新闻</font></a></td>
<td class=p1><a href=http://sports.163.com/><font color=000000>体育</font></a></table></td>
<td bgcolor=0036B2 class=p1 height=20 width=35 align=center><a href=http://it.163.com/><font color=ffffff>电脑</font></a></td>
<td width=490>
<table width=100% border=0 cellspacing=1 cellpadding=0>
<tr align=center bgcolor=eeeeee>
<td class=p1 height=20><a href=http://game.163.com/><font color=000000>游戏</font></a></td>
<td class=p1><a href=http://stock.163.com/><font color=000000>财经</font></a></td>
<td class=p1><a href=http://house.163.com/><font color=000000>房产</font></a></td>
<td class=p1><a href=http://culture.163.com/><font color=000000>文化</font></a></td>
<td class=p1><a href=http://lady.163.com/><font color=000000>女性</font></a></td>
<td class=p1><a href=http://movie.163.com/><font color=000000>影视</font></a></td>
<td class=p1><a href=http://music.163.com/><font color=000000>音乐</font></a></td>
<td class=p1><a href=http://life.163.com/><font color=000000>生活</font></a></td>
<td class=p1><a href=http://travel.163.com/><font color=000000>旅游</font></a></td>
<td class=p1><a href=http://science.163.com/><font color=000000>科学</font></a></td>
<td class=p1><a href=http://health.163.com/><font color=000000>健康</font></a></td>
<td class=p1><a href=http://jobs.163.com/><font color=000000>职业</font></a></td>
<td class=p1><a href=http://education.163.com/><font color=000000>教育</font></a></td>
<td class=p1><a href=http://spicy.163.com/><font color=000000>新辣</font></a></td>
</tr></table></td>
<td width=155 class=p1 align=right valign=bottom><font color=FF0000>更新:</font>10月13日13:5</td>
<tr><td height=1 colspan=4 bgcolor=444CE6><spacer type=block height=1></table>
<table width=150 border=0 cellspacing=0 cellpadding=0>
<tr><td height=8><spacer type=block height=1></table>
<table width=750 border=0 cellspacing=0 cellpadding=0>
<tr bgcolor=FDE870><td class=p3 height=20 width=50%> 你目前的位置是:<a href=/index.html class=b >电脑频道</a>--&gt;<a href=/1/000913_88.html class=b >软件</a>--&gt;<a href=/2/000913_57.html class=b >编程指南</a></td><td class=p3 align=right width=50%>文章来源: <A HREF="http://www.cbinews.com/" class=b>华好网景</A> </td>
<tr bgcolor=FFB141><td colspan=2 height=2><spacer type=block width=1></td>
<tr><td colspan=2> 
<table width=650 border=0 cellspacing=0 cellpadding=0 align=center>
<tr><td class=p5 align=center><br><b><font color=272EBA>如何开发自己的操作系统的引导程序</font></b><br><span class=p2>姜延欧<font color=666666>(2000-10-13)</font></span></td>
<tr><td class=p5><br>  当你打开计算机时发生了什么?
<br>  1.电源打开;2.BIOS开始执行;3.引导程序开始执行。
<br>  引导程序的规定:你要有一个普通的二进制文件(COM 格式);大小是512个字节;最后两个字节一定是0AA55h;它能被载入到内存地址0x7C00。
<br>  工具:
<br>  NASM——是一个免费的汇编工具(有DOS/windows/Linux三种版本)
<br>  PARTCOPY2.0——DOS下可自由往磁盘拷贝数据的软件
<br>  举例:
<br>  1.Just hang……
<br>  这个简单的引导程序只能挂起:
<br>  hang:
<br>   jmp hang
<br>  times 512-($-$$)-2 db 0
<br>  dw 0AA55h
<br>  连接这个引导程序:
<br>  nasm -f bin -o hang.bin hang.asm
<br>  现在你需要一张格式化磁盘,传送hang.bin到磁盘的引导扇区
<br>  partcopy hang.bin 0 200 -f0
<br>  “0”的意思是指从hang.bin文件的顶端开始传送
<br>  “200”的意思是指拷贝200个字节
<br>  插入磁盘和重新启动机器,测试这个引导程序。
<br>  2.一个实模式下的引导程序
<br>  上面的程序非常简单,下面介绍一个稍微复杂一点的程序。
<br>  bits 16 
<br>  org 0x7C00
<br>  start: 
<br>  cli;关中断
<br>  mov ax,0x9000;设置堆栈址:0x90000 
<br>  mov ss,ax 
<br>  mov sp,0
<br>  sti;开中断
<br>  l1:push ds 
<br>  mov dl,0;
<br>  重新设置磁盘控制器
<br>  mov ax,0 
<br>  int 13h 
<br>  pop ds 
<br>   jc fail 
<br>  push es 
<br>  mov ax,0x1000;ES:BX=10000
<br>  mov es,ax 
<br>  mov bx,0 
<br>  mov ah,2;读磁盘扇区 
<br>  mov al,5;读入5个扇区
<br>  mov cx,2;柱面号=0,扇区号=2 
<br>  mov dx, 0;磁头号=0,驱动器号=0
<br>  int 13h;ES:BX=来自磁盘上的数据
<br>  pop es 
<br>  jc l1
<br>  mov ax,0x10000;设置段寄器
<br>  mov es,ax 
<br>  mov ds,ax 
<br>  push ax
<br>  mov ax,0 
<br>  push ax 
<br>  retf
<br>  fail: 
<br>  jmp fail 
<br>  times 512-($-$$)-2 db 0 
<br>  dw 0AA55h
<br>  连接这个引导程序:
<br>  nasm -f bin -o boot.bin boot.asm
<br>  传送boot.bin到磁盘的引导扇区
<br>  partcopy boot.bin 0 200 -f0
<br>  为了使程序可以看到,在编译下面程序
<br>  mov ax,1000h;修改段寄存器 
<br>  mov ds,ax 
<br>  mov es,ax
<br>  mov si,msg;打印 "JIPPIKAYE!" 
<br>  call putstr
<br>  hang:;挂起 
<br>  jmp hang
<br>  putstr:
<br>  lodsb 
<br>  or al,al 
<br>  jz short putstrd 
<br>  mov ah,0x0E 
<br>  mov bx,0x0007 
<br>  int 0x10 
<br>  jmp putstr
<br>  putstrd: 
<br>  retn
<br>  msg db 'JIPPIKAYE!',13,10,0
<br>  连接和传送:
<br>  nasm -f bin -o boot.bin boot.asm
<br>  partcopy boot.bin 0 200 -f0 200
<br>  在partcopy中最后一个参数“200”意思是指磁盘的偏移地址插入磁盘和重新启动机器,你会看到“JIPPIKAYE”然后挂起。</td></table><br>

</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 width=750>
<tr bgcolor=FDE870><td class=p3 height=20 width=30%> <a href=http://luntan.163.com:81/forum/list.php?num=36 class=b target=_blank>到<b>问题青年</b>发表评论...</a></td><td class=p3 align=center width=40%>>>> <a href=mailto:it@staff.163.com class=b>写信给编辑</a><td align=right class=p3 width=30%>>>> <script language=javascript>
document.write("<a href=\"http://202.106.168.85/sendto/recommend.php?referer="+parent.location+"&parentTitle="+document.title+"parentTitleEnd\" target=OpenWindow class=b>推荐给好友</a>");</script> </td>
<tr bgcolor=FFB141><td colspan=3 height=2><spacer type=block width=1></td></tr></table>
<table width=750 border=0 cellspacing=0 cellpadding=0>
<tr><td width=50% class=p4> <b>相关文章:</b></td><td width=50% class=p4> <b>热力推荐:</b></td>
<tr><td class=p4 valign=top><ul>
<li><a href=/tm/001013/001013_9531(1).html target=_blank>为你的VB程序程序加密</a><font color=666666>(10-13)</font><li><a href=/tm/001013/001013_9518(1).html target=_blank>用ASP实现论坛的UBB功能</a><font color=666666>(10-13)</font><li><a href=/tm/001010/001010_9317(1).html target=_blank>用VB开发多通道仪表数据采集程序</a><font color=666666>(10-10)</font><li><a href=/tm/000929/000929_9115(1).html target=_blank>Delphi中布尔类型辨析</a><font color=666666>(09-29)</font><li><a href=/tm/000926/000926_8943.html target=_blank>使用ASP和Word进行服务器端拼写检查</a><font color=666666>(09-26)</font></ul></td>
<td class=p4 valign=top><ul><li><a href="http://game.163.com/eg/easegame.html" target=_blank>个人战网天天玩 
</a>
<li><a href="http://netease.it168.com/" target=_blank>硬件报价:货比三家 </a>
<li><a href="http://talkshow.163.com/autobuy/index.php" target=_blank>供求信息:互动二手车市
</a>
</a><li><a href=http://sports.163.com/tm/001031/001031_74213.html target=_blank>网易体育网友文集</a> 
<li><a href=http://sports.163.com/t_index/000808_61225.html target=_blank>综合体育图片新闻 
</a> 
<li><a href=http://sports.163.com/s_index/page01.html target=_blank>中国足球:众说风云</a></ul></td>
<tr><td class=p4 colspan=2 align=right>【<a href=javascript:window.close()>关闭窗口</a>】</table>
<br clear=all>
<br><table border=0 width=740 cellspacing=0 cellpadding=0>
<tr><td width=100% align=center class=p1> <a href=http://www.163.com/feedback/overview.html><font color=000000>About Netease</font></a> - <a href=http://www.163.com/feedback/index1.html><font color=000000>公司简介</font></a> - <a href=http://www.163.com/feedback/index2.html><font color=000000>网站导航</font></a> - <a href=http://www.163.com/feedback/index3.html><font color=000000>广告服务</font></a> - <a href=http://www.163.com/feedback/index4.html><font color=000000>联系方法</font></a> - <a href=http://www.163.com/feedback/index5.html><font color=000000>招聘信息</font></a> - <a href=http://www.163.com/feedback/index6.html><font color=000000>策略联盟</font></a> - <a href=http://www.163.com/feedback/index7.html><font color=000000>栏目投票评选</font></a> - <a href=http://www.163.com/feedback/privacy.html><font color=000000>隐私保护</font></a><font color=000000><br>网易公司版权所有</font><br><font color=red>&copy1997-2000 </font></table></body></html>
<!---->
<!---->
<!--y-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -