存储中断源内存单元地址问题

yxlovemoney 2009-05-03 12:37:46
比如 
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
4号中断源对应的中断处理程序入口地址为:0070:018B
这样对不对呢?

如果对的话
存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:是N*4吗?
为什么不是(N-1)*4?
...全文
219 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
litteryong 2010-09-17
  • 打赏
  • 举报
回复
存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址是:N*4
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址是:N*4+2
litteryong 2010-09-17
  • 打赏
  • 举报
回复
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
0000:0010 8B 01 70 00 B9 06 12 02-40 07 12 02 FF 03 12 02

8个中断处理程序的入口地址分别是:
0号:00A7:1068
1号:0070:018B
2号:039D:0016
3号:0070:018B
4号:0070:018B
5号:0212:06B9
6号:0212:0740
7号:0212:03FF
是不?
TTTYL 2010-06-05
  • 打赏
  • 举报
回复
学习...
wwwhhb4002 2009-05-04
  • 打赏
  • 举报
回复

学习
nanlingcg 2009-05-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yxlovemoney 的回复:]
而3,4号的中断源的中断处理程序入口地址是相同的,所以是应该N*4
[/Quote]
????
是真明白了还没明白透啊?
yxlovemoney 2009-05-03
  • 打赏
  • 举报
回复
哦知道了,原来4号中断源并不在上面的内存单元中,上面只有0~3号
而3,4号的中断源的中断处理程序入口地址是相同的,所以是应该N*4
goodider 2009-05-03
  • 打赏
  • 举报
回复
在计算机系统中,各种中断源都被统一地编排了一个互不相同的号吗,用以唯一地标识一个中断源,这个号码称为中断号。在8088系统中,中断号的有效范围是0~255。
既然每个中断服务程序都放在内存中,当然就有其入口地址,这样,当CPU响应中断时才能知道转到哪里去执行中断服务程序。入口地址是一个完整的逻辑地址,包括16位的段地址和16位的偏移地址,由总共32位数据构成,需要占据4个字节的存储空间。把中断服务程序的入口地址的各个字节按照一定的规则排列起来,构成的一个有特定含义的数据组合称为“中断向量”或“中断矢量”。8088系统规定其中断服务程序入口地址的4个字节的排列规则是:

(偏移地址低字节,偏移地址高字节,段地址低字节,段地址高字节)

为了说明的方便,中断向量通常都用十六进制书写。比如某中断服务程序的入口地址在F000:EF05处,表示成中断向量就是:(05,EF,00,F0)

yxlovemoney 2009-05-03
  • 打赏
  • 举报
回复
顶起
yxlovemoney 2009-05-03
  • 打赏
  • 举报
回复
是这样啊,上面的题,只给了0~F内存单元的内容出来.但却问你4号中断的地址,明摆就是装人的,
如果是中断号从0开始,那就N*4没错了
czc1009 2009-05-03
  • 打赏
  • 举报
回复
学习了!
mengcheng8487 2009-05-03
  • 打赏
  • 举报
回复
王爽很无奈,
二楼确详细!
顶,顶顶...

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧