Вывод элемента цепочки в порт ввода-вывода
Данная операция позволяет произвести вывод элементов цепочки в порт ввода-вывода. Она реализуется командой outs, имеющей следующий формат:
outs номер_порта,адрес_источника (Output String) — вывести элементы из цепочки в порт ввода-вывода.
Эта команда выводит элемент цепочки в порт, номер которого находится в регистре dx. Адрес элемента цепочки определяется операндом адрес_источника. Несмотря на то, что цепочка, из которой выводится элемент, адресуется указанием этого операнда, значение адреса должно быть явно сформировано в паре регистров ds:esi/si.
Размер структурных элементов цепочки должен быть согласован с размерностью порта. Он определяется директивой резервирования памяти, с помощью которой выделяется память для размещения элементов цепочки.
После пересылки команда outs производит коррекцию содержимого esi/si на величину, равную размеру элемента цепочки, участвовавшего в операции пересылки. При этом, как обычно, учитывается состояние флага df.
Подобно команде ins, транслятор преобразует команду outs в одну из трех машинных команд без операндов, работающих с цепочками элементов определенного размера:
· outsb (OUTput String Byte) — вывести цепочку байт в порт ввода-вывода;
· outsw (OUTtput String Word) — вывести цепочку слов в порт ввода-вывода;
· outsd (OUTput String Double Word) — вывести цепочку двойных слов в порт ввода- вывода.
2 Задание по лабораторной работе
1.Ввести строку и два отдельных символа;
2.Заменить по всей строке каждый символ, совпадающий с первым отдельно введённым символом на второй отдельно введённый символ.