本来今天想要学习一下操作系统的相关内容,奈何书都没带,猛然想起自己还有一个自己动手写操作系统的梦想,于是拿出这本书重新研究以下。对于第一章节的写一个简单的boot写出来以后也是着实兴奋一把,不过也是要记下相关的信息。
安装NASM首先我的操作系统是Ubuntu使用sudo aptitude install nasm
来安装nasm
org 07c00h ;汇编程序加载到7c00处 mov ax, cs ;cs 无法直接加载到ds,通过ax(x86基础) mov ds, ax mov es, ax call DispStr ;调用显示字符串例程 jmp $ ;无限循环DispStr: mov ax, BootMessage mov bp, ax mov cx, 16 mov ax, 01301h mov bx, 000ch mov dl, 0 int 10h retBootMessage: db "Hello, OS world!"times 510-($-$$) db 0 ;使用0填充剩下的空间dw 0xaa55 ;结束标志
编译nasm boot.asm -o boot.bin
然后这个时候可爱的作者让我们写到软盘里= =这个时候很多朋友都会dd if=boot.bin of=/dev/sdx
比如一开始的我= =我写到了8G的U盘里其实我们可以用virtualbox来搞定建立一个虚拟机——我选的是ubuntu_32bit——我觉得挺麻烦的,所以就不换了,因为我成功了。在设置,存储中,点添加软盘控制器。然后我们使用dd命令建立一个虚拟软盘。dd if=boot.bin of=floppy.img count=2880
然后选择虚拟软盘。。选择floppy.img然后启动看。
然后就可以看到可爱的Hello,OS world!
本文参考: linux 下制作虚拟软盘镜像 http://blog.163.com/wascm@126/blog/static/9385027200851905148317/
新闻热点
疑难解答