Пятница, 15.12.2017, 09:17
БК-0010.01. Повесть о настоящем компьютере
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории каталога
Введение в руководство [2]
Введение [0]
Организация БК-0010 [1]
Раздел 1. Организация БК-0010
Работа с МСД [1]
Раздел 2. Работа с МСД
Системные регистры [1]
Раздел 3. Системные регистры
Системное ПО [1]
Раздел 4. Системное программное обеспечение БК-0010
Прерывания. Приоритет ЦП [1]
Раздел 5. Система прерываний БК-0010. Приоритет процессора
Командные прерывания [1]
Раздел 6. Командные прерывания
ЕМТ БК-0010 [1]
Раздел 7. командные прерывания ЕМТ БК-0010
Коды и ассемблер. Мнемокод. [1]
Раздел 8. Коды и ассемблер. Мнемокод. Формат команды
Способы адресации [1]
Раздел 9. Способы адресации
Команды процессора БК-0010 [1]
Раздел 10. Система команд процессора БК-0010
Псевдокоманды. Метки. Комментарии [1]
Раздел 11. Псевдокоманды ассемблера. Метки. Комментарии
Программирование на ассемблере [1]
Раздел 12. Программирование на ассемблере. Начало. Трансляция программ. Ошибки
Отладка программ [1]
Раздел 13. Отладка программ. Позиционно-независимое программирование. Компановка
Подпрограммы ПЗУ БК-0010 [1]
Раздел 14. Подпрограммы ПЗУ БК-0010
Системная область ОЗУ БК-0010 [1]
Раздел 15. Системная область ОЗУ БК-0010. Некоторые секретные сведения об авторе и МП-клубе
Повышение быстродействия БК-0010 [1]
Раздел 16. Вопросы повышения быстродействия БК-0010
Об использовании ПЗУ [1]
Раздел 17. Полезная подпрограмма. Об использовании ПЗУ
Загадочные регистры [1]
Раздел 18. Загадочные регистры
Штурм системной области [1]
Раздел 19. Продолжаем штурм системной области
Об автозапуске программ [1]
Раздел 20. Об автозапуске программ
Коварные программы [1]
Раздел 21. Коварные программы
Еще о системной области [1]
Раздел 22. О пользе плагиата, или еще о системной области
О псевдокомандах и компановке [1]
Раздел 23. Еще раз о псевдокомандах, метках и компановке
Тук-тук, кто в стеке живет? [1]
Раздел 24. Тук-тук, кто в стеке живет?
Фокал с позиций ассемблера [1]
Раздел 25. Взгляд на фокал с позиций ассемблера
Наш опрос
Оцените мой сайт
Всего ответов: 47
 Каталог статей
Главная » Статьи » Системные регистры

Системные регистры БК

Как уже говорилось, область СР начинается с адреса 177600. Далеко не все адреса этой области задействованы. Пользователя интересуют в основном регистры внешних устройств. Таких регистров в БК пять.

1. Регистр состояния клавиатуры.
адрес - 177660.
разряд 06 - маска прерываний от клавиатуры: 0-разрешено прерывание, 1-запрещено. Разряд доступен по записи и чтению.
разряд 07 - флаг состояния клавиатуры. Устанавливается в 1 при поступлении нового кода в регистр данных клавиатуры, в 0 - при чтении регистра данных. Доступен только по чтению.
Остальные разряды не используются.

2. Регистр данных клавиатуры.
адрес - 177662.
разряды 00...06 используются для записи 7-разрядного кода клавиатуры при нажатии клавиши.
Запись нового кода происходит только после считывания предыдущего. Доступен только по чтению.
Остальные разряды не используются.

3. Регистр смещения.
адрес - 177664.
Предназначен для организации рулонного сдвига информации на экране, путем задания адреса, с которого должен начинаться экран.
разряды 00...07 - Адрес экранного ОЗУ, причем единица содержимого регистра соответствует 100 байтам экранного ОЗУ, или 1 телевизионной строке (64д байт).
В исходном состоянии регистр содержит константу 330, при этом экран начинается с адреса 40000.
разряд 09 - задание режима расширенной памяти. Для задания расширенной памяти в нем записана 1, в обычном режиме - 0.
Остальные разряды не используются.
Регистр доступен по записи и чтению.

4. Регистр порта ввода-вывода.
адрес - 177714.
разряды 00...15 Используются для записи информации. Доступен по записи и чтению.  Записанные данные поступают на порт вывода БК. Читаются данные, поданные на порт ввода.
После каждого цикла записи и передачи данных в порт регистр очищается, т.е. возможности считать записанные данные нет. 
Это нужно учитывать при работе с регистром из ассемблера: при каждом обращении любого оператора к регистру порта следует считать, что там записано слово 000000.
В фокале же есть свое специальное по для работы с портом, и как бы можно прочитать содержимое порта вывода. Но это не есть чтение регистра 177714. В системной области зарезервирована ячейка с адресом 256, в которую можно программно занести данные, записанные в порт вывода, для их сохранения, но автоматически ЭВМ это не делает.
Порт ввода-вывода БК инвертирует сигнал, т.е. при записи в регистр 177714 слова 000000 - на выходе порта все единицы, при записи же слова 177777 - все нули. Исходное состояние регистра порта 000000, значит, порта - 177777. Это необходимо учитывать при реальной привязке к порту БК внешних устройств и разработке для них ПО.

5. Регистр управления системными внешними устройствами (СВУ).
Это - пожалуй, самый интересный СР.
адрес - 177716.
рразряды 08...15 Служат для задания адреса начального пуска процессора, считая содержимое младшего байта=0. В БК-0010 этот адрес равен 100000. Доступны только по чтению.
разряды 00...03 Служат для задания режимов работы процессора, доступны только по чтению.
разряды 04...07 Предназначены для управления СВУ и имеют выход на внутренний 4-разрядный порт ввода-вывода, работа с которым организована аналогично порту ввода-вывода БК, т.е. запись идет только в порт вывода, чтение - только из порта ввода.

Порт вывода - разряды доступны только по записи:
разряд 04 - для передачи информации на г-линию, исходное состояние - 1.
рразряд 05 - для передачи дополнительной информации на магнитофон или сигнала готовности на тлг-линию. Исходное состояние - 0.
разряд 06 - для передачи основной информации на магнитофон и звукового сигнала при нажатии клавиши. Исходное состояние - 0.
рразряд 07 - для управления двигателем магнитофона: 0 - пуск, 1 - стоп.

Порт ввода - разряды доступны только по чтению:
разряд 04 - для чтения информации с лг-линии.
разряд 05 - для чтения информации с магнитофона.
рразряд 06 - для индикации нажатия клавиши: если ни одна клавиша не нажата - 1, клавиша нажата - 0.
Используется для реализации режима повтор, может использоваться вместе с регистром 177662 для ввода с клавиатуры "на ходу", как в кодах, так и в фокале.
разряд 07 - для чтения сигнала готовности с лг-линии.

Категория: Системные регистры | Автор: ЗАЛЬЦМАН Ю.А., МП-КЛУБ, г.АЛМА-АТА
Просмотров: 680 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Используются технологии uCoz
Форма входа

Поиск
Друзья сайта
Статистика