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