7.1.9. Организация
ввода-вывода
7.1.9.1. Программируемый ввод-вывод
В
микропроцессоре 8086 адресуемое пространство УВВ может содержать до 64К байт
памяти, и эти 64К 8-разрядных ячеек могут образовывать до 64К 8-разрядных портов
или до 32К 16-разрядных. Пересылка данных между аккумулятором и портами зоны
ввода-вывода осуществляется по командам IN и OUT, при этом в пересылках байтов
участвует регистр AL, а в пересылках слов-регистр АХ. Для организации доступа к
порту БИШ помещает адрес порта (0-64К) на младшие 16 линий адресной шины.
Наличие различных модификаций команд ввода-вывода позволяет задавать в них
адрес непосредственно или брать его из регистра DX.
Микропроцессор
8086 способен пересылать на УВВ, отображенное в памяти, все восемь или 16
разрядов данных одновременно. При этом 16-разрядные устройства должны иметь
четные адреса, с тем чтобы слово могло быть передано за один цикл шины.
8-разрядные УВВ могут иметь как четные, так и нечетные адреса, а внутренним
регистрам всех устройств должны присваиваться в пределах одного УВВ только
четные или только нечетные адреса. Устройства ввода-вывода могут отображаться в
адресное пространство памяти самого микропроцессора; в этом случае процессор
работает с ними как с обычными ячейками памяти, что обеспечивает большую
гибкость программирования, так как любые команды обращения к памяти становятся
фактически командами ввода-вывода.