「x86」- I/O 指令(I/O Instructions)

IN / OUT – 端口读写指令

IN,从端口读取数据。指令格式:

InstructionDescription
IN AL, DX 
IN AX, DX 
IN AL, imm8 
IN AX, imm8 

OUT,向端口写入数据。指令格式:

InstructionDescription
OUT imm8, AL 
OUT imm8, AX 
OUT DX, AL 
OUT DX, AX 

这里比较绕,记忆困难,注意以下事项:
1)写入端口的数据、读出端口的数据,都要放在 AL 或 AX 中(8 bits 端口使用 AL;16 bits 端口使用 AX;)
2)端口号,可以使用 imm8 或 DX(低范围端口[0-255]可以使用 imm8 或 DX,而高范围端口要使用 DX 寄存器)

参考文献

I/O Instructions – x86 Assembly Language Reference Manual