欢迎来到天天文库
浏览记录
ID:35215746
大小:188.22 KB
页数:12页
时间:2019-03-21
《华中科技大学汇编实验报告6》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程实验报告课程名称:汇编语言程序设计实验实验名称:实验六输入输出与中断处理程序设计实验时间:2016-4-26,14:00-17:30实验地点:南一楼804室74号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号:U201414813姓名:唐礼威同组学生:无报告日期:2016年5月2日原创性声明 本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声明!学生签名:日期:成绩评定实验完成质量得分(70分)(实
2、验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字: 日期:汇编语言程序设计实验报告目录1实验目的与要求12实验内容13实验过程23.1任务123.1.1设计思想及存储单元分配23.1.2流程图23.1.3源程序23.1.4实验步骤33.1.5实验记录33.2任务233.2.1设计思想及存储单元分配33.2.2流程图43.2.3源程序43.2.4实验步骤63.2.5实验记录63.3任务373.3.1设计思想及存储单元分配73.3.2流程图73.3.3源程序7
3、3.3.4实验步骤93.3.5实验记录94体会9参考文献1010汇编语言程序设计实验报告实验目的与要求(1)掌握中断矢量表的概念;(2)熟悉I/O访问,BIOS功能调用方法;(3)掌握实方式下中断处理程序的编制与调试方法。1实验内容任务1:用三种方式获取中断类型码10H对应的中断处理程序的入口地址。要求:首先要进入虚拟机状态,然后(1)直接运行调试工具(TD.EXE),观察中断矢量表中的信息。(2)编写程序,用DOS系统功能调用方式获取,观察功能调用相应的出口参数与“(1)”看到的结果是否相同(使用TD观看出口参数即可)。(3)编写程序,直接读取相应内存单元,观察读到的数
4、据与“(1)”看到的结果是否相同(使用TD观看程序的执行结果即可)。任务2:编写一个接管键盘中断的中断服务程序并驻留内存,要求在程序返回DOS操作系统后,键盘的按键A变成了按键B,而B变成了A。要求:(1)在DOS虚拟机或DOS窗口下执行程序,中断服务程序驻留内存。(2)在DOS命令行下按键A,屏幕显示为B,按B时屏幕显示为A。执行TD,在代码区输入指令“MOVAX,0”看是否能发生变化。(3)选作:另外编写一个中断服务程序的卸载程序,将键盘中断服务程序恢复到原来的状态(也就是还原中断矢量表的信息)。任务3:读取CMOS内指定单元的信息,按照16进制形式显示在屏幕上。要求
5、:(1)10汇编语言程序设计实验报告先输入待读取的CMOS内部单元的地址编号(可以只处理编号小于10的地址单元)。再使用IN/OUT指令,读取CMOS内的指定单元的信息。(2)将读取的信息用16进制的形式显示在屏幕上。若是时间信息,可以人工判断一下是否正确1实验过程1.1任务11.1.1设计思想及存储单元分配用三种方式获取中断类型码10H对应的中断处理程序的入口地址。1.直接在td中观察即可。2.系统功能调用35H,入口参数为AL=10H,取中断信息。3.直接把主存中的DS:[40H]→IP,DS:[42H]→CS赋值给寄存器BX和CX。1.1.2流程图无1.1.3源程序
6、1.程序名renwu61.386CODESEGMENTUSE16ASSUMECS:CODESTART:XORAX,AXMOVDS,AXMOVAX,3510HINT21HMOVAH,4CHINT21HCODEENDSENDSTART2.程序名renwu62.386STACKSEGMENTUSE16STACKDB200DUP(0)STACKENDS10汇编语言程序设计实验报告CODESEGMENTUSE16ASSUMECS:CODE,SS:STACKSTART:XORAX,AXMOVDS,AXXORBX,BXXORCX,CXMOVBX,DS:[40H]MOVCX,DS:[42
7、H]MOVAH,4CHINT21HCODEENDSENDSTART1.1.1实验步骤1.直接运行td,置数据区为当前区执行Goto,在地址输入窗口输:40H{(0:[10*4])->IP,(0:[10*4+2]->CS}读取连续的4个字节,前两个为偏移地址,后两个为段值。然后置代码区为当前区。输入刚才得到的值,得到对应的程序。2.将程序renwu61编译、链接,调试直到没有错误。运行tdrenwu61,在td中单步调试,观察es与bx的改变情况;3.将程序renwu62编译、链接,调试直到没有错误。运行tdrenwu62,在t
此文档下载收益归作者所有