自己动手写操作系统(一) 作者:伊梅 本文选自:开放系统世界——赛迪网 2002年10月10日 首先看到这个,但是这个是需要LINUX下的一些工具,又找了找,发现这个 走进程序世界的田园——引导扇区释疑
基本按照他的步骤和代码,但是代码修改了一下,步骤改进了一下:由于他的排版问题,有些编译通过不了
1、找个文本编辑器,输入
org07c00h; 告诉编译器程序加载到7c00处
mov ax, 0b800h
mov es, ax; 设置 es 以便直接写显存
mov byte [es:0], \’a\’; 在显存第一个字节写入字符‘a’
mov byte [es:1], 0ch; 在显存第二个字节写入十六 进制值C,表示黑底红字
jmp $; 无限循环
times 510-($-$$) db 0; 填充剩下的空间,使生成的 二进制代码恰好为512字节
dw 0aa55h; 引导扇区需要以55AA结束
2、下载NASM http://sourceforge.net/projects/nasm
输入NASM BOOT.ASM,得到BOOT文件http://www.yippeesoft.com/
3、按照他的做法是找个软盘,写个程序,http://www.yippeesoft.com/但是我觉得这样太麻烦了。
找了一个软盘虚拟程序,virtual floppy disk,但是没有试验,因为我又想到了一个简单的办法
VMWARE和VPC都会带有一个虚拟启动软盘,你也可以用HDCOPY或者WINIMAGE等软件制作一个IMG文件。
然后用二进制编辑器ULTRAEDIT编辑该IMG软件,当然需要先复制一个备份比较安全。其实也可以用WINHEX直接编写软盘。http://www.yippeesoft.com/
不过我用ULTRAEDIT好像不能复制粘贴十六进制数据,因此用了一个最土的方法
DOS下: COPY /B BOOT/B+PWIN98.IMG/B WW/B得到一个十六进制的混合文件,然后再用ULTRAEDIT删除掉0X200-0X400之间的数据。不过好像删除也不能用,我用的是CUT剪切
然后把这个文件用VMWARE或者VPC导入A盘 Connectix Virtual PC 载入映象文件。启动后就可以看到效果了。http://www.yippeesoft.com/
不过我估计应该可以直接写一个1.44M的十六进制文件即可,需要1,474,560 字节,也就是说 写入 WRITEFILE BOOT 的512字节后,后面再补充,应该是可以的。
WRITEFILE也可以直接写软盘,主要是CREATEFILE函数要打开 \\\\\\\\.\\A: 设备,我用WINOBJ查看之后,觉得应该也可以打开\\device\\floppy0也是可以的。
总结了这么多,WINDOWS下也可以方便的使用各种方法自己试验操作系统引导了。329
d:\\>debug boot.bin
-w 100 0 0 1
-q
历史博文
- 20080830 wcf c# - 2009
- 20070726 ThinkPadT61 SilenceIsDefeat Mingle Pet Shop - 2008
- 1125 Asterisk TAPI - 2007
- 0209 sip exosip error vc6 C1189 LDR - 2006
- 传真协议区别小记 - 2005
- yahoo.com.cn邮箱免费邮件转发及POP收信 - 2005
- 传真类别2 和2.0:BCM V.92 56K 调制解调器用户指南 - 2005