Assembler:Commands:IN

From Cheat Engine
Revision as of 02:55, 25 January 2018 by TheyCallMeTim13 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

command in destination, source

Input from Port. Copies the value from the I/O port specified with the second operand (source operand) to the destination operand (first operand).


Copies the value from the I/O port specified with the second operand (source operand) to the destination operand (first operand). The source operand can be a byte-immediate or the DX register; the destination operand can be register AL, AX, or EAX, depending on the size of the port being accessed (8, 16, or 32 bits, respectively). Using the DX register as a source operand allows I/O port addresses from 0 to 65,535 to be accessed; using a byte immediate allows I/O port addresses 0 to 255 to be accessed.

When accessing an 8-bit I/O port, the opcode determines the port size; when accessing a 16- and 32-bit I/O port, the operand-size attribute determines the port size.

At the machine code level, I/O instructions are shorter when accessing 8-bit I/O ports. Here, the upper eight bits of the port address will be 0.

This instruction is only useful for accessing I/O ports located in the processor's I/O address space.

For more information on accessing I/O ports in the I/O address space, see: 64-ia-32-architectures-software-developer-vol-1-manual.pdf

c9x.me/x86/html/file_module_x86_id_139.html


Command Parameters[edit]

Parameter Description
destination The destination of the byte(s) read
source The I/O port number to read


See also[edit]

External links[edit]