| |
Output String to Port
86/88 |
N |
186 |
Y |
286 |
Y |
386 |
Y |
486 |
Y |
OUTs/OUTSB/OUTSW/OUTSD port, accum |
Ovfl |
N |
Dir |
N |
Int |
N |
Trap |
N |
Sign |
N |
Zero |
N |
Aux |
N |
Prty |
N |
Carry |
N |
Transfers a byte, word or DoubleWord from "src" to the hardware
port specified in DX. For instructions with no operands the "src"
is located at DS:SI and SI is incremented or decremented by the
size of the operand or the size dictated by the instruction format.
When the Direction Flag is set SI is decremented, when clear, SI is
incremented. If the port number is in the range of 0-255 it can
be specified as an immediate. If greater than 255 then the port
number must be specified in DX. Since the PC only decodes 10 bits
of the port address, values over 1023 can only be decoded by third
party vendor equipment and also map to the port range 0-1023.
------------------------------------ Timing ----------------------------------
OpCode Instruction 386 286 86
6E OUTS DX, r/m8 14 5
6F OUTS DX, r/m16 14 5
6F OUTS DX, r/m32 14
6E OUTSB 14 5
6F OUTSW 14 5
6F OUTSD 14
------------------------------------ Logic -----------------------------------
(Port) = (DS:SI)
If DF = 0 then
SI = SI + n
else
SI = SI - n
See Also OUT IN INS |