Difference between revisions of "Assembler:Commands:IN"

From Cheat Engine
Jump to navigation Jump to search
Line 12: Line 12:
 
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.
 
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. See Chapter 13, Input/Output, in the IA-32 Intel Architecture Software Developer's Manual, Volume 1, for more information on accessing I/O ports in the I/O address space. [https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf 64-ia-32-architectures-software-developer-vol-1-manual.pdf]
+
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: [https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf 64-ia-32-architectures-software-developer-vol-1-manual.pdf]
  
 
[http://c9x.me/x86/html/file_module_x86_id_139.html c9x.me/x86/html/file_module_x86_id_139.html]
 
[http://c9x.me/x86/html/file_module_x86_id_139.html c9x.me/x86/html/file_module_x86_id_139.html]

Revision as of 02:55, 25 January 2018

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: 64-ia-32-architectures-software-developer-vol-1-manual.pdf

c9x.me/x86/html/file_module_x86_id_139.html


Command Parameters

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


See also

External links