精华内容
下载资源
问答
  • 中断向量表

    2021-01-21 13:34:06
    中断向量表(interrupt vector table,IVT)是中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类...

    中断向量表(interrupt vector table,IVT)是中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系: 中断类型号×4=存放中断向量的首地址 有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口。

    介绍

    是指中断服务程序入口地址的偏移量与段基值一个中断向量占据4字节空间。中断向量表是8086系统内存最低端1K字节空间,它的作用就是按照中断类型号从小到大的顺序存储对应的中断向量,总共存储256个中断向量。在中断响应过程中,CPU通过从接口电路获取的中断类型号(中断向量号)计算对应中断向量在表中的位置,并从中断向量表中获取中断向量,将程序流程转向中断服务程序的入口地址。

    列表

    80x86系统是把所有的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫做中断向量表,即中断服务程序入口地址表。

    由于中断向量表可以在操作系统层面灵活修改,因此,不同的系统的中断向量表可能是不同的。此外,intel在CPU的保护模式下,占用了0x00 ~ 0x1F共32个中断号,在Linux下,是从0x20开始用于系统自身的中断的,包括8259芯片的中断重置。

    BIOS(实模式)的中断向量表如下:

    80x86

    I/O ADDR

    INT TYPE(16进制)

    FUNCTION

    00 ~ 03

    0

    除法溢出中断

    04 ~ 07

    1

    单步(用于DEBUG)

    08 ~ 0B

    2

    非屏蔽中断(NMI)

    0C ~ 0F

    3

    断点中断(用于DEBUG)

    10 ~ 13

    4

    溢出中断

    14 ~ 17

    5

    打印屏幕

    18 ~ 1F

    6/7

    保留

    8259主片

    I/O ADDR

    INT TYPE(16进制)

    FUNCTION

    20 ~ 23

    8

    定时器(IRQ0)

    24 ~ 27

    9

    键盘(IRQ1)

    28 ~ 2B

    A

    彩色/图形(IRQ2)

    2C ~ 2F

    B

    串行通信COM2(IRQ3)

    30 ~ 33

    C

    串行通信COM1(IRQ4)

    34 ~ 37

    D

    LPT2控制器中断(IRQ5)

    38 ~ 3B

    E

    磁盘控制器中断(IRQ6)

    3C ~ 3F

    F

    LPT1控制器中断(IRQ7)

    BIOS

    I/O ADDR

    INT TYPE(16进制)

    FUNCTION

    40 ~43

    10

    视频显示 I/O

    44 ~ 47

    11

    设备检验

    48 ~ 4B

    12

    测定存储器容量

    4C ~ 4F

    13

    磁盘 I/O

    50 ~ 53

    14

    RS-232 串行口 I/O

    54 ~ 57

    15

    系统描述表指针

    58 ~ 5B

    16

    键盘 I/O

    5C ~ 5F

    17

    打印机 I/O

    60 ~ 63

    18

    ROM BASIC 入口代码

    64 ~ 67

    19

    引导装入程序

    68 ~ 6B

    1A

    日时钟

    提供用户中断

    I/O ADDR

    INT TYPE(16进制)

    FUNCTION

    6C ~ 6F

    1B

    Ctrl - Break 控制的软中断

    70 ~ 73

    1C

    定时器控制的软中断

    74 ~ 77

    1D

    视频参数块

    78 ~ 7B

    1E

    软盘参数块

    7C ~ 7F

    1F

    图形字符扩展码

    在DOS系统(实模式)下,从0x20开始,用于操作系统本身。

    DOS

    I/O ADDR

    INT TYPE(16进制)

    FUNCTION

    80 ~ 83

    20

    DOS 中断返回

    84 ~ 87

    21

    DOS 系统功能调用

    88 ~ 8B

    22

    程序中止时 DOS 返回地址(用户不能直接调用)

    8C ~ 8F

    23

    Ctrl - Break 处理地址(用户不能直接调用)

    90 ~ 93

    24

    严重错误处理(用户不能直接调用)

    94 ~ 97

    25

    绝对磁盘读功能

    98 ~ 9B

    26

    绝对磁盘写功能

    9C ~ 9F

    27

    终止并驻留程序

    A0 ~ A3

    28

    DOS安全使用

    A4 ~ A7

    29

    快速写字符

    A8 ~ AB

    2A

    Microsoft 网络接口

    B8 ~ BB

    2E

    基本 SHELL 程序装入

    BC ~ BF

    2F

    多路服务中断

    CC ~ CF

    33

    鼠标中断

    104 ~ 107

    41

    硬盘参数块

    118 ~ 11B

    46

    第二硬盘参数块

    11C ~ 3FF

    47 ~ FF

    BASIC 中断

    保护模式

    在Linux下(保护模式),没有使用BIOS设置的中断向量表,0x00 ~ 0x1F是CPU保护模式下的默认中断向量,而0x20开始,都是被Linux系统重新设置的。

    X86占用的中断向量表如下:

    向量号

    助记符

    说明

    类型

    错误号

    产生源

    0

    #DE

    除出错

    故障

    DIV或IDIV指令。

    1

    #DB

    调试

    故障/陷阱

    任何代码或数据引用,或是INT 1指令。

    2

    --

    NMI中断

    中断

    非屏蔽外部中断。

    3

    #BP

    断点

    陷阱

    INT 3指令。

    4

    #OF

    溢出

    陷阱

    INTO指令。

    5

    #BR

    边界范围超出

    故障

    BOUND指令。

    6

    #UD

    无效操作码

    故障

    UD2指令或保留的操作码。

    7

    #NM

    设备不存在

    故障

    浮点或WAIT/FWAIT指令。

    8

    #DF

    双重错误

    异常终止

    有(0)

    任何可产生异常、NMI或INTR的指令。

    9

    --

    协处理器段超越(保留)

    故障

    浮点指令

    10

    #TS

    无效的任务状态段TSS

    故障

    任务交换或访问TSS

    11

    #NP

    段不存在

    故障

    加载段寄存器或访问系统段

    12

    #SS

    堆栈段错误

    故障

    堆栈操作或SS寄存器加载

    13

    #GP

    一般保护错误

    故障

    任何内存引用和其他保护检查

    14

    #PF

    页面错误

    故障

    任何内存引用

    15

    --

    (intel保留)

     

     

    16

    #MF

    x87 FPU浮点错误

    故障

     

    17

    #AC

    对齐检查

    故障

    有(0)

    对内存中任何数据的引用。

    18

    #MC

    机器检查

    异常终止

    错误码(若有)和产生源与CPU类型有关。

    19

    #XF

    SIMD浮点异常

    故障

     

    Linux自己设置的中断以后再添加。

    展开全文
  • 基于 C 语言设置 TMS320 DSP 中断向量表 摘要 随着 DSP 芯片 应用 的不断深入用 C 语言开发 DSP 芯片不仅可以使 DSP 芯 片的开发速度大大提高也使得程序的修改和移植变得十分方便C 语言设置 TMS320 系 列 DSP 中断向...
  • 本案例在介绍数字PID控制器和模糊Pl控制器的DSP应用程序设计的同时,还介绍TI公司C2000系列DSP芯片开发时,中断向量表和中断子向量表的编写和配置方法。  一个实用DSP程序除包括主程序和系统初始化程序以及存储器...
  • 详细介绍了DSP中断向量表的编写。以及中断子向量表
  • 8086中断向量表

    2019-02-16 20:10:24
    中断向量表: 用来存放中断码对应中断处理程序的入口地址,一个地址包括段地址和偏移地址,高地址存放段地址,低地址存放偏移地址 需要四个字节来存储中断处理程序的入口地址,256个中断信号处理程序需要1024个字节...
  • ARM中的中断向量表

    2021-01-19 17:19:52
    当中断或异常发生的时候,CPU自动将PC指向一个特定的地址,这个地址就是中断向量表。  在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中  断服务例程的...
  • ARM嵌入式系统中断向量表的动态配置,通常32位ARM嵌入式系统的中断向量表是在程序编译前设置好的,每次编写中断程序都要改C程序的汇编启动代码,相当繁琐。本文给出一种配置ARM中断向量表新方法。该方法比通常方法仅...
  • 单片机中断向量表

    2012-04-12 23:05:57
    单片机中断向量表
  • 中断向量表和中断入口两个概念 中断向量表的位置在启动文件中startup_stm32f10x_hd.s中,可以看到定义了很多的中断函数, 这些函数是依次排列的,那就是依次给它们分配了空间。这些空间的地址就是中断入口,如果想改...

    中断向量表和中断入口两个概念
    中断向量表的位置在启动文件中startup_stm32f10x_hd.s中,可以看到定义了很多的中断函数,
    DCD0是暂时没用的表位置这些函数是依次排列的,那就是依次给它们分配了空间。这些空间的地址就是中断入口,如果想改中断入口的话,应该就是改这些函数的次序吧,这里的函数名应该是跳转到中断服务程序的意思。

    展开全文
  • 异常向量表和中断向量表的关系 什么是异常? 异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理这些发生的事件。 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个...

    Linux中断知识汇总:

    【深入理解Linux内核】【中断】内容汇总帖


     

    目录

    什么是异常?

    什么是中断?

    异常和中断的关系

    什么是异常向量表?

    什么是中断向量表?

    异常向量表和中断向量表的关系


    什么是异常?

    异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理这些发生的事件。

    当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。从这句话中可以知道异常包括中断(单片机中的中断)+和运行模式的切换“中断”+资源访问“中断”。


    什么是中断?

    中断:中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

    Ps:其实中断的描述和异常的描述非常接近(甚至可以说是完全一样)因为中断就是异常的一种表现形式啊!


    异常和中断的关系

    以ARM为例,异常包括:复位、未定义、软中断、预取指令终止、数据中止、中断、快速中断等。

    中断是异常的一种。

    简单来说,就是异常包含中断,异常的范围比中断要更大一些。例如复位、未定义、软中断、指令预取、数据中止等等都属于异常。


    什么是异常向量表?

    当异常(包括中断)发生的时候,处理器挂起正常执行的程序,重新设置PC为一个特殊的内存地址(这个地址叫做异常向量表),并开始加载,异常向量表每个入口包含一个指向 specific routine (包括中断)的分支指令。

    异常向量表中的内容包括:

    • 复位、
    • 未定义、
    • 软中断、
    • 预取指令终止、
    • 数据中止、
    • 中断、
    • 快速中断

    什么是中断向量表?

    中断向量表:把系统中所有的中断类型码(中断号)及其对应的中断处理函数按一定的规律存放在一个区域内,这个存储区域就叫中断向量表。


    异常向量表和中断向量表的关系

    异常向量表:异常向量表就是把所有异常类型码及其对应的异常向量(入口函数)按一定的规律存在一个区域内,这个存储区域就叫做异常向量表。

    中断向量表:把系统中所有的中断类型码(中断号)及其对应的中断向量(中断处理函数)按一定的规律存放在一个区域内,这个存储区域就叫中断向量表。

    中断向量表包含在异常向量表中。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,852
精华内容 1,140
关键字:

中断向量表