admin管理员组

文章数量:1565358

2024年6月3日发(作者:)

自己动手写操作系统——在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

保存上述代码为

然后我们打开终端,并进入到所在路径下

通过命令:nasm -o 生成二进制文件

通过命令:dd conv=sync if= of= bs=1440k count=1生成了

镜像文件

第二步 启动VMware并加载镜像。

1, 打开VM后的部分界面,有三个选项,我们选择新建,也就是第一项

2, 选择默认的Typical,然后next

3,这里要求选择第三项

4, 这里我选择了两个other,谁知道boot属于那一类

5,选择安装存放路径

6, 默认就行了,好像很浪费

7, 这里不要一直点next,这里要现配置一下,点击

8, 选中Floppy,再选择Browse,把加入。按下面选择就行了,最后save,

finish

第三步 运行

1,启动

2,运行

3,关闭

szw 2010-10-02

本文标签: 选择汇编文件生成