《彖》曰:屯,刚柔始交而难生。《易经》的屯挂,讲述的是万物始生,充满艰难险阻,然而顺时应运,必欣欣向荣,故屯挂也叫做始生之挂。
任何事物,都必须经历一个艰难的开始,方有可能守得云开见月明,当然操作系统学习也不例外。
学编程逃不过的真香定律:一个程序永远是打印一行"Hello Word",那么这章节,我们也来编写一个可独立运行于x86架构的程序(注意,这里是脱离操作系统的)。
在上一篇我们说了,BIOS会加载启动介质中的主引导程序,主引导程序是一个由汇编语言完成的软件,并且存储在启动介质的前512字节处,入口地址为0x7C00,以0x55AA结束。主引导程序的入口地址0x7C00类比到C语言中,就是main函数入口,对应关系可参考下图:
本章节要实现的就是一个简单的主引导程序,功能为运行后在屏幕上打印字符串"Hello OS"。
编写这个汇编程序有如下几个点需要注意:
一、打印相关设置
1、bx寄存器固定设置为0x0F (mov bx, 0x0F)
2、ah寄存器固定设置为0x0E (mov ah, 0x0E)
3、al寄存器设置要打印的字符 (mov al, '要打印的字符')
4、使用 int 0x10指令触发0x10号中断&#