【改】十分钟的极简操作系统

1)准备 nasm ,VirtualBox

sudo apt-get install nasm

sudo apt-get install virtualbox

====================================

2)编译boot0.0.1.asm


%ifdef BOOT_DEBUG
org 0100h ; 调试状态, 做成 .COM 文件, 可调试
%else
org 07c00h ; BIOS 将把 Boot Sector 加载到 0:7C00 处
%endif

mov ax, cs
mov ds, ax
mov es, ax
call DispStr ; 调用显示字符串例程
jmp $ ; 无限循环
DispStr:
mov ax, BootMessage
mov bp, ax ; ES:BP = 串地址
mov cx, 17 ; CX = 串长度
mov ax, 01301h ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; int 10h
ret
BootMessage: db “Ohhhh,wuwenjie!!!”
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志


2.2)利用nasn 编译

nasm boot0.0.1.asm -o boot0.0.1.bin
2.3)dd if=boot0.0.1.bin of=myos0.0.1.img bs=512 count=1

生成img文件

 

==================================================

3)VirtualBox检验极简OS

步骤:

 

新建–>下一步–>名称(myos0.0.1)other other/unknown

 

–>下一步–>下一步–>下一步–>下一步–>下一步–>下一步

 

–>创建–>创建–>设置–>存储—>

 

添加软盘控制器(启动顺序默认软驱开始)–>

 

 

 

 

 

 

 

 

添加虚拟软驱—>选择磁盘–>选择刚刚生成的myos0.0.1.img–>

 

打开–>确定—>启动

 

 

====================================================

4)参考

1.[于渊]一个操作系统的实现

2.https://github.com/yyu/osfs01/blob/master/boot.asm

3.http://osfromscratch.org