7.4.5.2.1. Команды ввода-вывода
Команды ввода-вывода МП 80386 обеспечивают доступ к
портам ввода-вывода процессора для обмена данными с периферийными устройствами.
Эти команды в качестве
единственного операнда имеют адрес порта в пространстве ввода-вывода.
Существуют два класса команд ввода-вывода: передающие строки объектов, расположенных в памяти (известные как команды ввода-вывода
строк или блочные команды ввода-вывода), и
передающие единственные байт, слово или двойное слово, расположенные в регистре.
Блочные команды ввода-вывода INS и OUTS пересылают блоки данных между портами ввода-вывода и
пространством памяти. Эти команды используют регистр DX для указания порта в
пространстве адресов ввода-вывода. 8-разрядные порты нумеруются от 0 до 65535,
16-разрядные порты нумеруются 0, 2, 4 и так до 65534, 32-разрядные порты нумеруются 0,
4, 8 и так до 65532.
Команды IN и OUT пересылают данные между портами ввода-вывода и регистрами AL (для
8-разрядного ввода-вывода), АХ (для 16-разрядного ввода-вывода) и ЕАХ (для 32-разрядного
ввода-вывода). Команды IN и OUT адресуют порты ввода-вывода либо прямо (адресом одного из 256
портов, закодированном в команде), либо косвенно (используя регистр DX для указания адреса одного из
64К портов).