Команды OUTS, OUTSB, OUTSW, OUTSD позволяют выводить в порт ввода-вывода последовательность байт, слов или двойных слов. Аналогичны командам INS, INSB, INSW, INSD, только работают на вывод данных в порт.

 

Команда OUTS
Синтаксис: OUTS DX,op1
Операнды: op1 - m8, m16, m32
Назначение: Вывод строки в порт
Процессор: 80186+
Флаги: Не изменяются
Комментарий: Команда OUTS не является командой процессора. Когда в тексте программы встречается эта команда, компилятор вычисляет размерность ее операнда и на основании вычислений подставляет на ее место одну из реальных команд процессора - OUTSB, OUTSW или OUTSD.
Ограничения: Нет
Примеры:
outs	dx, es:str1
Команда OUTSB
Синтаксис: OUTSB
Операнды: Нет
Назначение: Вывод байтов из строки в порт
Процессор: 80186+
Флаги: Не изменяются
Комментарий: Команда OUTSB пересылает байт данных из ячейки памяти по адресу DS:SI в порт вывода, заданный регистром DX. Аналогична по действию команде OUT.
После выполнения пересылки регистр SI увеличивается на 1, если флаг DF=0 или уменьшается на 1, если флаг DF=1.
Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI.
Ограничения: Нет
Примеры:
mov	dx,03DFh
sub	si,si
outsb
Команда OUTSW
Синтаксис: OUTSW
Операнды: Нет
Назначение: Вывод слов из строки в порт
Процессор: 80186+
Флаги: Не изменяются
Комментарий: Команда OUTSW пересылает слово из ячейки памяти по адресу DS:SI в порт вывода, заданный регистром DX. Аналогична по действию команде OUT.
После выполнения пересылки регистр SI увеличивается на 2, если флаг DF=0 или уменьшается на 2, если флаг DF=1.
Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI.
Ограничения: Нет
Примеры:
mov	dx,03DFh
sub	si,si
outsw
Команда OUTSD
Синтаксис: OUTSD
Операнды: Нет
Назначение: Вывод двойных слов из строки в порт
Процессор: 80186+
Флаги: Не изменяются
Комментарий: Команда OUTSD пересылает двойное слово из ячейки памяти по адресу DS:SI в порт вывода, заданный регистром DX. Аналогична по действию команде OUT.
После выполнения пересылки регистр SI увеличивается на 4, если флаг DF=0 или уменьшается на 4, если флаг DF=1.
Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI.
Ограничения: Нет
Примеры:
mov	dx,03DFh
sub	si,si
outsd