zoukankan      html  css  js  c++  java
  • 汇编学习笔记34

    本节继续中断数据传送方式

    一、中断响应过程

    1.中断响应过程

    响应中断时硬件自动完成的工作为:

    1.取得中断类型号

    2.把标志寄存器内容压栈

    3.禁止外部中断和单步中断

    4.把下一条指令地址压栈(CS和IP)

    5.从中断类型号取出中断处理程序入口地址

    6.转入中断处理程序

    2.中断返回指令利用堆栈返回指令从堆栈中弹出返回地址和原标志寄存器值。

    指令格式: IRET

    操作为:

    IP          <—[SP]

    SP         <—SP+2

    CS        <—[SP]

    SP        <—SP+2

    FLAGS  <—[SP]

    SP        <—SP+2

    中断处理中一般不允许产生新的中断。

    二、外部中断

    外部的某个事件引起的中断称为外部中断,如输入输出等。

    INTR 接受可屏蔽中断请求,

    NMI接受非屏蔽中断请求。

    可屏蔽中断:

    键盘,硬盘等外设中断请求通过中断控制器8259A传送给可屏蔽中断请求线INTR,中断控制器8259A共能接受8个独立的中断请求信号,从IRQ0至IRQ7

    8259A包含两个寄存器,中断屏蔽寄存器为21H,它的8位对应控制8个外设,通过设置寄存器的某位为0或为1来允许或禁止传递过来的IRQ中断请求信号 。中断屏蔽寄存器的内容称为中断屏蔽字。

    中断控制器:

    0  -------   定时器

    1  -------   键盘

    2  -------   保留

    3  -------   串行1

    4  -------   串行2

    5  -------   硬盘

    6  -------   软盘

    7  -------   打印机

    只有在IF为1时,CPU才响应由INTR传入的中断请求。IF为1时,称为开中断,CF为0时,称为关中断。

    当某位为0时,允许该位控制的外设中断请求。

  • 相关阅读:
    第010讲~第011讲:一个打了激素的数组
    练习15--阅读文件
    第007讲~第009讲:了不起的分支和循环
    第006讲:Python之常用操作符
    第005讲:闲聊之python的数据类型
    练习14--提示和传递
    第004讲:改进我们的小游戏
    ICPC Central Europe Regional Contest 2019 H. Ponk Warshall
    2019 ICPC Asia Yinchuan Regional G. Pot!!(线段树 区间更新 区间查询)
    CF1286A Garland
  • 原文地址:https://www.cnblogs.com/hailong/p/1923402.html
Copyright © 2011-2022 走看看