关于引导程序(我们这里特指PC架构的系统)网络上的介绍比较多了,实例也很多,正好前阵子在学习,现把我写的一个引导程序发布出来,权作为一个参考吧!
首先介绍一下我这段程序的功能:引导计算机启动,并在屏幕左上角显示当前系统时钟,采用"HH:MM:SS” 的格式显示,并且时钟颜色在黄色和红色间交替变化。
程序使用了以下几个BIOS中断调用,分别是10h号、1ah号、1ch号中断。其中10h中断是我们大家比较熟悉的BIOS显示中断,可以用来在标准输出设备上输出字符、字串、图形等信息;1ah中断则是获取当前系统时间的中断,也就是CMOS中记录的时间信息;1ch中断是系统时钟中断,PC架构的系统中,每55ms左右就会自动调用一次1ch中断,默认情况下,该中断不执行任何操作然后直接返回。为什么是55ms呢?这个我还真不清楚,反正PC的系统是这样定义的。换句话说,1s钟的时间里一共将执行18次1ch中断(1000/55≈18)。
程序体包括主程序(start)、时钟中断程序(intClock)、获取时钟子程序(GET_T)、数字转对应ASCII数字字符子程序(TTASC)四个部分