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 寄存器)