微机原理与接口技术课程案例-7.中断向量表(已看)
- 格式:ppt
- 大小:970.05 KB
- 文档页数:12
中断向量表中断向量表是DSP程序的重要组成部分,当有中断发生并且处于允许状态时,程序指针跳转到中断向量表中对应的中断地址。
由于中断服务程序一般较长,通常中断向量表存放的是一个跳转指令,指向实际的中断服务程序。
下面是5402中断向量表的一个范例,可以作为模板,使用时稍作修改就行:******************************************************************5402V ectors.asm*完整的5402中断向量表示例*5402共有30个中断向量,每个向量占4个字的空间。
*使用向量一般用一条跳转指令转到相应中断服务子程序,其余空位用NOP填充*未使用的向量直接用RETE返回,是为了防止意外进入未用中断。
***************************************************************** .sect ".vectors" ;开始命名段.vecotrs.global CodeStart ;引用程序入口的全局符号定义…;引用其它中断程序入口的全局符号定义.align 0x80 ;中断向量表必须对齐128字的页边界RESET: B CodeStart; Reset中断向量,跳转到程序入口NOP ;用NOP填充表中其余空字NOP ;B指令占了两个字,所以要填两个NOPNMI: RETE ;不可屏蔽中断NOPNOPNOP; 软件中断SINT17 .space 4*16 ;软件中断使用较少,简单起见用0填充SINT18 .space 4*16SINT19 .space 4*16SINT20 .space 4*16SINT21 .space 4*16SINT22 .space 4*16SINT23 .space 4*16SINT24 .space 4*16SINT25 .space 4*16SINT26 .space 4*16SINT27 .space 4*16SINT28 .space 4*16SINT29 .space 4*16SINT30 .space 4*16INT0: RETE ;外部中断INT0NOPNOPNOPINT1: RETE ;外部中断INT1NOPNOPNOPINT2: RETE ;外部中断INT2NOPNOPNOPTINT: RETE ;Timer0中断NOPNOPNOPBRINT0: RETE ;McBSP #0 接收中断NOPNOPNOPBXINT0: RETE ;McBSP #0 发送中断NOPNOPNOPDMAC0: RETE ;无定义(默认)DMA0中断NOPNOPNOPTINT1: RETE ;Timer1中断(默认)或DMA1中断. NOPNOPNOPINT3: RETE ;外部中断3NOPNOPNOPHPINT: RETE ;HPI中断NOPNOPNOPBRINT1: RETE ;McBSP #1接收中断(默认)或DMA2中断NOPNOPNOPBXINT1: RETE ;McBSP #1发送中断(默认)或DMA3中断NOPNOPNOPDMAC4: RETE ;DMA4中断NOPNOPNOPDMAC5: RETE ;DMA5中断NOPNOPNOP.end在本实验中只要把在开头加上中断子程序标号的引用,并在中断表的TINT部分换成跳转指令就行了:*vectors.asm for 方波发生.sect ".vectors" ;开始命名段.vecotrs.global CodeStart ;引用程序入口的全局符号定义.global TINT0_ISR ;引用Timer0中断子程序<节省篇幅,中间省略>TINT: B TINT0_ISR ;Timer0中断NOPNOPBRINT0: RETE ;McBSP #0 receive interrupt<节省篇幅,下略>技巧提示:只有第一个中断(Reset中断)是每个程序都应该有的,在不需要其它中断的情况下,可以只用这一部分,后面可以省略。
中断向量表
8086中断向量
0H 除以零
1H 单步(用于DEBUG)
2H 非屏蔽中断
3H 断点指令(用于DEBUG)
4H 溢出
5H 打印屏幕
6H 保留
7H 保留
8259中断向量
8H 定时器
9H 键盘
AH 彩色/图形
BH 异步通讯(secondary)
CH 异步通讯(primary)
DH 硬磁盘
EH 软磁盘
FH 并行打印机
BIOS中断
10H 屏幕显示
11H 设备检验
12H 测定存储器容量
13H 磁盘I/O
14H 串行通讯口I/O
15H 盒式磁带I/O
16H 键盘输入
17H 打印机输出
18H BASIC入口代码
19H 引导装入程序
1AH 日时钟
提供给用户的中断
1BH Ctrl-Break控制的软中断
1CH 定时器控制器的软中断
数据表指针
1DH 显示器参量表
1EH 软盘参量表
1FH 图形表
DOS中断
20H 程序结束
21H 系统功能调用
22H 结束退出
23H Ctrl-Break退出24H 严重错误处理
25H 绝对磁盘读功能26H 绝对磁盘写功能27H 驻留退出
28H-2EH DOS保留
2FH 打印机
30H-3FH DOS保留
BASIC中断
40H-5FH 保留
60H-67H 用户软中断68H-7FH 保留
80H-85H 由BASIC保留86H-F0H BASIC中断
F1H-FFH 保留。
微机原理与接口技术_西安工业大学中国大学mooc课后章节答案期末考试题库2023年1.中断向量表地址指针就是中断向量。
答案:错误2.程序查询IO方式,程序由查询等待和_____两部分组成。
答案:数据交换3.查询输入时,Ready=0表示数据端口已经放入数据,Ready=1表示______。
答案:数据端口的数据已经取走4.微型计算机的ALU部件是包含在()之中。
答案:CPU5.由CS和IP的内容表示的是()。
答案:下一条待执行指令的地址6.对微处理器而言,它的每条指令都有一定的时序,其时序关系是()。
答案:一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。
7.MOV CX,10MOV AL,20HXOR BX,BX AGAIN:ADD BL,ALADC BH,0 LOOP AGAIN; MOV AX,BX;程序执行后,AX的内容是()答案:0120H8.MOV BX,OFFSET [1341H] 执行结果为(BX)=()H答案:13419.将中断允许标志清零的指令是答案:CLI10.中断向量表里面存放的是答案:中断服务程序入口地址11.NMI中断类型码规定为()答案:212.中断控制器8259A有个命令字答案:413.可屏蔽中断的响应过程。
首先必须满足中断允许标志IF置_______答案:114.8259A中的中断屏蔽寄存器是ISR答案:错误15.在8088/8086中,内中断源的级别均比外中断源级别高。
答案:正确16.转中断服务之前,断点地址入栈,是由硬件自动完成的。
答案:正确17.8259A只有奇偶两个端口地址答案:正确18.判断下列指令的对错IMUL 56H答案:错误19.8086/8088 CPU是在每个总线周期结束时,对INTR信号采样。
答案:错误20.8259A的端口地址是20H和21H。
发中断结束命令的指令是__MOVAL,20H__和_____指令。
答案:OUT 20H,AL21.中断响应引脚是_____。
《微机原理与接口技术》习题解答习题77.1 什么是中断?常见的中断源有哪几类?CPU响应中断的条件是什么?【解答】中断是指CPU在正常执行程序时,由于内部/外部时间或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又能自动返回到被中断的程序继续执行的过程。
常见的中断源有:一般的输入/输出设备请求中断;实时时钟请求中断;故障源;数据通道中断和软件中断。
CPU响应中断的条件:若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。
CPU若要响应可屏蔽中断请求,必须满足以下三个条件:①无总线请求;②CPU 允许中断;③CPU执行完现行指令。
7.2 简述微机系统的中断处理过程。
【解答】(1)中断请求:外设需要进行中断处理时,向CPU提出中断请求。
(2)中断响应:CPU执行完现行指令后,就立即响应非屏蔽中断请求。
可屏蔽中断请求,CPU若要响应必须满足三个条件。
(3)中断处理:保护现场、开中断、中断服务。
(4)中断返回:CPU执行IRET中断返回指令时,自动把断点地址从堆栈中弹出到CS 和IP中,原来的标志寄存器内容弹回Flags,恢复到原来的断点继续执行程序。
7.3 软件中断和硬件中断有何特点?两者的主要区别是什么?【解答】硬件中断由外部硬件产生,是由CPU外部中断请求信号触发的一种中断,分为非屏蔽中断NMI和可屏蔽中断INTR。
软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,也称为内部中断。
通常有除法出错中断、INTO溢出中断、INT n中断、断点中断和单步中断等。
两者的主要区别:硬件中断由外部硬件产生,而软件中断与外部电路无关。
7.4 中断优先级的排队有哪些方法?采用软件优先级排队和硬件优先级排队各有什么特点?【解答】软件优先级排队:各中断源的优先权由软件安排。
优点是电路比较简单,可以直接修改软件查询顺序来修改中断优先权,不必更改硬件。
中断向量表第一篇:中断向量表函数型指针一个函数被执行时,在程序空间中占据一定空间,这个空间的起始地址是用函数名来表示的,称为函数的入口地址。
也可以用指针指向这个入口地址,并通过该指针变量来调用这个函数。
这种指针变量称为函数型指针变量,其一般形式为:数据类型标识符(*指针变量名)();例如:int(*f)();上式定义了指针f, f指向的函数返回整型类数据。
注意其中(*f)中的括弧不可缺少,标识f是先与*结合,是指针变量,然后再与后面的()结合,表示此指针指向函数。
在281x C中,还增加了interrupt 中断关键字(见下面的内容),因此可定义如下数据类型:typedef interrupt void(*PINT)(void);在上句中,定义了指针PINT为指向一个特殊的函数interrupt型函数的指针类型。
由于在使用interrupt时,函数应被定义成返回void,而且无参数调用,因此在(*PINT)的后面加上(void),表示PINT是指向函数的指针,且无参数调用。
在(*PINT)的前面加上interrupt void,表示PINT指向中断函数,无参数返回值。
这样,在描述PIE中断矢量表时,可以定义如下的结构:struct PIE_VECT_TABLE {PINT PIE1_RESERVED;PINT PIE2_RESERVED;PINT PIE3_RESERVED;…}其中,PIE_VECT_TABLE是一个结构类型,其中的所有成员均为中断函数的首地址,即指向中断函数的指针。
因此,在定义其成员如PIE1_RESERVED等时,要在其前面加PINT,表示PIE1_RESERVED 是PINT类型的变量,即指向中断函数的指针。
这样程序显得比较简洁。
第二篇:表重要讲话习近平出席中德工商界招待会并发表重要讲话把握中国机遇,实现共同发展新华社德国杜塞尔多夫3月29日电(记者班玮李斌)国家主席习近平29日在杜塞尔多夫出席中德工商界举行的招待会并发表题为《把握中国机遇,实现共同发展》的重要讲话,阐述对加强两国经贸合作的主张,强调中国全面深化改革、进一步扩大开放为中德合作带来巨大机遇,表示坚信,中德携手,真诚合作,一定能够成就各自美好梦想。
中断向量表(转载)2010-03-18 03:061 -- 关于中断向量的几点注释1. 系统引导时,中断向量表放在内存何处?系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。
每个中断向量占用4个字2. 系统引导时,处在实模式下,只可寻址1MB,为什么要用4个字节来寻址中断呢处理程序?刚看到的时候,我也很纳闷。
我们都知道编程的时候指针都是4个字节的,可以寻址4GB,在实模式下完全方式是:段值* 16 + 偏移值,就是内存地址。
而这4个字节中,2个字节存储段值,两外两个存储偏移值。
所3. 这篇资料是看书和从网上整理而来的,不同的资料间往往有些冲突的地方,这样就难免有些错误,以后再做2 -- 中断向量表内存地址(十六进制) 对应向量号(十六进制) 中断用途0x3C4 - 0x3FF F1-FF 未使用0x218 - 0x3C3 86-F0 BASIC程序运行时提供给BASIC解释程序作用0x200 - 0x217 80-85 为BASIC保留0x1E0 - 0x1FF 78-7F 未使用0x1DC - 0x1DF 77 硬件中断150x1D8 - 0x1DB 76 硬件中断140x1D4 - 0x1D7 75 硬件中断130x1D0 - 0x1D3 74 硬件中断120x1CC - 0x1CF 73 硬件中断110x1C8 - 0x1CB 72 硬件中断100x1C4 - 0x1C7 71 硬件中断90x1C0 - 0x1C3 70 硬件中断0x1A0 - 0x1BF 68-6F 未使用0x180 - 0x19F 60-67 为用户程序保留的单元0x128 - 0x17F 4A-5F 保留0x124 - 0x127 49 指向键盘增强服务变换表0x120 - 0x123 48 PC机使用,用于把PC机的键盘代码变换为标准的键盘代码0x11C - 0x11F 47 保留0x118 - 0x11B 46 第二硬盘参数块0x114 - 0x117 45 保留0x110 - 0x113 44 PC机使用,用于指向低分辩率图形字符参数表0x108 - 0x10F 42-43 未使用0x104 - 0x107 41 硬盘参数块0x0C0 - 0x0CB 34-40 未使用0x0CC - 0x0CF 33 鼠标中断0x0C0 - 0x0CB 30-32 未使用0x0BC - 0x0BF 2F 多路服务中断0x0B8 - 0x0BB 2E 基本SHELL程序装入0x0AC - 0x0B7 2B-2D 未使用0x0A8 - 0x0AB 2A Microsoft 网络接口0x0A4 - 0x0A7 29 快速写字符0x0A0 - 0x0A3 28 DOS安全使用0x09C - 0x09F 27 终止并驻留程序0x098 - 0x09B 26 绝对磁盘写功能0x094 - 0x097 25 绝对磁盘读功能0x090 - 0x093 24 严重错误处理(用户不能直接调用)0x08C - 0x08F 23 Ctrl+Break 处理地址(用户不能直接调用)0x088 - 0x08B 22 程序中止时DOS返回地址(用户不能直接调用)0x084 - 0x087 21 DOS系统功能调用0x080 - 0x083 20 DOS中断返回0x07C - 0x07F 1F 图形字符扩展码0x078 - 0x07B 1E 软盘参数块0x074 - 0x077 1D 视频参数块0x070 - 0x073 1C 定时器控制的软中断0x06C - 0x06F 1B Ctrl + Break控制的软中断0x068 - 0x06B 1A 时钟管理0x064 - 0x067 19 引导装入程序--系统自举0x060 - 0x063 18 BASIC入口代码--ROM BASIC入口代码0x05C - 0x05F 17 打印机输出0x058 - 0x05B 16 键盘I/O0x054 - 0x057 15 盒式磁带I/O0x050 - 0x053 14 RS-232串行通讯口I/O0x04C - 0x04F 13 磁盘I/O0x048 - 0x04B 12 测定存储器容量0x044 - 0x047 11 设备检验0x040 - 0x043 10 屏幕显示I/O0x03C - 0x03F F LPT2控制器中断--并行打印机(IRQ7)0x038 - 0x03B E 磁盘控制器中断--软磁盘(IRQ6)0x034 - 0x037 D LPT2控制器中断--硬磁盘(并行口)(IRQ5)0x030 - 0x033 C 异步通信(primary)--串行通信接口1(IRQ4)0x02C - 0x02F B 异步通信(secondary)--串行通信接口2(IRQ3) 0x028 - 0x02B A 彩色/图形(IRQ2)0x024 - 0x027 9 键盘(IRQ1)0x020 - 0x023 8 定时器(IRQ0)0x01C - 0x01F 7 保留0x018 - 0x01B 6 保留0x014 - 0x017 5 打印屏幕0x010 - 0x013 4 溢出0x00C - 0x00F 3 断点指令0x008 - 0x00B 2 非屏蔽中断0x004 - 0x007 1 单步(用于DEBUG)0x000 - 0x003 0 除以零参考资料:1.IBM-PC汇编语言程序设计2.80X86汇编语言程序设计教程。
微机原理及接口技术 A 卷一、填空题 (共计 20 分每一个空 2 分 )1、已知 [X]补=01100011B,求 X=( ) (结果用十进制表示)[Y]补=11111001B,求 Y=( ) (结果用十进制表示)2、8088CPU 的地址总线为多少条( );直接寻址的内存空间为多少( )。
3、已知 DS=2000H,内存(20220H)=FFH, (20221H)=22H指令 INC WORD PTR [0200H]执行的结果是: (20220H ) = (20221H) =4、8086 外部中断有( )和( ),当 CPU 内的中断标志 IF=“0”状态时,外部中断线同时为“ 1”状态时, CPU 响应哪个中断请求信号( )。
5、 CPU 及外设数据传送的控制方式有无条件传送方式、 ( ) 、( )和 DMA 直接存储器传送方式。
二、简答题 (共计25 分每小题 5 分 )1、什么是 I/O 接口? I/O 接口的主要功能有哪些?(答出 3 点即可)。
2、请叙述 INTR 中断过程(答出 5 点)。
3、有一 2764EPROM 芯片有 13 条地址总线,请计算芯片的地址范围(起始地址为 12000H)请写出末地址4、定时器 8253 计数器 0 输入时钟 1.19MHz,;输出频率 500Hz,并设定为二进制计数,问计数初值为多少?计数器 1 产生连续的对称方波,输入时钟为 2MHz 的时钟频率,计数初值为 4000,并设定为 BCD 计数,问输出的连续对称的周期是多少毫秒?5、中断向量地址表的作用是什么?已知中断类型码分别为 0EH 和 0FH,它们的中断服务程序的入口地址在中断向量地址表的地址是什么? (注意:写成××××H:××××H 格式)三、分析程序写出结果 (共计 15 分 )1、 (3 分)TABLE DB 30H , 31H , 32H ,33H , 34HENTRY DB 3MOV BX , OFFSET TABLEADD BX,ENTRYMOV AL,[BX] ; 问程序执行后 AL=2、 (6 分)已知 DS=3000H , SS=4000H , BX=1200H , BP=1000H(31200H)=01H , (31201H)=02H , (41200H)=03H , (41201H)=04H 程序段如下:MOV AX, 1200H ;该指令的寻址方式:ADD AX, [1200H] ;ADD AX, [BX] ; 请写出程序段执行后的结果 AX=3、 (6 分)下列程序段求 FLD 开始的八个数据的平均值,结果在 RES 中。
8.4 BIOS中断调用8.4.1 BIOS中断调用概述BIOS (BasicInput/OutputSystem)是IBM-PC机的监控程序,它固化在微型机主板的ROM中,其内容主要有系统测试程序 (Post)、初始化引导程序(Boot)、I/O设备的基本驱动程序和许多常用程序模块,它们一般以中断服务程序的形式存在。
例如,负责显示输出的显示 I/O程序为10H号中断服务程序;负责打印输出的打印I/O程序为17H中断服务程序等。
图8.5 是用户程序和操作系统关系示意图,由图可见BIOS程序直接建立在硬件基础上,磁盘操作系统(DOS)和其他操作系统建立在BIOS基础上,各种高级语言 则建立在操作系统基础上。
用户程序可以使用高级语言,也可以调用DOS 或其他操作系统,还可以调用BIOS,甚至直接指挥硬件设备。
通常应用程序调用DOS提供的系统功能,完成输入/输出或其他操作,这样做用户可以少考虑硬件,实现起来容易。
图8.5 用户程序和操作系统关系示意图应用程序直接对硬件编程的优点是程序的效率高,缺点是需要程序员对硬件性能有较深的了解。
总的来说,编程复杂,所以一般不直接对硬件编程。
BIOS中断程序处于DOS功能调用和硬件环境之间。
和DOS功能调用相比其优点是效率高,缺点是编程相对复杂;和直接对硬件编程相比,优点是实现相对容易,缺点是效率相对低。
在下列情况下可考虑使用BIOS中断:(1)有些功能DOS没有提供,但BIOS提供了;(2)有些场合无法使用DOS功能调用;(3)其他原因。
8.4.2BIOS中断调用方法BIOS的调用实际上是利用每一台计算机中BIOS固有的I/O操作程序来方便地解决自己的问题,由于这些已经在计算机中了,故使用时不必要再把它写入自己的程序,只要指明它的操作位置就可以了。
1.BIOS调用的基本操作由于BIOS中的每一种功能调用往往包含不同的几个操作细节,因此调用时需要说明三部分,基本步骤为:(1)设置分功能号。