问题我已经给出来了
阅读下面的材料:
开机后,CPU自动进入到FFF0:0单元处执行,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。
初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断历程的入口地址登记在中断向量表中。
硬件系统检测和初始化完成后,调用INT 19H进行操作系统的引导。
如果设为从软盘启动操作系统,则INT 19H将主要完成一下工作:
(1)控制0号软驱,读取软盘0道0面1扇区的内容到0:7C00。
(2)将CS:IP指向0:7C00。
软盘的0道0面1扇区中装有操作系统引导程序。INT 19H将其装到0:7C00处后,设置CPU从0:7C00开始执行此处的引导程序,操作系统被激活,控制计算机。
如果在0号软驱中没有软盘,或发生软盘I/O错误,则INT 19H将主要完成以下工作;
(1)读取硬盘C的0道0面1扇区的内容到0:7C00;
(2)将CS:IP指向0:7C00。
这次课程设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。
改程序的功能如下:
(1)列出功能选项,让用户通过键盘进行选择,界面如下:
1)reset pc ;重新启动计算机
2)Start system ;引导现有的操作系统
3)Clock ;进入时钟程序
4)Srt clock ;设置时间
(2)用户输入“1”后重新启动计算机。(提示:考虑FFFF:0)
(3)用户输入“2”后引导现有的操作系统。(提示:考虑硬盘C的0道0面1扇区)
(4)用户输入“3”后,执行动态现实当前日期,时间的程序。
现实格式如下:年/月/日 时:分:秒
进入此项功能后,一直动态现实当前的时间,在屏幕上将出现时间按秒变化的效果。(提示:循环读取CMOS)
当按下F1键后,改变现实颜色;按下ESC键后,返回到主选单。(提示:利用键盘中断)
(5)用户输入“4”后可更改当前的日期,时间,更改后返回到主选单。(提示:输入字符串)
下面给出的几点建议:
(1)在DOS下编写安装程序,在按转程序中包含任务程序;
(2)运行安装程序,将任务程序写到软盘上;
(3)若要任务程序可以在开机后自行执行,要将它写到软盘的0道0面1扇区上。如果程序长度大于512B,则需要用多个扇区存放,这种情况下,处于软盘0道0面1扇区中的程序就必须负责将其他扇区中的内容读入内存。
这个程序较为复杂,它用到了我们所学到的所有技术,需要进行仔细地分析和耐心地调试。这个程序对于我们的整个学习过程是具有总结性的,希望读者能够尽力完成