ПРЯМИЙ ВВЕДЕННЯ-ВИВЕДЕННЯ ДАНИХ В ПАРАЛЕЛЬНОМУ КОДІ

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

Введення інформації з підсистеми ВВ - це операція читання центральним процесором (ЦП) окремого порту простору 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 - регістр слова стану.

 
< Попер   ЗМІСТ   Наст >