第八章输入输出程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

使用DOS功能调用(21H)存取中断向量例8.4 使用DOS功能调用存取中断向量第29页,共59页,星期日,2025年,2月5日8.3.3中断过程当中断发生时,由中断机构自动完成下列操作:取中断类型号N;标志寄存器(FLAGS)内容入栈;当前代码段寄存器(CS)内容入栈;当前指令指针寄存器(IP)内容入栈;禁止硬件中断和单步中断(IF=0,TF=0);从中断向量表中取4×N的字内容送IP,取4×N+2的字内容送CS;转中断处理程序。如图8.7的中断过程示意图。第30页,共59页,星期日,2025年,2月5日8.3.4中断优先级和中断嵌套8086规定的中断优先级次序为:优先级 高 软件中断(除法错,INTO,INT) 非屏蔽中断(NMI) 可屏蔽中断(INTR) 低 单步中断可屏蔽中断的优先权分为八级,正常情况下,优先级次序是:IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7定时器 打印机优先级高 低第31页,共59页,星期日,2025年,2月5日8259A的中断命令寄存器控制优先级8259A的中断命令寄存器的第6、7位控制各种中断请求的优先级次序。R SL0 0 正常优先级方式0 1 清除由L2~L0指定的中断请求1 0 各中断优先级依次左循环一个位置1 1 各中断优先级依次循环到由L2~L0指定的中断 请求到达最低优先级位置上 ;使优先级次序再左循环一个位置MOV AL,OUT 20H,AL ;IR6,IR7,IR0,IR1,IR2,IR3,IR4,IR5第32页,共59页,星期日,2025年,2月5日中断嵌套中断嵌套:正在运行的中断处理程序,又被其他中断源中断的情况。80x86没有规定中断嵌套的深度(中断程序又被中断的层次),实际受堆栈容量的限制。一个中断处理程序,在开中断的情况下,可以被优先级高于它的中断源中断。只有发出了EOI命令,清除正在执行的中断请求,才可以响应同级或低级的中断。如图8.8所示:正常优先级方式下,优先级中断和中断嵌套发生时的处理过程。第33页,共59页,星期日,2025年,2月5日8.3.5中断处理程序主程序为响应中断所做的准备工作以及硬件(包括CPU和外设接口)自动完成以下动作:第34页,共59页,星期日,2025年,2月5日中断响应的特殊情况注意:设备发到CPU的中断请求信号在时间上是随机的,只要未被屏蔽的设备本身的状态是准备好或空闲的,它就会向CPU请求中断,如果此时CPU正在执行一条指令,那么要等到这条指令执行完后,才响应中断。加封锁的指令(如LOCKMOVAX,BX)应看作一条指令;对加重复前缀的指令(如REPMOVSB)要作为一个整体来处理,执行一次重复串指令即可响应中断;对MOV、POP指令,如果处理对象是段寄存器,那么执行完本条指令后,接着再执行一条指令才响应中断。对STI和IRET指令,也要在该指令执行完后,再执行一条指令才响应中断。第35页,共59页,星期日,2025年,2月5日中断处理子程序中断处理子程序的编写步骤:保存寄存器内容;如允许嵌套,则开中断(STI);处理中断;关中断(CLI);送中断结束命令(EOI)给中断命令寄存器;恢复寄存器内容;返回被中断的程序(IRET)。注意:CPU产生一次中断,I/O设备只完成一个字节(或字)的输入输出,所以中断处理程序所用的指针变量或数据变量一般应设置存储单元来保存。第36页,共59页,星期日,2025年,2月5日中断程序设计举例例8.5 响铃 P300-303例8.6 键盘输入、打印机输出 P303-310例8.7 P310-313除数为0的中断处理程序 第37页,共59页,星期日,2025年,2月5日练习与作业P313-314习题练习: 8.5、8.6提交作业: 8.12第38页,共59页,星期日,2025年,2月5日I/O接口电路示意图处理器数据寄存器状态寄存器控制寄存器输入输出设备数据总线控制总线地址总线外设数据状态信号控制信号I/O接口电路第39页,共59页,星期日,2025年,2月5日表8.1I/O端口地址分配第40页,共59页,星期日,2025年,2月5日例8.1发声程序-1这是一个最基本的控制扬声器发出声音的子程序。通过I/O指令使设备控制寄存器(

文档评论(0)

xiaoshun2024 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档