微机原理与接口技术课程案例-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日在杜塞尔多夫出席中德工商界举行的招待会并发表题为《把握中国机遇,实现共同发展》的重要讲话,阐述对加强两国经贸合作的主张,强调中国全面深化改革、进一步扩大开放为中德合作带来巨大机遇,表示坚信,中德携手,真诚合作,一定能够成就各自美好梦想。