微型计算机技术58612幻灯片资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用保留的中断类型号扩充中断功能,需要在中断向量表中建立相应的中断向量。为中断类型N设置中断向量的方法: MOV AX ,0 MOV ES ,AX MOV BX ,N﹡4 MOV AX ,OFFSET INHAND MOV ES :WORD PTR [BX] ,AX MOV AX ,SEG INHAND MOV ES :WORD PTR[BX+2] ,AX INHAND: IRET 中断向量表 子程序 IRET INHAND (BX)= N﹡4 (BX)+2 OFFSET INHAND SEG INHAND 0:0000 IP CS ① ② ① ② 用自己编写的中断处理程序代替系统中的某个中断处理功能时: (1)利用DOS功能调用(21H)保存原中断向量 (2)设置新的中断向量; (3)在程序结束之前恢复原中断向量 设置中断向量的DOS功能调用 把由AL指定的中断类型的中断向量DS:DX放在中断向量表中. 预置: AH=25H AL=中断类型号 DS:DX=中断向量 执行:INT 21H 取中断向量的DOS功能调用 把由AL指定的中断类型的中断向量从中断向量表中取到ES:BX中 预置:AH = 35H AL=中断类型号 执行:INT 21H 例:使用DOS功能调用存取中断向量。 MOV AL ,N ; MOV AH ,35H ; INT 21H ; PUSH ES PUSH BX PUSH DS MOV AX ,SEG INTNAND MOV DS ,AX MOV DX ,OFFSET INTHAND MOV AL ,N MOV AH ,25H POP DS 利用功能号35H的DOS功能 调用把N类型的中断向量 取到ES:BX中,进行压栈 保存。 新的中断向量DS:DX利用 功能号25H的DOS功能调用 存入到中断向量表中。中 断类型为N。 POP DX ; POP DS ; MOV AL ,N MOV AH ,25H INT 21H RET INTHAND: IRET 将原来压栈保护的中断向量 弹出到DS:DX中,利用功能 号25H的DOS功能调用再存入 到中断向量表中。 INTHAND是新的中断服务 子程序的入口符号地址。 4.中断过程 中断过程: 1.保存返回地址CS:IP、 保存标志寄存器FLAGS。 2.CPU还自动清除IF位和 TF位,目的是使CPU转人中断 处理程序后, 不允许再产生 新的中断。 3.转入中断服务程序。 IRET 中断服务 1.FKAGS、CS、IP入栈 2.清除IF、TF 3.转中断处理程序 INTHAND 产生中断 1.IP、CS和FLAGS出栈 2.返回断点,继续执行下一条指令。 中断返回 5.中断优先级 中断优先级: CPU根据中断源的轻重缓急为中断源事先安排的中断优先级次序。 当多个中断源同时向CPU请求中断时,CPU先比较它们的优先级,然后从优先级高到优先级低的次序来依次处理各个中断源的中断请求。 8086规定中断的优先级次序为: 优先级高 软件中断(除法错,INTO,INT) 非屏蔽中断(NMI) 可屏蔽中断(INTR) 低 单步中断 可屏蔽中断的优先权又分为八级,在正常的优先级方式下,优先级次序是: 优先级高 低 IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7 4.4.3 中断程序设计举例 中断处理程序的编写应注意: (1)中断处理程序若不允许被打断,则清除IF和TF,若允许其他设备中断,则需用STI指令把IF位置1。 (2)CPU产生一次中断,

文档评论(0)

sunfuliang7808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档