zoukankan      html  css  js  c++  java
  • 汇编(中断向量的设置)

    1、关于中断向量的概念:

    中断向量:即中断服务子程序的入口逻辑地址,由两部分组成:服务程序的段基址CS(2字节)和服务程序的偏移地址IP(2字节)。

    中断向量表:存放中断向量的一个特定的内存区域,位于整个内存区域的最低端,物理地址范围从00000H~003FFH(一个中断向量占4字节的空间,因此256个中断一共需要1K字节的空间)。共256个中断,中断类型号从0~255。

    中断类型号和中断向量地址之间的关系:

    中断向量地址 = 中断类型号*4(即可找到中断向量地址,前两位送给偏移量后两位送给段基址)

    2、流程图:

    3、程序:

    设中断服务程序的入口地址标号为VINTSUB,中断类型号为10,中断向量的设置如下:

    OFFSET是从地址标号中取出段偏移地址偏移地址IP

    SEG是从地址标号中取出段基地址

    .
    .
    .
    MOV DX,OFFSET VINTSUB    ;取偏移地址 
    PUSH DS    ;将 DS 寄存器数据推入堆栈,要再次得到 DS 的值的时候可以用 POP DS,即临时保存一下DS的值,这里起保护数据段的作用 
    MOV AX,SEG VINTSUB    ;取段基址 
    MOV DS,AX    ;置入段基地址    
    MOV AL,10    ;中断类型号 
    MOV AH,25H    ;调用功能号 
    INT 21H    ;DOS功能调用
    POP DS    ;恢 复 DS 中的数据
    .
    .
    .
     
    每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
  • 相关阅读:
    06C++11线程池
    05C++11生产者消费者模式2
    04C++11生产者消费者模式
    03智能指针之shared_ptr
    洛谷P1262+Tarjan缩点
    洛谷P1147 连续自然数和
    洛谷P1970 花匠
    接下来的一些操作
    树状数组 代码(洛谷为例)
    洛谷P1576 最小花费
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12089206.html
Copyright © 2011-2022 走看看