请教,中断向量表是谁产生的?

发布于 2022-09-18 16:56:00 字数 305 浏览 18 评论 0

在学8086原理的时候,书上总是说,8086在内存中保存了1024byte的中断向量表,供256个函数入口地址,每个地址4字节。

那么,
1. 是谁取产生和保存了这个中断向量表到特定的地址空间? 是CPU取产生的? 是Dos操作系统去产生的?
2. 保存的位置(内存具体地址)是8086CPU决定的? 还是操作系统决定的?
3. 这256个中断地址和OS有关吗? 是不是别的OS可能就不是256个?
4. 如果是和CPU有关的,那么它是由CPU动态产生的? 那还不如固化到芯片里面。

重重疑问,望dx解答!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

朮生 2022-09-25 16:56:00

原帖由 jeanlove 于 2009-7-22 23:15 发表
在学8086原理的时候,书上总是说,8086在内存中保存了1024byte的中断向量表,供256个函数入口地址,每个地址4字节。

那么,
1. 是谁取产生和保存了这个中断向量表到特定的地址空间? 是CPU取产生的? 是Dos操 ...

1、实模下的中断向量表是复位启动时由 bios 负责设置写入。
2、中断向量表的位置是由 processor 的初始状态决定,但在 OS 可以更改。
  实际上,可以在 dos 系统中更改,只是 dos 系统没这么做而已
3、同上,x86 的中断向量最大只能是 256(1 byte)
4、同上,中断向量表由初始态决定,但可以由系统软件更改

一梦等七年七年为一梦 2022-09-25 16:56:00

先不去考虑任何具体的程序,如果中断向量表是可配置的,那么则程序可以自己去设或者固化在ROM上(有的比较低级的处理器是死的,中断入口地址是不可设的,比如51架构)。中断向量表的位置也分可配置或者定死,8086是定死,0:0~0:3ff,这个地址一般有可能固化在ROM上,或者内容也可以被修改。
这些性质都是由具体的处理器决定,不同的处理器对于中断的管理方式有一定区别。但中断向量表的思想却是比较通用的。我就曾经接触过一个项目,使用一款处理能力很强但编译器很烂的东西,我当时决定在里面采用中断驱动任务的形式,我还在里面采用了动态修改中断向量表的形式。现在想想这种方法多少有点变态

[ 本帖最后由 cjaizss 于 2009-7-22 23:39 编辑 ]

锦爱 2022-09-25 16:56:00

原帖由 mik 于 2009-7-22 23:27 发表

1、实模下的中断向量表是复位启动时由 bios 负责设置写入。
2、中断向量表的位置是由 processor 的初始状态决定,但在 OS 可以更改。
  实际上,可以在 dos 系统中更改,只是 dos 系统没这么做而已
3、 ...

谢谢,那么是不是说:

1. 这个中断是由bios决定的? (来自主版bus的请求),不同的硬件256个中断向量不一样? 那么中断处理程序在哪里呢? 还是在bios里面? 硬件中断的地址设置不应该来自OS吧。
2. 也就是x86体系的256个中断向量全都是硬件中断?
3. 如果中断处理程序是包含在OS自带的驱动里面的,那么bios怎么知道自己设定的这256个入口地址对不对呢(固化的总是不变的吧)? 还是和OS相关?

面犯桃花 2022-09-25 16:56:00

原帖由 cjaizss 于 2009-7-22 23:33 发表
先不去考虑任何具体的程序,如果中断向量表是可配置的,那么则程序可以自己去设或者固化在ROM上(有的比较低级的处理器是死的,中断入口地址是不可设的,比如51架构)。中断向量表的位置也分可配置或者定死,80 ...

对于固化在bios上加载以后,没有被系统修改的,中断向量表所中断处理程序在哪里呢? 仍然在bios里面?

想不出来... ...

另类 2022-09-25 16:56:00

IBM规定的,写在BIOS里面的,Intel后来掺和了。

尽揽少女心 2022-09-25 16:56:00

原帖由 prolj 于 2009-7-23 10:52 发表
IBM规定的,写在BIOS里面的,Intel后来掺和了。

也就是BIOS里面包含了256种中断驱动的小程序了?

谢谢!

关于从前 2022-09-25 16:56:00

BIOS中断的实现在BIOS里面,DOS不在。要说有多少个,我现在不写“底层”代码,不记得,有资料可以查。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文