THE 80286 INSTRUCTION SET

OUTS/OUTSB/OUTSW-Output String to Port

Opcode

Instruction

Clocks

Description

6E

OUTS

OX,eb

5

Output byte [SI] to port number OX

6F

OUTS

OX,ew

5

Output word [SI] to port number OX

6E

OUTSB

5

Output byte OS:[SI] to port number OX

6F

OUTSW

5

Output word OS:[SI] to port number OX

FLAGS MODIFIED

None

FLAGS UNDEFINED

None

OPERATION

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

Page 292
Image 292
Intel 80287, 80286 manual Outsb, Outsw