+ -
当前位置:首页 → 问答吧 → 请教有关io指令的问题

请教有关io指令的问题

时间:2011-11-07

来源:互联网

代码很简单,就4条指令,如下:
Assembly code

    __asm{
        mov edx,[esp + 4];
        mov eax,[esp + 8];
        out dx,al   ; 这里会引起非法指令的异常
        ret
    }



问题现象是,这段代码有些地方运行没有问题,有些地方会引起非法指令的异常。所有的地方都出错就算了,但是居然能出现有些地方能运行,有些地方出错的情况。是在搞不明白。

作者: robin97   发布时间: 2011-11-07

你确定不是上面那句引起的?

作者: Areslee   发布时间: 2011-11-07

按说在windows里应该是总会异常才对

作者: Areslee   发布时间: 2011-11-07

如果是在Windows下的,而且是应用级程序,那非法就对了,不非法是不正常的。你的程序是工作在应用级上的,无法直接对硬件进行操作,因此,无法使用in和out指令指令读写端口,除非你把程序改成RING0权限。

作者: Simbon   发布时间: 2011-11-08