Skip to Content

Асинхронный обмен

Программа такого обмена строится так: сначала проверяется готовность ВУ к обмену и если оно готово, то дается команда на обмен. ВУ сообщает о готовности установкой флага.

Пример 2.1 С помощью ВУ-2 записать в ячейку 006 коды символов слова “ДА”.

Программа для выполнения этого задания имеет вид:

Адрес Содержимое Комментарий
Код Мнемоника
05 FFF8 Константа -8, используемая для сдвига
06 0000 Ячейка для записи слова "ДА"
... ... ...
20 E102 TSF 2 Опрос флага контроллера ВУ-2 и повторение этой операции: если ВУ-2 не готово к обмену (флаг=0).
21 C020 BR 20
22 E202 IN 2 Это действие выполняется лишь после готовности ВУ-2, т.е. когда при выполнении TSF 2 выяснятся, что флаг=1 и пропускается BR 20, По команде IN 2 содержимое регистра данных контроллера ВУ-2 пересылается в восемь младших разрядов аккумуляторов.
23 E002 CLF 2 Сброс готовности ВУ-2 (очистка флага ВУ-2).
24 F600 ROL Код первого введенного символа сдвигается на восемь разрядов влево и освобождается место для ввода следующего символа.
25 0005 ISZ 5
26 C024 BR 24
27 E102 TSF 2 Опрос флага контроллера ВУ-2 ..... (см. Комментарии к командам 20 и 21)
28 C027 BR 27
29 E202 IN 2 Ввод кода символа (если подан сигнал готовности ВУ-2)
2A E002 CLF 2 Сброс готовности ВУ-2
2B 3006 MOV 6 Пересылка кода слова "ДА" в ячейку 006
2C F000 HLT Останов ЭВМ

Две первые команды этой программы “заставляют” ЭВМ ожидать его готовности ВУ-2 к выдаче данных. Поэтому необходимо ввести код символа “Д” в регистр данных ВУ-2. После сброса готовности ВУ-2 (команда CLF 2), которая подтверждает, что данные из регистра данных контроллера ВУ-2 переписаны в аккумулятор можно приступить к набору кода символа “А”. В процессе набора этого кода ЭВМ занята сдвигом кода символа “Д” в старшие разряды аккумулятора, чтобы подготовиться к приему символа “А”, и ожиданием поступления нового сигнала готовности ВУ-2 к выдаче информации. Так как ЭВМ выполняет эти операции значительно быстрее, чем человек, набирающий код нового символа. Теперь в аккумулятор перепишется все слово “ДА”, затем оно перепишется в ячейку 006 и выполнение программы прекратиться.

Легко заметить, что при асинхронном обмене ЭВМ должна тратить время на ожидание момента готовности, а так как готовность проверяется командным путем (команда TSF), то в это время ЭВМ не может выполнять никакой другой работы по преобразованию данных.

Last updated on