本篇博文针对已经搭建好开发环境的各位programmer。
自己写好一个操作系统需要掌握汇编语言、C/C++编程语言,以及了解硬件底层的开发、代码架构安排、操作系统启动与运行原理等相关知识。
第一步,先看一段代码;
org 07c00h;
mov ax,cs
mov ds,ax
mov es,ax
call Display ;调用字符串打印过程
jmp $ ;无限循环
Display:
mov ax,BootMessage
mov bp,ax
mov cx,16
mov ax,01301h;
mov bx,000ch
mov dl,0
int 10h
ret
BootMessaage: db "Hello,YangZ's OS World!"
times 510-{$-$$} db 0 ;填充剩余空间,使生成二进制代码恰好为512字节
dw 0xaa55 结束
保存为boot.asm文件。
使用汇编语言开发环境NASM编译一下:
nasm boot.asm -o boot.bin
然后我们就得到了512B的boot.bin,使用软盘绝对扇区读写工具将该文件写到空白软盘的第一个扇区。
将该软盘放到软驱中,从软盘引导重启计算机,就会看到你的第一个成果!
但至此,我们只是写了一个可以在裸机上运行的程序而已(汇编语言的特性)。