英特尔 64 和 IA-32 架构软件开发人员手册的 OUT 指令描述是否包含错误?



在第2卷第4章指令集参考M-U中,OUT指令的描述有这样一句话:

"使用DX寄存器作为源操作数可以访问0到65535之间的I/O端口">

我认为当使用OUT指令时,DX寄存器是指定IO端口而不是源操作数。

手册试图说的是真的,即使措辞有点不清楚。

使用立即数参数指定端口号(如OUT imm8,AX(时,由于立即数操作数为8位,因此只能使用端口0-255。

使用DX指定端口号(如OUT DX、EAX(时,可以使用所有65536个端口。

术语"源操作数"有点误导,因为在上面的示例中,EAX的内容输出到DX指定的端口。因此,DX的内容指定了目标端口号。

相关内容

  • 没有找到相关文章

最新更新