THE
80286
INSTRUCTION
SET
OUTS/OUTSB/OUTSW-Output
String
to
Port
Opcode
6E
6F
6E
6F
FLAGS
MODIFIED
None
Instruction
OUTS
OX,eb
OUTS OX,ew
OUTSB
OUTSW
FLAGS
UNDEFINED
None
OPERATION
Clocks
5
5
5
5
Description
Output byte [SI] to
port
number
OX
Output word [SI]
to
port number
OX
Output byte OS:[SI]
to
port number
OX
Output word OS:[SI]
to
port number
OX
OUTS transfers data from the memory byte or word at
SI
to the output port numbered by the DX
register.
OUTS does not allow the specification of the port number as an immediate value. The port must be
addressed through the
DX
register.
After the transfer
is
made,
SI
is
automatically advanced.
If
the direction flag
is
0 (CLD was executed),
SI
increments;
if
the direction flag
is
1 (STD was executed),
SI
decrements.
SI
increments or decre-
ments by 1 if a byte was moved; by 2
if
a word was moved.
OUTS
can be preceded
by
the
REP
prefix for block output of
CX
bytes or words. Refer to the
REP
instruction for details of this operation.
Intel reserves
I/O
port addresses
OOF8H
through
OOFFH;
these addresses should not be used.
NOTE
Not
all output devices can handle the rate
at
which this instruction transfers data.
PROTECTED
MODE
EXCEPTIONS
#GP(O)
if
CPL
>
10PL.
#GP(O) for an illegal memory operand effective address in the CS, DS, or
FS
segments; #SS(Q) for an
ille,gal
address in the
SS
segment.
REAL
ADDRESS
MODE
EXCEPTIONS
Interrupt
13
for a word operand
at
offset OFFFFH.
B-82