8086中断技术

一,概述

1,中断与中断源

所谓“中断”是指在CPU正常运行程序时,由于内、外部事件引起CPU暂时中止正在运行的程序,转而去执行请求CPU暂时中止的内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序。

所谓“中断源”是指能够向CPU发出中断请求的中断来源。

2,中断响应与中断处理

  • CPU响应中断的条件
    • 设置中断请求触发器
    • 设置中断屏蔽触发器
    • 设置中断允许触发器的状态
    • CPU在现行指令结束后响应中断

中断处理过程

  • 1,关中断

    CPU在响应中断后,发出中断响应信号INTA,同时内部自动地关中断,以禁止接受其他的中断请求。

  • 2,保护断点

    把断点处的标志寄存器FR的内容、段寄存器CS值和指令指针IP值依次压入堆栈保存,以便中断处理完后能正确地返回到主程序的断点地址,接着执行被中断的程序。

  • 3,识别中断源

    CPU要对中断请求进行处理,必须要找到相应中断服务程序(处理中断的程序)的入口地址,这就是中断源的识别。

  • 4,保护现场

    为了不使中断服务程序的运行影响主程序的状态,必须把断点处有关寄存器(指在中断服务程序中要使用的寄存器)内容压入堆栈保护。

  • 5,执行中断服务程序

  • 6,恢复现场

  • 7,开中断与返回

    开放中断在返回之前,目的是返回主程序后能继续响应新的中断请求。从中断返回到断点处,有一条专门的中断返回指令,该指令的隐操作是将堆栈栈顶处连续的三个字依次弹出给指令指针IP、段寄存器CS以及标志寄存器FR。

二,lntel8086的中断系统(重点)

1,外部中断

  • 1、可屏蔽中断INTR
    接收来自普通外设的中断请求信号,高电平有效如果IF=1,CPU响应该中断请求;如果IF=0,CPU屏蔽该中断请求
  • 2、不可屏蔽中断NMI
    通知CPU发生了“灾难性”的事件,如电源掉电等,上升沿触发,CPU必须响应该中断请求。中断类型码为2。

2,内部中断

内部中断是通过软件调用的不可屏蔽中断

  • 1、溢出中断
    OF=1产生的中断,中断类型码为4
  • 2、除法出错中断
    DIV、IDIV运算时超出商的范围,中断类型码为0
  • 3、INTn中断
    中断指令,中断类型码为n
  • 4、断点中断
    断点中断,类型码为3
  • 5、单步中断
    TF=1产生的中断,类型码为1

内部中断的注意事项:

  • (1)类型码固定指定。
  • (2)不执行中断响应周期。
  • (3)除单步中断外,无法禁止,都比外部中断优先级高。

3,中断向量表

  • 1,中断向量
    • 中断服务程序入口地址,包含段基址和偏移地址。
    • 一个中断向量占用4个字节的存储空间,较高地址的两个字节存放段基值;较低地址的两个字节存放偏移地址。
    • 这4个单元的最低地址称为向量地址。
  • 2,中断向量表
    • 又称中断指针表,是存放中断向量的表格。
    • 位于存储器的最低端(0000H: 0000H~0000H:03FFH),共1024个字节,一共可以存放256个中断向量。
    • 向量地址=中断类型码×4。

对于内部中断和NMI中断

  • 中断类型码固定,因此不需要向CPU提供中断类型码。

对于INTR中断

  • 没有固定的中断类型码,因此当CPU响应该中断时,需要执行中断响应周期,申请该中断的外设在中断响应周期内将中断类型码送给CPU。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阔升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值