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)