制作一个简单的操作系统

nasm 编译器安装

首先 需要给我们的ubuntu安装nasm,这是一个8086的汇编编译器。

打开终端 输入

sudo apt-get install nasm

这样就安装完成了。

我们可以输入查看是否安装成功。

nasm -version

img光盘映像文件生成

在linux里面打开记事本,将这串汇编代码复制进去,保存为asm格式的文件。

org 07c00h ; 告诉编译器程序加载到7c00处

mov ax, cs

mov ds, ax

mov es, ax

call DispStr ; 调用显示字符串例程

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, World!" ; 想要开机后在屏幕上显示的字符串

times  510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节

dw  0xaa55 ; 结束标志

然后在对应文件夹里打开终端输入如下命令 利用asm文件生成二进制机器码的bin文件。

nasm HelloWorld.asm -o HelloWorld.bin

再在终端输入如下命令,生成img光盘映像文件。

dd conv=sync if =HelloWorld.bin of =HelloWorld.img bs=1440k count=1

最后将生成的文件从虚拟机传到本地系统,可以以共享文件夹,不过建议发邮件的形式比较方便。

vdi文件生成

在win系统打开终端,输入如下两条命令。不过正常显示不是我这样,因为我已经创建好了一个vdi文件。

这就是生成好的vdi文件。

虚拟机启动

依次点击这个加入创建好的vdi 然后启动就行

启动画面,大功告成

经验分享 程序员 微信小程序 职场和发展