ВУЗ:
Составители:
TST @#165000
BMI ENDTBL ; переход по срабатыванию концевого выключателя
; продолжение программы при разомкнутом контакте.
Если РВВ доступен как по чтению, так и по записи, то содержимое этого
регистра может модифицироваться по командам обработки данных.
Например:
; Зажечь светодиод, подключенный к выходу 5-го разряда РВВ
; с адресом 165002
LD = 165002
BIS #40, @#LD
; Погасить светодиод, подключенный к выходу 0-го разряда
BIC #1, @#LD
Для организации ввода-вывода часто один из РВВ блока сопряжения с ВУ
играет роль регистра состояния-управления. Чтение данных из этого регистра
позволяет узнать состояние процесса обмена данными и ВУ. Запись в этот РВВ
обеспечивает задание режимов и инициирование операций. Для многих регист-
ров состояния используются общие соглашения, согласно которым в 15-м разря-
де (старший разряд слова) представлен признак ошибки операции ввода-
вывода, в 7-м разряде (старший разряд младшего байта РВВ) - признак готов-
ности ВУ к обмену данными, в 6-м разряде - разрешение прерывания.
Для системных внешних устройств PDP-11 существуют соглашения по ад-
ресации PBB. Простейшие УВВ имеет следующие адреса:
177550, 177552 - регистры состояния и данных фотосчитывателя
177554, 177556 - регистры состояния и данных перфоратора
177560, 177562 - регистры состояния и данных клавиатуры консоли
177564, 177566 - регистры состояния и данных вывода на консоль
177514, 177516 - регистры состояния и данных принтера
Фрагмент программы вывода на принтер строки STR, завершающейся
байтом 0, может быть таким:
MOV #STR, R0 ; установить указатель R0 в начало строки
; Опрашивать регистр состояния в ожидании готовности
; или появления ошибки (конец бумаги, выключение принтера)
L: BIT #100200, @#177514 ; Бит 15 - ошибка, бит 7 - готовность
BEQ L ; Ожидать, если нет ни ошибки, ни готовности
; Проверить наличие ошибки
TST @#177514 ; Признак в знаковом разряде
BMI ERROR ; переход к реакции на ошибку
; Вывести символ
MOVB (R0)+, @#177516
BNE L ; Продолжить, если не завершающий 0
; Продолжение после вывода строки
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »