本简介对应于王爽老师所著《汇编语言》(第二版)教材中的课程设计部分。内容涉及利用汇编语言进行编程实践与项目开发的具体解答和分析。
开机后,CPU自动进入到FFF0:0单元处执行,在此位置有一条跳转指令。CPU执行该指令后会转向BIOS中的硬件系统检测与初始化程序进行操作。在完成初始化过程中,中断向量表会被建立起来,并且将BIOS提供的中断历程的入口地址登记在其内。
一旦硬件系统的测试和初始化工作结束之后,INT 19H 被调用以引导操作系统。如果是设定为从软盘启动,则 INT 19H 主要执行以下操作:(1)控制0号软驱读取其第一扇区的内容至内存地址0:7C00。(2)将CS:IP指向该内存位置,以便在该处开始执行操作系统引导程序。若未检测到软盘或发生I/O错误,则INT 19H 将从硬盘的相同位置读取数据并将其置于相同的内存区域。
此次课程设计的目标是编写一个无需依赖现有操作系统的独立启动计算机的程序,其功能如下:(1)显示一系列选项供用户通过键盘选择;(2)当输入“1”时重启电脑;(3)输入“2”则引导现有的操作系统;(4)若用户选择了“3”,将进入动态展示当前日期和时间的功能。该界面会持续更新,直到按下F1键改变颜色或ESC键返回主菜单。(5)选择项4允许更改系统的时间与日期。
为实现上述功能,在DOS环境下编写安装程序,并在其中包含任务执行代码;通过运行此安装程序将相关代码写入软盘。为了使该程序能在开机后自动启动,需要将其置于软盘的0道0面1扇区上。如果程序长度超过512字节,则需使用多个扇区存放数据,此时位于初始扇区中的代码负责加载其余部分的内容到内存中。
此项目涵盖了众多技术点,并要求进行深入分析和反复调试,对于学习过程具有总结性作用。希望读者能够尽力完成这项任务。