Mov dx, 378h
Outsd
Outsw
Outsb
Вывод элемента цепочки в порт
Rep insb
Mov cx, 10 ; в cx количество пересылаемых байт
Lea di, pole ; адрес строки
Mov dx, 5000h
Pop es
Push ds
Insd
Insw
Insb
Ввод элемента цепочки из порта в строку
Rep stosb ; пересылать 15 байт (пробелов)
Mov cx, 15
Lea di, string ; в di загружается адрес строки
Cld ; адрес увеличивается
Mov es,ax
mov al, “ “ ; в al загружается пробел
:
.
ins <приемник>, <порт>
b,d,w – размеры пересылаемых элементов.
Номер порта должен быть записан в регистр dx. Адрес приемника записать в es:di. Размер элемента цепочки должен быть согласован с элементом порта. В CXуказать количество пересылаемых байт (слов, двойных слов). После ввода элемента команда ins производит коррекцию содержимого регистра di на величину, равную размера элемента.
:
Outs <порт>, <источник>
Для работы этой команды необходимо предусмотреть:
- номер порта записать в регистр dx
- адрес источника записать в пару регистров DS: SI/ESI
- размерность элемента строки совпадает с элементом порта.
Пример