int 9h的中断向量指针是多少,请问一下什么是中断向量什么是中中断向量表请用打比方的方式
来源:整理 编辑:亚灵电子网 2023-05-04 02:33:41
1,请问一下什么是中断向量什么是中中断向量表请用打比方的方式
中断向量表就是一张表,表里的每一项是个指针,指针里存放着中断函数的地址。当发生相应的中断时,就会从表中根据中断向量号查找到相关函数的地址,从而跳转过去执行中断函数
2,有关C语言指向指针的指针
指针变量能指向任意一个变量(包括指针变量) 指向指针的指针定义方法 ,例如int **p; 定义了一个指针变量p,他指向另一个指针变量(该指针变量又指向一个整型变量),是一个2级指针,由于指针运算符*是按自右向左顺序结合,因此上述定义相当于:int *(*p); (*p)是指针变量形式,它外面的*表示p指向的又是一个指针变量,int表示后一个指针变量指向的是指针变量 怎样使一个指针变量指向另一个指针变量呢? int **p1; int *p2; int i=3; p2=&i; (使p2指向i) p1=&p2; (使p1指向p2)
3,C语言指针的值
#include <stdio.h>//帮你改了几个地方 int fun(int *a,int *b) int *t; t=a;//注意*t表示指针所指向的值,t表示地址 a=b; b=t; printf("%d\t%d\t",*a,*b); return 0;} void main() int c=1,d=2,*a=&c,*b=&d;//你这里的赋值要给指针地址,加上个& fun(a,b); printf("%d\t%d\t",*a,*b);}p指向a的首地址 也就是a[0]的位置 值为1p+3指向a[3] 也就是4的那个值对其做了加2的运算 所以p+3指向的值变成了4+2=6最终输出1,6不可以看做a[3]=2而是a[3] += 2;因为是*(p+3)+=2 而*(p+3)才是a[3]
4,求助汇编语言 int 中断
21H 系统功能调用 40H Basic保留 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 保留
5,如何才能查看硬盘中断向量表
中断向量与中断向量表 在中断源识别方法时提到:早期的微机系统中将由硬件产生的中断标识码(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)称为中断向量。在Pc/AT中也用到这个名称,但含义有所不同。在Pc/AT机中,中断向量是指中断服务程序的入口地址,包括段地址CS和段内偏移 量IP共4个字节。在PC/AT中,规定内存储器的最低1 KB用来存放中断向量(共256个),称这一片内存区为中断向量表,如图所示。 在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系: 中断类型号×4=存放中断向量的首地址有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入中断向量表中断号 功能、触发条件或属性 8088中断向量 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 保留
6,中断向量表的中断向量表
80x86系统是把所有的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫做中断向量表,即中断服务程序入口地址表。由于中断向量表可以在操作系统层面灵活修改,因此,不同的系统的中断向量表可能是不同的。此外,intel在CPU的保护模式下,占用了0x00 ~ 0x1F共32个中断号,在Linux下,是从0x20开始用于系统自身的中断的,包括8259芯片的中断重置。BIOS(实模式)的中断向量表如下: 在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自己设置的中断以后再添加。中断就是硬件对cpu发出的一个信号.中断向量就是存在idt中的地址偏移.中断向量表就是记录在idtr寄存器中的地址及长度这一段内存数据.
文章TAG:
int中断 中断向量 指针
相关文章推荐
- BA6208是什么芯片,BA6247是什么芯片?
- 松下npm贴片机多少钱,买松下贴片机多少钱
- A9智能电视处理器能跑多少分,A9频率14怎么442系统和422系统安兔兔跑分一样
- 03db是多少,30wt等于多少
- 占空比多少有意义,占空比控制有什么优点
- 电路正负极颠倒危害,锂电池正负极接反
- 电路图中网孔,电路中网格的概念
- 电路板的硬件调试,简述硬件电路的设计流程
- 安桥818音箱设置多少,安桥818音频输入如何设置
- mos管电压等级,关于mos管的导通电压
- 正负极交换芯片,芯片的正负极
- 消除反电动势电压,反电动势消除电路
- 57AY161是什么芯片,A5657N是什么芯片?
- 安全芯片应用原理,什么是安全芯片?
- hx48电路图,xh-m401电路图