——
自己动手写操作系统在VMware下实现软驱加载并运行。
最近刚开始学习OS和汇编,于是打算自己试试。当然自己完全不懂,根据零星的资料下手,刚开始错误百出。刚弄明白nasm是如何编译生成.bin, .o, .img文件,确在VM上遇到了麻烦。由于VM支持.iso镜像文件的载入,且我又没有使用过.img文件的经历,于是开始
各种baidu,最后还是成功了,写些笔记留以纪念。
首先说明是在linux下完成,汇编工具:nasm,VM版本:7.1.1 build-282343。
第一步编写代码生成.asm汇编文件。
网上流行的十分钟写一个操作系统代码(引导)
org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax ;es:bp = 串地址
mov cx, 16 ;cx = 串长度
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello, 2010!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55
保存上述代码为boot.asm
然后我们打开终端,并进入到所在路径下
通过命令:nasm boot.asm -o boot.bin 生成boot.bin二进制文件
通过命令:dd conv=sync if=boot.bin of=boot.img bs=1440k count=1生成了
boot.img镜像文件
第二步启动VMware并加载boot.img镜像。
1,打开VM后的部分界面,有三个选项,我们选择新建,也就是第一项2,选择默认的Typical,然后next
3,这里要求选择第三项
如何关闭软驱4,这里我选择了两个other,谁知道boot属于那一类
5,选择安装存放路径
6,默认就行了,好像很浪费
7,这里不要一直点next,这里要现配置一下,点击
8,选中Floppy,再选择Browse,把boot.img加入。按下面选择就行了,最后save, finish
第三步运行
1,启动
2,运行
3,关闭
szw 2010-10-02
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论