通过中断类型码求中断入口地址

您所在的位置:网站首页 微机int指令 通过中断类型码求中断入口地址

通过中断类型码求中断入口地址

2023-11-16 16:07| 来源: 网络整理| 查看: 265

目录

中断向量表

如何解题

例题(完整的题直接练练吧)

1:

2:

3:

4:

中断向量表

存放中断地址的一段内存空间称为中断向量表

存放各类中断的中断服务程序的入口地址

表的地址位于内存的0000:0000到0000:03FFH(即0段的0000到03FFH) 大小1KB,共256个入口

每个入口占用4个单元,一次为CS:IP  ,低字节为段内偏移地址,高字节为段基址

中断类型码 乘 4=中断向量表对应地址

如何解题

这种题其实很简单。不是×4就是除4,分清楚就行了

题目要求一般为给你中断类型码,一段向量表中的存储情况,问你中断服务程序的真正入口地址

假设中断类型码16H,求中断程序入口地址?    

16H 是         000010110             给他左移2位就是乘4

                            01011000         (58H)

然后去    58H,59H,60H,61H中取数据 

 

假设它们中的数据分别是

       58H 里面的内容是   11H

       59 H里面的内容是   22H

       60H  里面的内容是  33H

       61H 里面的内容是   44H 

 中断类型码*4+0 是 ip低8

 中断类型码*4+1 是 ip高8

 中断类型码*4+2 是 cs低8

 中断类型码*4+ 3是 cs高8

然后进行拼接

CS:IP

4433:2211H  就是中断入口地址

IP 低8IP 高8CS 低8CS 高8

             一样遵循高高低低原则,低地址放低位高地址放低位

例题(完整的题直接练练吧) 1:

80x86系统采用8259A的中断类型码为88H,试问:

这个中断源的中断请求信号应连向8259A的那个中断输入端?

中断服务程序的段地址和偏移地址应该分别装入哪两个字单元

第一问:

把88H展开   1000 1000   由ICW2,可以知道高五位是咱们自己设置的,低三位是根据连接在IR线,系统设置的。那么就可以知道这个中断段的中断请求连向8259A的IR0

第二问:

中断向量码*4=中断服务程序入口地址

1000 1000  左移两位就是×4,末尾补两个0

10 0010 0000

220H  首地址就是220H

中断服务程序的偏移地址和段地址分别填入4n和4n+2两个字单元

 220H 221H   222H  223H

因为是0段,所以偏移地址就等于物理地址

段地址填入  00222H,和00223两个字节单元

偏移地址填入00220H ,和00221H两个单元

2:

 8086微机系统的RAM存储单元中,从0000H:002CH开始一次存放23H,0FFH,00H,0F0H四个字节,该向量对应的中断号是(0BH),中断程序的物理地址是(0FFF23H)

解:

中断类型号=中断服务程序入口地址除4

2CH 展开

 0010 1100   除以4,右移2位

 0000 1011 (0BH)

如果在问你中断服务程序的物理地址是多少?

0F000H:0FF23H

物理地址=段*16+偏移

左移1位

  0F0000H

+  0FF23H

   0FFF23H(物理地址)       

  

3:

在微机系统中,CPU 对中断源的管理可采用中断向量方式。设某中断向量在中断向量表中 0000H:0018H 单元开始按地址递增方向依次存放 95H、96H、97H 和 98H,99H,9AH,9BH和9CH 八个字节,请回答: 该向量对应的中断类型码和中断服务程序的入口地址的 CS 和IP 分别是多少? 并简述所得结论的理由。

解题:

0018H

0000 0000 0001  1000    除4右移2位

0000 0000 0000  0110 (06H)

中断向量码06H

CS 的值为  9897H  

IP  的值为  9696H

理由:中断向量表共1024个字节,每一级中断占用4个字节。前两个字节是中断子程序的偏移地址,后两个字节是中断子程序的段地址。按顺序存放在0段的0偏移-----0段的03FF偏移。

 

4:

在 PC 机中5 号中断,它的中断向量地址是() A. 0000H: 0005H    B:0000H: 0010HC.0000H:0014H       D.0000H: 0020H

解题:

 0000  0101 (5)乘4左移两位

 0001 0100(14H)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3