主题:求一个显示一份中断向量表的程序
在云旁边
[专家分:0] 发布于 2006-05-07 20:41:00
就是在屏幕上显示一份中断向量表。
是教材的书后题,请教大家
回复列表 (共3个回复)
沙发
在云旁边 [专家分:0] 发布于 2006-05-07 20:48:00
我知道用35H号系统调用功能
mov ah,35h
mov al,n
int 21h
这样可以得到第n号中断向量的段值和偏移量,分别在es和bx中,但我不知道如何显示出来,请各位帮忙
板凳
C语言爱好者 [专家分:19410] 发布于 2006-05-07 21:47:00
对于你的题目,没有必要使用int 21h的25h和35h功能设置和读取中断向量表的内容。
直接让es的值为0,用bp保存位移,每四个字节读取一次。显示中断向量时,根据四个字节中的内容加上30h或者41h,就转换为对应的ASCII字符了,最后使用int 21h的02h功能显示字符。
3 楼
在云旁边 [专家分:0] 发布于 2006-05-08 16:37:00
你的意思是bp每次加4,将这四个字节的内容读到一个双字变量中,然后显示吗?
int 21h的2号功能将要显示的ascii码保存到dl中,也就是说每次显示一个字节,每个中断的段值和偏移各占2个字节,能正常显示吗?
加30h还是41h是由什么决定的呢?
我来回复