ImageVerifierCode 换一换
格式:PPT , 页数:24 ,大小:210.50KB ,
资源ID:1216998      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1216998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中断服务程序.ppt)为本站会员(知足长乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

中断服务程序.ppt

1、中断服务程序的编程,中断入口,保护现场,为中断源服务部分,发中断结束命令,恢复现场,中断返回,主程序编程,6.5中断程序设计,等待中断,串指令装入法伪指令装入法DOS调用法直接装入法,一、中断向量表的建立方法,8088的中断向量表,利用STOSW指令将中服的段基址和偏移地址送入中断向量表。STOSW: (AX)ES:DI,根据DF修改DI例:设中断类型码为n,中服名称为INT_SEV,1、串指令装入法,CLI ;关中断MOV AX,0MOV ES,AX ;置附加段基地址为0MOV DI, n*4 ;置附加段偏移地址到DIMOV AX,OFFSET INT_SEV;置中断程序首地址的 ;偏移量到

2、AXCLDSTOSW ;填偏移量到中断地址表MOV AX, SEG INT_SEV ;置中断程序的段基地址到AXSTOSW ;填段基地址到中断地址表STI ;开中断,2、伪指令装入法,例:设中断类型码为n,中服名称为INT_SEV,INT_TAB SEGMENT AT 0 ORG n*4 DW OFFSET INT _SEV DW SEG INT_SEVINT_TAB ENDS,使用DOS功能调用的25H功能,从而将中服的入口地址置入中断向量表。要求:AL中断类型号DS:DX中断服务程序首地址的段、偏移地址,3、DOS调用法,PUSH DSMOV AX,SEG INT_SEV ;段基地址送DS

3、MOV DS,AXMOV DX,OFFSET INT_SEV ;偏移地址送DXMOV AL,60H;中断类型号送AL MOV AH,25H ;(AH)功能号INT 21H;功能调用 POP DS,注意:在PC机系统初始化时,有一部分中断例程已驻留在内存中。一般情况下,用户不应改变系统对这些中断的设置。可借用:程序中进行中断矢量的替换。,3、DOS调用法(续),例:假设借用DOS系统的0CH中断,用户系统的中服入口地址为newint,则相应程序如下:,;数据段:设置内存缓冲区,用于暂存 DOS的中断矢量 intoffdw ? intsegdw ? ;主程序mov ax,350ch ;取出DOS的

4、中断矢量, int 21h ;并送ES:BX mov intoff,bx ;保存DOS的中断矢量 mov intseg,es,获取中断向量(DOS功能调用INT 21H)功能号:AH35H入口参数:AL中断向量号出口参数:ES:BX中断向量(段地址:偏移地址),设置中断向量,push ds ;保护DSmov dx,offset newint ;将DOS中断矢量用mov ax,seg newint ;用户中断矢量取代mov ds,axmov ax,250chint 21hpop ds ;恢复DOSsti ;开中断,设置中断向量(DOS功能调用INT 21H)功能号:AH25H入口参数:AL中断向

5、量号DS:DX中断向量(段地址:偏移地址),恢复原中断矢量,cli ;关中断 push ds ;保护DS mov dx,intoff ;恢复DOS的中断矢量 mov ax,intseg mov ds,ax mov ax,250ch int 21h pop ds ;恢复DS sti ;开中断,若外设的中断类型号为6BH,设中断服务程序段地址是1000H,偏移地址为2000H则此中断类型号对应的中断矢量表地址为从00lACH开始的四个存储单元。,4、直接装入法,MOV AX,0 MOV DS,AX ;置数据段段基地址为0 MOVAX,2000H MOV WORD PTR 01ACH, AX ;对偏

6、移地址为01ACH的单元MOV AX,1000H ;送双字MOV WORD PTR 01ACH+2, AX ;对01AEH的单元送双字,二、 中断程序设计,编写内部中断服务程序与编写子程序类似主程序需要调用中断服务程序调用前,需要设置中断向量利用INT n指令调用中断服务程序,例1. 内部中断服务程序,编写80H号中断服务程序功能:显示以“0”结尾字符串的功能利用显示器功能调用INT 10H字符串缓冲区首地址为入口参数DS:DX(段地址:偏移地址)传递参数,数据段,intoffdw ?intsegdw ?intmsgdb A Instruction Interrupt !db 0dh,0ah,

7、0,例1,以“0”结尾,回车、换行,保存中断向量,mov ax,3580hint 21hmov intoff,bx;保存偏移地址mov intseg,es;保存段基地址,例1,获取中断向量(DOS功能调用INT 21H)功能号:AH35H入口参数:AL中断向量号出口参数:ES:BX中断向量(段地址:偏移地址),设置中断向量,push dsmov dx,offset new80hmov ax,seg new80hmov ds,axmov ax,2580hint 21hpop ds,例1,设置中断向量(DOS功能调用INT 21H)功能号:AH25H入口参数:AL中断向量号DS:DX中断向量(段地

8、址:偏移地址),调用中断服务程序,;设置入口参数:DS段地址(已设置)DX偏移地址mov dx,offset intmsgint 80h ;调用80H中断服务程序,例1,A Instruction Interrupt !,;80H号内部中断服务程序:;显示字符串(以“0”结尾);入口参数:DS:DX缓冲器首地址new80hprocsti;开中断push ax;保护寄存器push bxpush si,例1,进入中断服务程序,A Instruction Interrupt !,显示字符串,mov si,dxnew1:mov al,sicmp al,0jz new2mov bx,0mov ah,0ehint 10hinc sijmp new1,例1,A Instruction Interrupt !,退出中断服务程序,new2:pop si;恢复寄存器pop bxpop axiret;中断返回new80hendp,例1,A Instruction Interrupt !,主程序结束,mov dx,intoffmov ax,intsegmov ds,axmov ax,2580hint 21hmov ax,4c00hint 21h,例1,A Instruction Interrupt !,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报