本次程序设计的任务是编写一个可以自行启动计算机_第1页
本次程序设计的任务是编写一个可以自行启动计算机_第2页
本次程序设计的任务是编写一个可以自行启动计算机_第3页
本次程序设计的任务是编写一个可以自行启动计算机_第4页
本次程序设计的任务是编写一个可以自行启动计算机_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本次程序设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。这个程序主要包括软盘安装、重新启动计算机、启动现有的操作系统、进入时钟和设置时钟4个模块,时间显示格式如下: 年/月/日 时:分:秒;进入此项功能后,一直动态显示当前的时间,在屏幕上将出现时间按秒变化的效果。关键字:PC机,操作系统,时钟1 PC机工作原理我们先从存储器入手,如果我们把一个存储体比作一栋大楼,那么每个存储单元可看作大楼的每个房间,每个存储单元可看作每个房间中的一张床位。(显然每个房间都得有一个房间编号)主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。为能实现

2、按地址访问的方式,主存中还必须配置两个寄存器MAR(Memory Adress Register)和MDR(Memory Data Register)。MAR用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。MDR是存储器数据寄存器,是用来存放从存储体某单元取出的代码或准备往某存储单元存入的代码,其位数与存储字长相等 再看控制器,控制器是计算机组成的神经中枢,由它来指挥全机各部件自动、协调地工作。具体而言,它首先要命令存储器读出一条指令,这叫作取指过程。接着,它要对这条指令进行分析,指出指令要完成什么样的操作,并按寻址特征指明操作数的地址,这叫分析过程。最后根据操作数所在的地址,取出操

3、作数并完成某种操作,这叫做执行过程。控制器由程序计数器PC,指令寄存器IR以及控制单元CU几部分组成。 接着看I/O子系统,包括各种外部设备及相应的接口。每一个设备都是由I/O接口与主机联系的,它接受CU发出的各种控制命令完成相应的操作。如键盘由键盘接口电路与主机联系;打印机由打印机接口电路与主机联系。 启动机器后,控制器立即将程序计数器的内容送至主存的MAR(记作PCMAR)并命令存储器做读操作,此刻主存“0”号单元的内容“0000010000001000”便被送入MDR内。然后由MDR送至控制器的IR(记作MDRIR),完成了一条指令的取指过程。经CU分析操作码“000001”为取数指令,

4、于是CU又将IR中的地址码“0000001000”。送至MAR,并命令存储器做读操作,将该地址单元中的操作数x送至MDR,再由MDR送至运算器的ACC(记作MDR,ACC),完成了此指令的执行过程。此刻,也即完成了第一条取数指令的全过程,即将操作数x送至运算器ACC中。与此同时,PC完成自动加1的操作,形成了下一条指令的地址“1”号。同上所述,由PC送至MAR,命令存储器做读操作,将“0001000000001001”送入MDR,又由MDR->IR。接着CU分析操作码“000100”为乘法指令,故CU又向存储器发出读命令,取出对应地址为 “0000001001”单元中的操作数o,经MDR

5、送至运算器MQ,CU再向运算器发乘法操作命令,完成ax的运算,并把运算结果ox存放在ACC中。同时PC完成一次(PC)十1。PC,形成下一条指令的地址“2”号。依次类推,逐条取指、分析、执行,直至打印出结果。最后执行完停机指令后,机器便自动停机。 2 软盘安装ssume cs:code code segment ;*软盘的安装程序,具体代码数据见后面* start: mov ax,cs mov es,ax mov ax,0303h mov bx,offset part1 mov cx,0001h mov dx,0000h;将cs:(offset part1)处写入A盘道面扇区开始的个扇区 in

6、t 13h mov ax,4c00h int 21h3 重起电脑reset_pc: mov ax,0FFFFh;CS push ax mov ax,0;IP push ax retf;跳到FFFF:04 启动现有系统reset_pc: mov ax,0FFFFh;CS push ax mov ax,0;IP push ax retf;跳到FFFF:05 进入时钟进入程序后,一直动态显示当前时间;当按下F1时,改变显示颜色;按下Esc键时,返回主选单clock: push ax push cx push dx push si push di push es mov ax,cs mov ds,ax

7、 mov cx,4;cx记录颜色s0: push cx mov si,offset date;利用date处空间存储日期时间字符串 mov di,offset port mov cx,6 s1: mov al,ds:di out 70h,al in al,71h mov ah,al push cx;右移位用到cx mov cl,4 shr ah,cl pop cx and al,00001111b add ax,3030h mov ds:si,ah mov ds:si+1,al inc di add si,3 loop s1 pop cx;cx仍是存储颜色 mov ax,0 in al,60h

8、 cmp al,1;Esc的扫描码 je back cmp al,3bh;F1的扫描码 jne nochange;不改变颜色 inc cl;改颜色nochange: mov dx,101fh;16行列 mov si,offset date call show_str;显示时间 jmp short s0;循环显示back: mov ax,0b800h mov es,ax mov si,160*16+2*31;16行列消去时间显示,以便回到主菜单 mov cx,18 s2: mov byte ptr es:si,' '以空格清空之 mov byte ptr es:si+1,0000

9、0111b;颜色也改过来,不然可能出现一块非黑色的区域 add si,2 loop s2 pop es pop di pop si pop dx pop cx pop ax ret 6 设置时钟set_clock: mov ax,cs mov ds,ax mov si,offset settime mov dx,101ah;16行列 mov cl,000000100b call show_str;显示提示信息 mov si,offset spc4char mov dx,1123h;17行列 call getstr;返回字符串在spc4char ;将字符串转换成字节形式的日期,写入CMOS mo

10、v di,offset port;ds:di指向CMOS端口号数组 mov cx,6;6次,年月日时分秒s3: mov ah,ds:si mov al,ds:si+1 sub ax,3030h;还原数字 push cx;左移用到cx mov cl,4 shl ah,cl pop cx add ah,al;ah输出,al要用来访问CMOS mov al,ds:di out 70h,al mov al,ah;输出结果 out 71h,al inc di add si,3 loop s3 ret 7 总结回顾起此次程序设计,我感慨颇多。它不仅巩固了我所学过的知识,而且让我学到了很多在书本上所没有学到

11、过的知识。通过这次程序设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,提高自己的实际动手能力和独立思考的能力。在该设计过程中我遇到了许多的问题,让我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这次课程设计中,本人学到了很多在课堂和书本上学不到的知识,在这次课程设计中收获很大,真正理解到汇编语言的重要作用。致谢感谢学校给我们这次程序设计的机会,桃李无言,下自成蹊,感念吾师,祈望今后能有结草衔环之机会以报涌泉之恩。感谢武老师在报告开题、写作过程中提出的宝贵意见和有益的启发。“手浇桃李千行绿,点缀春光满上林。”一批又一批的学生来了又走了,不变的是老师们无怨无悔承担起的育人树人之责、传道授业解惑之任,在此真诚的祝福老师们一生平安幸福。 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论