Команды ввода и вывода
Команды ввода и вывода
Для выполнения операций ввода и вывода микропроцессор 8088 имеет
команды IN и OUT соответственно. Каждое устройство ввода=вывода
IBM PC имеет один или больше встроенных регистров, с которыми могут
работать эти команды. Каждое устройство ввода=вывода имеет адрес
для каждого регистра в устройстве. Это адресное пространство
отличается от адресного пространтва памяти; всего существует 216,
или 65536 адресов ввода=вывода, доступных микропроцессору 8088. В
IBM PC 512 из этих адресов назначены системному каналу ввода=вывода
и могут использоваться различными адаптерами. Другие 256 адресов
исполбзуются на системной плате для управления подключенными туда
устройствами ввода=вывода.
Команда IN пересылает данные из устройства ввода=вывода в
регистр AL. Эта команда может указать адрес устройства ввода=вывода
двумя различными способами. Если адрес устройства находится в
пределах 0 - 255, он может содержаться в команде как
непосредственное значение. Если адрес больше 255, команда сообщает
это косвенно. В случае косвенной команды адрес устройства
ввода=вывода содержится в регистре DX. Регистр DX может содержать
адреса всех устройств ввода=вывода, включая те, номера которых
меньше 256.
Аналогично работает команда OUT, за исключением того, что она
записывает регистр AL в регистр устройства ввода=вывода. Адреса в
команде OUT указываются так же, как и в команде IN.
Команды IN и OUT также могут пересылать слова в устройства
ввода=вывода и из них. В случае работы со словами источником и
приемником является регистр AX. Так как у микропроцессора 8088
однобайтовая внешняя шина, устройства ввода=вывода IBM PC работают
только с байтами при любых операциях ввода=вывода. Это означает,
что операции ввода=вывода слов не используются в персональной ЭВМ.
Однако пословные операции ввода=вывода имеют смысл в системе с
микропроцессором 8086, который имеет тот же набор команд.