会飞的熊 发表于 2012-12-8 20:29:04

8086书中例题15.5无法实现?

本帖最后由 会飞的熊 于 2012-12-8 20:34 编辑

    在尝试王爽的那本书中第15章,15.5安装新的int9中断例程中的例题时,无法实现要求。把小甲鱼课件中的源码编译后也一样无法实现。用debug查询,在0:204处新的中断例程已安装,中断向量表0:24处的地址也已经指向了新的中断程序,但就是按什么键都无法达到书中的结果,。现在怀疑是虚拟8086模式屏蔽了这一指令的实现,求高手解释。

会飞的熊 发表于 2012-12-8 20:31:58

不小新按了已解决,杯具,快快来回答啊

会飞的熊 发表于 2012-12-8 20:33:27

怎么弄那个悬赏啊,第一次发求助帖问题多多,各位不好意思啦。

lukelqz 发表于 2012-12-8 20:56:24

本帖最后由 lukelqz 于 2012-12-8 21:00 编辑

不用悬赏了。你是不是在cmd窗口下运行的那个程序,其实cmd窗口还是保护模式下的。
要打开虚拟8086模式,是command窗口,具体打开方式为开始=>运行=>command 然后就和cmd下一样了。这个模式基本完全模拟了dos下的实模式。一般的中断都能实现。

附上我刚刚在WIN7 64位 下 XP虚拟机的调试图,完全正常运行。
颜色可以改变的哦

会飞的熊 发表于 2012-12-10 17:15:07

lukelqz 发表于 2012-12-8 20:56 static/image/common/back.gif
不用悬赏了。你是不是在cmd窗口下运行的那个程序,其实cmd窗口还是保护模式下的。
要打开虚拟8086模式,是 ...

果然是这样,人才啊,谢谢了。
但为什么在保护模式下还会有两种虚拟8086模式呢。:handshake

lukelqz 发表于 2012-12-10 17:24:08

会飞的熊 发表于 2012-12-10 17:15 static/image/common/back.gif
果然是这样,人才啊,谢谢了。
但为什么在保护模式下还会有两种虚拟8086模式呢。

CPU本来就有3种模式啊,建议你看一下,王爽的书的附注1

或者看一下罗云彬书的第一章

会飞的熊 发表于 2012-12-10 18:39:19

lukelqz 发表于 2012-12-10 17:24 static/image/common/back.gif
CPU本来就有3种模式啊,建议你看一下,王爽的书的附注1

或者看一下罗云彬书的第一章

但是实模式不是只有在启动时才会运行,在保护模式下不是只会有虚拟8086模式吗?

lukelqz 发表于 2012-12-10 18:50:00

会飞的熊 发表于 2012-12-10 18:39 static/image/common/back.gif
但是实模式不是只有在启动时才会运行,在保护模式下不是只会有虚拟8086模式吗?

是的 DOS程序在虚拟8086模式下运行,已经基本和实模式下一样了。

会飞的熊 发表于 2012-12-10 21:12:54

lukelqz 发表于 2012-12-10 18:50 static/image/common/back.gif
是的 DOS程序在虚拟8086模式下运行,已经基本和实模式下一样了。

恩,晓得了,谢谢回答:D
页: [1]
查看完整版本: 8086书中例题15.5无法实现?