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

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

    千次阅读 2011-04-19 20:05:00
    转自 http://www.info.swust.edu.cn/wjyl/answer/wd/wd8.htm<br />8.18088/8086中断向量表的作用是什么? 【答】中断向量是中断服务程序的入口地址。将所有中断向量集中放在一起,形成中断向量表8086...

    转自 http://www.info.swust.edu.cn/wjyl/answer/wd/wd8.htm

    8.1 8088/8086中断向量表的作用是什么?

    【答】中断向量是中断服务程序的入口地址。将所有中断向量集中放在一起,形成中断向量表。8086系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。中断向量表放在内存的地段地址0单元开始的单元:00000H~03FFFH

    8.2 什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?

    【答】中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在00000070处。由于中断处理入口地址为51102030所以0070H0071H0072H,0073H这四个单元的值分别为30H,20H,10H,51H

    8.4 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什么内容?

    【答】CPUINTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1CPU就会在当前指令执行完后开始响应外部的中断请求,具体如下:

    1、 从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中;

    2、 将标志寄存器的值推入堆栈;

    3、 将标志寄存器中IFTF清零;

    4、 将断点保护到堆栈中;

    5、 根据中断类型获取中断向量转入中断处理子程序;

    6、 处理完后恢复现场。

    响应后堆栈的顶部4个单元是IP,CS

    8.5 8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?

    【答】8086/8088的中断向量表中可以看出,由于系统占用了部分中断类型码,主要包括:

    (1)        专用中断:04,占中断向量表000013H

    (2)        系统备用中断:531H

    (3)        用户使用中断:32H0FFH

    如果一个用户想定义一个中断,可以选择中断类型码32H-FFH,其中断向量在中断向量表的0C8H-01BFH

    展开全文
  • 这里写目录标题先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽中断3、除法错中断4、单步中断5、断点中断6、溢出中断7、软中断2、8086中断向量表3、8086中断响应1、外部可屏蔽中断响应2...

    博主联系方式:
    QQ:1540984562
    微信:wxid_nz49532kbh9u22 QQ交流群:892023501

    先验知识回顾

    控制寄存器回顾

    1
    PSW是Program Status Word的缩写,即程序状态字(也叫程序状态寄存器)
    CS:段代码寄存器。

    1、8086中断类型

    8086用8位二进制码表示一个中断类型,共有256个中断,可分为两大类:
    1
    中断结构:
    2

    1、外部可屏蔽中断

    由INTR引入,受到标志寄存器中的中断允许标志位IF控制。
    IF=0:CPU不响应INTR中断;
    IF=1:CPU响应INTR中断;
    INTR中断的类型码范围:8~255;

    2、外部不可屏蔽中断

    由NMI引入,不受到中断允许寄存器标志位IF控制。
    NMI信号有效,且8086现行指令执行结束,且没有DMA请求:响应NMI中断
    NMI中断类型码:2

    3、除法错中断

    在执行DIV或者IDIV指令时,除数为0或商超过寄存器能够表达的范围(商溢出):执行中断。
    中断类型号:0.
    (我寻思着,在做除法操作的时候就可以避免这种现象的存在,没有必要搞个中断啊。。。)

    4、单步中断

    受到标志位寄存器中的陷阱标志位TF控制。
    TF=1:CPU每执行完一条指令就引起一个内部中断。
    TF=0:无
    中断类型号:1
    用途:用于实现但不操作,是一种强有力的调试手段。(联系debug中相关操作)

    5、断点中断

    由INT3指令产生的内部中断。
    在程序调试过程中,需要跟踪程序走向,了解程序执行过程中的中间结果时,可以用INT3指令临时替代原有的指令,称为设置断点。
    中断类型号:3

    6、溢出中断

    受到标志寄存器中的溢出标志位OF控制。
    若上条指令执行结果使OF=1,则产生中断。
    中断类型号:4

    7、软中断

    由INTn指令产生。
    中断类型码:n

    2、8086中断向量表

    两个知识点:
    中断向量:中断指针,是中断服务程序的入口地址
    中断向量表:中断类型号与对应的中断服务函数入口地址的换算表。
    8086的中断向量表如下:
    1

    3、8086中断响应

    1、外部可屏蔽中断响应

    1、等待当前指令结束,然后进入中断响应周期。
    2、CPU获取中断类型号
    3、当前的PSW、CS、IP的内容依次压入栈中。(保存了断点的状态和断点地址,以便返回时恢复)
    4、清除PSW中的IF位和TF位。(IF=0意味着关中断,这里不包含中断嵌套)
    5、把中断服务函数的入口地址置入IP和CS
    6、完成响应,进入中断服务函数

    2、外部不可屏蔽中断响应

    中断请求在NMI端加入。
    等待当前指令执行结束.如果同时出现非屏蔽和可屏蔽中断请求,CPU优先响应非可屏蔽。
    中断类型号由硬件决定,不需要从外部获取。其他操作与可屏蔽中断相同

    3、内部中断响应

    内部中断的响应操作的共同特点:
    1、中断类型号来源于:指令码、CPU硬件,不需要从外部获取
    2、没有INTA’信号的响应周期
    3、不受到IF位的控制,但单步中断受TF位控制
    4、除单步中断之外,其他内部中断都比外部中断优先响应
    5、同样执行可屏蔽中断的3、4、5操作
    特别说明:
    中断响应时应清除TF标志位意味着什么?
    TF=1,没执行完一条指令都引起一次单步中断。如果不清除,将不停地引起中断,每次中断都执行同一条指令而不能反悔。
    所以,中断服务函数期间TF=0,等到IRET指令恢复PSW值是,才恢复TF位。

    4、8086中断返回

    无论内部外部中断,中断返回都是由中断服务函数的末尾设置IRET指令实现的。
    IRET指令的操作是:恢复断点处的地址和PSW内容:依次从堆栈中弹出保存的IP、CS、PSW值,使被中断的程序继续执行


    参考书籍:

    《微机原理与接口技术》

    展开全文
  • 汇编语言||8086/88的中断向量表

    千次阅读 2019-12-22 17:09:33
    中断向量表: 用来存放中断码对应中断处理程序的入口地址,一个地址包括段地址和偏移地址,高地址存放段地址,低地址存放... 8086CPU中断向量表存放在0地址处开始的1024个存储单元中,地址为0000:0000~0000:03FF ...

    中断向量表:

    • 用来存放中断码对应中断处理程序的入口地址,一个地址包括段地址和偏移地址,高地址存放段地址,低地址存放偏移地址
    • 需要四个字节来存储中断处理程序的入口地址,256个中断信号处理程序需要1024个字节来存储
    • 8086CPU中断向量表存放在0地址处开始的1024个存储单元中,地址为0000:0000~0000:03FF

     

    展开全文
  • 详细介绍了DSP中断向量表的编写。以及中断子向量表
  • 中断向量表

    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自己设置的中断以后再添加。

    展开全文
  • AVR Tmega128 中断向量表

    2010-01-07 17:18:05
    AVR Tmega128 中断向量表 中断向量表 中断向量号 中断向量 AVR中断向量表 mega128中断向量表
  • 单片机中断向量表

    2012-04-12 23:05:57
    单片机中断向量表
  • 异常向量表和中断向量表的关系 什么是异常? 异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理这些发生的事件。 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个...
  • 中断向量表和中断入口两个概念 中断向量表的位置在启动文件中startup_stm32f10x_hd.s中,可以看到定义了很多的中断函数, 这些函数是依次排列的,那就是依次给它们分配了空间。这些空间的地址就是中断入口,如果想改...
  • 1、中断号定义 在stm32f10x.h中定义枚举类型IRQn中,定义了各个中断...CM3的中有一个强大而方便的NVIC,它是属于Cortex内核的器件,中断向量表中60个中断都由它来处理。NVIC是Cortex-M3核心的一部分,关于它的资料...
  • 异常向量表和中断向量表的区别

    千次阅读 2017-03-22 22:08:03
    今天在看csapp,上面提到的异常和终端,突然让我想起来去年在学微机的时候并没有把两者的区别...今天终于明白了就是在x86中,是不区分中断和异常的,只有一张中断向量表。如果你们也是用的那本教材,请记住前一张图是x8
  • 一般统一放置在中断向量表中;中断向量表存放在内存特定的位置上。 PC系列及其兼容机上,系统在内存0-3FFH的1KB作为中断向量表,可存放0-255个中断向量。 PC系列及其兼容机中断号,从 00-被零除错误 开始,到 01...
  • 80x86 中断向量表

    千次阅读 2017-06-07 12:23:29
    1. 系统引导时,中断向量表放在内存何处?  系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个字节,共可存储256个中断向量。 2. 系统引导时,处在实模式下,只可寻址1MB...
  • ARM 嵌入式系统中断向量表的动态配置.pdfARM 嵌入式系统中断向量表的动态配置.pdfARM 嵌入式系统中断向量表的动态配置.pdfARM 嵌入式系统中断向量表的动态配置.pdf
  • 中断向量表 关于DOS编程的256个中断
  • 问题背景 项目使用STM32F030,需要通过IAP进行固件升级,在FLASH里面要烧录两份代码:一个Boot loader,一个用户应用...但在STM32F0xx系列以Cortex-M0为内核的单片机中却怎么也找不到这个设置中断向量表的寄存器,用
  • 中断向量 中断向量表

    千次阅读 2015-05-27 11:24:39
    1、中断标识码(中断类型号):由硬件(通常是中断控制器)产生,以标识不同的中断源。 2、中断向量:早期的微机系统中将由硬件产生的中断标识码(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放...
  • 汇编语言常用的一些中断指令: 中断 向量表 希望有点用处
  • ARM中断向量表与响应流程

    万次阅读 2014-10-18 18:24:20
    一首先中断向量表定义在哪里?如何加载?  二  中断向量表与中断服务程序 三处理流程 //////////////////////////////////////////////////////////////////////////////////////////////////// 一首先中断向...
  • 中断,中断向量,中断向量表 Right at the beginning, we need to outline a couple of details for our readers: 从一开始,我们就需要为读者概述一些细节: All Autonomous System Numbers under 1000 are called ...
  • BIOS 中断向量表

    2019-04-04 22:02:10
    在bochs虚拟器调试中输入info ivt可以查看BIOS中断向量表 具体说明如下: 中断 描述 INT 00h CPU:除零错,或商不合法时触发 INT 01h CPU:单步陷阱,TF标记为打开状态时,每条指令执行后...
  • Linux内核ARM架构异常中断向量表

    千次阅读 2020-07-18 13:21:34
    Linux内核ARM架构异常中断向量表说明ARM中异常中断的种类ARM异常中断向量表内核异常向量表异常向量表跳转vector_srub宏内核启动建立异常向量表   当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,532
精华内容 8,612
关键字:

8086中断向量表