汇编语言实验8-中断程序设计

汇编语言实验8-中断程序设计

ID:47481869

大小:80.50 KB

页数:5页

时间:2020-01-11

汇编语言实验8-中断程序设计_第1页
汇编语言实验8-中断程序设计_第2页
汇编语言实验8-中断程序设计_第3页
汇编语言实验8-中断程序设计_第4页
汇编语言实验8-中断程序设计_第5页
资源描述:

《汇编语言实验8-中断程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、汇编语言实验报告AssemblyLanguageProgrammingLab Reports______________________________________________________________________________班级:_________姓名:___________学号:___________实验日期:_____________学院:_____计算机与通信工程学院____专业:_______计算机科学与技术___________实验顺序:___实验____实验名称:___________

2、_中断程序设计________________实验分数:_______考评日期:________指导教师:______________________________________________________________________________一.实验目的1.掌握中断的类型,软件中断和硬件中断。2.掌握中断处理的过程,理解中断类型值,中断向量。3.掌握系统中断以及功能调用。4.可以自己设计中断程序______________________________________________________

3、________________________二.实验环境操作系统:windowsxp编译程序:masm5.0______________________________________________________________________________三.实验原理1.CPU响应中断的条件(1)当前的指令周期结束(2)采样到有效的中断请求型号(3)如果是可屏蔽的中断请求INTR,检查中断允许标志IF是否为1(4)CPU正在执行的程序是不是中断服务程序,或者是中断优先级较低的中断服务程序2.中断响应过程(1)

4、首先将标志寄存器FLAGS压入堆栈(2)将TF与IF清零,IF=0即关中断(3)将正在运行程序的断点CS和IP压入堆栈(4)从中断向量表中取出中断向量高两个字节的内容送入CS,取出低两个字节的内容送入IP(5)转到相应中断源的中断服务程序入口,执行中断处理服务程序______________________________________________________________________________四.实验步骤及结果分析1.修改已有中断处理程序。修改已有的中断int9h(1)将原有9号中断的程序入口地址

5、放在一个地方保存起来(2)编写中断处理程序:int9;调用原有的int9中断(3)将新int9中断服务程序送入内存0000:0200处;(4)将int9的入口地址0000:0200存储在中断向量表9号表项中。源代码:codesegmentassumecs:codestart:movax,0moves,axmovax,es:[9+4]moves:[0200h],axmovax,es:[9+4+2]moves:[0202h],axclimovax,offsetint9moves:[9+4],axmovax,segint9st

6、imovdx,offsetint9end-offsetint9startadddx,16movah,31hmoval,0int21hmovah,4chint21hint9procnearint9start:pushaxpushbxpushcxpushesmovax,0moves,axinal,60hpushfcalldwordptres:[0200h]cmpal,3Bhjneint9iretmovcx,2000movax,0b800hmoves,axmovbx,1s:incbyteptres:[bx]addbx,2loo

7、psint9iret:popespopcxpopbxpopaxiretint9end:nopint9endpcodeendsendstart运行结果:1.写自己的中断例程Int60h用到了dos中断的int21h功能(1) 如果触发该中断,在屏幕上显示一串笑脸;(2) 选择60H号中断类型作为笑脸中断类型;(3) 编写中断子程序smile_face,显示一串笑脸;(4) 将该中断子程序的入口地址写入中断向量表中设置中断向量将在DS:DX中的中断向量写入中断向量表中。格式:AH=25HAL=中断类型号DS:DX=中断向量I

8、NT21H(5) 编写应用程序,触发60H号中断;(6) 中断结束后,返回应用程序继续执行;(7)把中断子程序驻留在内存中。中断驻留是一种特殊的退出程序功能,它在退出前保留程序占用的内存,使这些内存单元不被其它程序覆盖或占用。格式:AH=31HAL=0DX=驻留程序长度+16INT21HAL=0表示返回码。源代码:.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。