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

IN / OUT – 端口读写指令

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

Instruction Description
IN AL, DX  
IN AX, DX  
IN AL, imm8  
IN AX, imm8  

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

Instruction Description
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