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

    中断传送方式:

    中断和中断源

    中断是一种使CPU挂起正在执行的程序而去处理特殊事件的操作。引起中断的事件称为中断源

    中断源可能是来自外设的输入输出请求,也可能是计算机异常事件或其他内部原因。

    中断的传送

    当CPU需要输入或输出数据时,先作出一些必要的准备工作,然后继续执行程序。当外设完成一个数据的输入或输出后,向CPU发送中断请求,CPU挂起正在执行的程序,转去执行输入或输出操作。完成输入或输出后,返回程序继续执行。

    中断的缺点是每次中断,只能传送一次数据,数据传送速度不高。

    中断向量表

    IBM PC支持256种类型的中断 0~0FFH。每种类型中断由相应中断处理程序处理。中断向量表就是各种中断类型的处理程序地址表。

    存储器低1.5K字节由系统占用,其中低1K字节存放中断向量,每项占用4个字节,共能存放256个中断向量。其中每项的低字存放向量的偏移地址,高字存放向量的段值。每个中断向量地址由中断类型号乘4可以算出。

    中断向量号的分配

    保留60H~68H和0F1H~0FFH中断向量号,其他向量号都可以认为已经被占用。

    CLI指令,将中断标志清0

    STI指令,将中断标志置1

    设置和存取中断向量

    如果新的中断功能只供自己使用,或自己编写的中断处理程序替代了系统中的处理程序时,应保存替代前的中断向量,在程序结束时还原。

    一般利用DOS提供的25H系统功能调用来设置中断向量,35H功能调用来取出中断向量

    25H格式为 AL=中断向量类型号  DS=入口段值 DX=入口偏移

    35H格式为 AL=中断向量类型号  ES=出口段值  BX=出口偏移

    例: 利用DOS功能调用来存取中断向量

    MOV AL, N

    MOV AH, 35H

    INT 21H

    PUSH EX

    PUSH BX

    PUSH DS

    MOV AX, SETMENT INTHAND

    MOV DS, AX

    MOV DX OFFSET INTHAND

    MOV AL 25H

    INT 21H

    POP DS

    ……

    POP DX

    POP DS

    MOV AL, N

    MOV AH, 25H

    INT 21H

    RET

    INTHAND……

  • 相关阅读:
    HTTP与HTTPS的区别
    Linux内核结构体--kfifo 环状缓冲区
    POSIX 线程详解
    linux的fork()函数-进程控制
    HDU 3435 A new Graph Game(最小费用最大流)&HDU 3488
    Memcached安装使用和源代码调试
    结构-01. 有理数比較(10)
    Android:你不知道的 WebView 使用漏洞
    关于文件异步上传
    <二代測序> 批量下载 NCBI sra 文件
  • 原文地址:https://www.cnblogs.com/hailong/p/1922480.html
Copyright © 2011-2022 走看看