10分钟搞出一个简单操作系统
1 准备工作
- 安装虚拟机(VMware-workstation),下载好虚拟机安装包之后,点击下一步安装就行。
- 在虚拟机(VMware-workstation)中安装一个系统,笔者安装的是windows10(当然win7,win8,Linux都可以)。
- 汇编编译器NASM,下载并安装。
2 用汇编写一个显示“Hello,OS world”的boot.asm文件
org 07c00h ; 告诉编译器程序加载到7c00处
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 ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; 10h 号中断
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
3 用NASM编译boot.asm文件生成boot.bin二进制文件
- 按照提示默认安装完成NASM之后,桌面会出现右图的图标
- 双击图标,出现下图
- 进入boot.asm所在的目录,我的boot.asm在D盘根目录,即D:\boot.asm
- 进入之后,如图
- 输入以下命令,
nasm boot.asm -o boot.bin
如图- 生成boot.bin文件
4 生成A.img文件
生成A.img需要用到软件FloppyWriter.exe,(同样上传该工具)
- 首先新建一个文件,将其名称及后缀改成“a.img”,目前a.img是空白的。
打开FloppyWriter.exe,出现
点击第二项“Write FIle to Image”如图,并选择第三步生成的boot.bin 文件
- 点击打开,选中刚才新建的a.img
- 成功
好,现在回顾一下我们都做了什么。
- 汇编写boot.asm文件
- 用nasm编译成boot.bin
- 新建空白a.img,然后用FloppyWriter 将boot.bin写入a.img.
ok,继续下一步
5 打开虚拟机, 点击“编辑虚拟机设置”
出现
点击“软盘驱动器”,下一步
点击使用软盘映像
点击 下一步,然后将a.img加载进去
然后 完成 –确定。