Ceci est une ancienne révision du document !
A byte, word or dword is read from “port” and placed in AL, AX or EAX respectively. If the port number is in the range of 0-255 it can be specified as an immediate, otherwise the port number must be specified in DX. Valid port ranges on the PC are 0-1024, though values through 65535 may be specified and recognized by third party vendors and PS/2's.
Usage:
IN accum,port ;
Modifies flags:
none
Clocks | Size | |||||
---|---|---|---|---|---|---|
Operands | 808x | 286 | 386 | 486 | Bytes | |
none | 10/14 | 3 | 4 | 4 | 1 | |
none (PM) | - | - | 4 | 3 | 1 | |
reg,reg | 3 | 2 | 2 | 1 | 2 | |
mem,reg | 16+EA | 7 | 7 | 3 | 2-4 | (W88=24+EA) |
reg,mem | 9+EA | 7 | 6 | 1 | 2-4 | (W88=13+EA) |
reg,immed | 4 | 3 | 2 | 1 | 3-4 | |
mem,immed | 17+EA | 7 | 7 | 3 | 3-6 | (W88=23+EA) |
accum,immed | 4 | 3 | 2 | 1 | 2-3 |
first number is the timing if: | CPL ¾ IOPL |
second number is the timing if: | CPL > IOPL or in VM 86 mode (386) |
CPL ‗ IOPL (486) | |
third number is the timing when: | virtual mode on 486 processor |