Прямой ввод-вывод данных в параллельном коде

Как уже отмечалось, прямой ввод-вывод возможен только с ВУ, которые всегда готовы к обмену. Он является составной частью более сложных протоколов обмена и служит наглядной иллюстрацией программного способа обмена данными.

Ввод информации из подсистемы ВВ – это операция чтения центральным процессором (ЦП) отдельного порта пространства IOSEG. Операция ввода выполняется в следующей последовательности (рис. 5.17, а):

  • • на шину ША адреса микропроцессор выставляет адрес требуемого ВУ;
  • • на выходе дешифратора DC формируется сигнал адреса буфера данных ;
  • • на одну из линий шины управления выставляется строб чтения ;
  • • на выходе логического элемента ИЛИ-HE формируется сигнал чтения данных ЧтД = 1, который открывает буфер данных БД и пропускает данные через шину данных ШД в микропроцессор.

В качестве примера приведем подпрограмму прямого ввода данных в ячейку памяти М, адрес которой хранится в регистровой паре HL.

INPUT: PUSH PSW ;сохранение в стеке содержимого PSW

IN port ;ввод данных в аккумулятор А из порта

MOV М, А ; запись в память по адресу (HL) из А

POP PSW ;возврат из стека содержимого PSW

RET ;возврат из подпрограммы,

где INPUT – метка, указывающая адрес первой ячейки подпрограммы; port – адрес порта; А – аккумулятор; PSW – регистр слова состояния.

Прямой программно-управляемый ввод (а) и вывод (б) данных в параллельном коде

Рис. 5.17. Прямой программно-управляемый ввод (а) и вывод (б) данных в параллельном коде

Вывод информации в подсистему ввода-вывода – это операция записи данных ЦП в отдельный порт пространства IOSEG. Операция вывода выполняется в следующей последовательности (см. рис. 5.17, б):

  • • на шину адреса (ША) микропроцессор выставляет адрес регистра данных (РД) требуемого ВУ;
  • • на выходе дешифратора DC формируется сигнал адреса регистра данных АРД = 0;
  • • на одну из линий шины управления выставляется строб записи Зп = 0;
  • • на выходе элемента ИЛИ-HE формируется сигнал записи данных (ЗпД), с помощью которого поступившие из микропроцессора данные записываются в РД.

В качестве примера приведем подпрограмму прямого вывода данных из ячейки памяти М с адресом, хранящимся в регистровой паре HL.

OUT: PUSH PSW ;запись в стек содержимого PSW

MOV А,М ;считывание в А ячейки М с адресом в HL

OUT port ;вывод данных из аккумулятора А в порт

POP PSW ;возврат из стека содержимого PSW

RET ;возврат из подпрограммы,

где OUT – метка, указывающая адрес первой ячейки подпрограммы; А – аккумулятор; PSW – регистр слова состояния.

 
< Пред   СОДЕРЖАНИЕ     След >