Back to main

 

Function 43 - Input / Output to Port

 

Output data to port

 

Options:

  * eax = 43 - function number

  * bl = byte for output

  * ecx = port number 0xnnnn (from 0 to 0xFFFF)

Return value:

  * eax = 0 - successful

  * eax = 1 - the stream did not reserve the specified port

 

Entering data from the port

 

Options:

  * eax = 43 - function number

  * ebx ignored

  * ecx = 0x8000nnnn, where nnnn = port number (from 0 to 0xFFFF)

Return value:

  * eax = 0 - successfully, with ebx = entered byte

  * eax = 1 - the stream did not reserve this port.

 

Remarks:

  Pre-stream must reserve the specified port for a function 46.

  For reserved ports, instead of calling these functions, it is better to use in / out processor commands — this is much faster and somewhat shorter and simpler. It is still impossible to read from non-reserved ports.

 

Constants for registers:

  eax - SF_PORT_IN_OUT (43)