Intel 64 and IA-32 Architectures Software Developer's Manual Description of OUT Instruction 是否有错误?

Does the Intel 64 and IA-32 Architectures Software Developer's Manual Description of OUT Instruction contain errors?

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

“使用 DX 寄存器作为源操作数允许访问从 0 到 65,535 的 I/O 个端口。”

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

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

当使用立即数参数指定端口号(如 OUT imm8、AX)时,您只能使用端口 0-255,因为立即数是 8 位。

使用DX指定端口号时(如OUT DX、EAX),65536个端口均可使用

'source operand'这个词有点误导,如上例中,EAX的内容输出到DX指定的端口。因此,DX 的内容指定了目标端口号。