* Emu80 *
Last update:
08.06.2013.
|
|
Техническая документация на ПК "Корвет"
; Москва, НИИСЧЕТМАШ, 10 декабря 1986 г.
;
; ОПИСАНИЕ ПРОГРАММНО-ДОСТУПНЫХ ЭЛЕМЕНТОВ ПЭВМ ПК8020
;
; Для программиста ПЭВМ представляется совокупностью про-
; граммно доступных узлов, в число которых входят:
; - центральный процессор КР580ВМ80А;
; - узел дешифрации адресов и задания конфигураций памяти
; (системный регистр);
; - клавиатура;
; - контроллер отображения алфавитно-цифровой информации;
; - контроллер отображения графической информации;
; - системный таймер;
; - контроллер прерываний;
; - адаптер локальной сети;
; - адаптер магнитофона;
; - программируемый генератор звука;
; - адаптер печатающего устройства;
; - адаптер последовательного интерфейса ИРПС;
; - контроллер внешнего ЗУ на гибких магнитных дисках.
; СИСТЕМНЫЙ РЕГИСТР И КОНФИГУРАЦИИ ПАМЯТИ
; Все узлы ПЭВМ адресуются как ячейки памяти. Различные типы
; памяти (ПЗУ, ОЗУ и т.д.) могут логически подключаться, от-
; ключаться и перемещаться, образуя различные конфигурации
; для разных системных и прикладных программ. Область ПЗУ
; всегда начинается с 0 адреса. Клавиатура, регистры адаптеров
; и контроллеров внешних устройств, а также отображаемое на
; экране алфавитно-цифровое ЗУ сведены в единую область
; адресов размером 2 кбайта (область УВВ), подключаемую, от-
; ключаемую и перемещаемую как единое целое. В некоторых конфи-
; гурациях используются сокращенные варианты области УВВ, сос-
; тоящие только из едресов регистров и портов периферийных БИС.
; Поскольку на дешифратор адресов поступает только старший
; байт адреса, конфигурации могут задаваться с точностью до
; одной страницы, при этом относительное расположение адресов
; внутри каждой страницы постоянно.
; Ниже определяются относительные адреса различных элемен-
; тов ПЭВМ в соответствующих страницах и начальные смещения
; этих страниц для различных конфигураций памяти. Адрес каж-
; дого элемента в программе должен задаваться в виде суммы
; относительного адреса и начального смещения.
; Выбор одной из 9 имеющихся конфигураций осуществляется
; путем задания содержимого специального пятиразрядного ре-
; гистра, называемого системным регистром. Адрес этого ре-
; гистра располагается в текущей области УВВ.
;
; Условные названия конфигураций памяти и соответствующие им
; константы для записи в системный регистр:
TRS80 EQU 00H ; ПЗУ 14к, область УВВ с 3800 по 3FFF,
; ОЗУ с 4000 по FFFF
ROMB1 EQU 18H ; ПЗУ 16к, область УВВ с F800 по FFFF,
; ОЗУ с 4000 по F7FF
ROMB2 EQU 20H ; ПЗУ 14к, область УВВ с 3800 по FFFF,
; ОЗУ с 4000 по BFFF, граф. ЗУ (ГЗУ)
; с C000 по FFFF
ODOSA EQU 1CH ; Конфигурация для ОС CP/M:
; ОЗУ с 0 по F7FF, область УВВ
; с F800 по FFFF
NDOS EQU 14H ; ПЗУ 8к, ОЗУ с 2000 по F7FF,
; область УВВ с F800 по FFFF
BASIC EQU 40H ; ПЗУ 24к, ОЗУ с 6000 по F7FF,
; область УВВ с F800 по FFFF
BASG EQU 60H ; ПЗУ 24к, ОЗУ с 6000 по BEFF,
; регистры ВВ с BF00 по BFFF,
; ГЗУ с C000 по FFFF
DOSA EQU 5CH ; ОЗУ с 0 по FDFF, регистры
; с FE00 по FFFF
DOSG1 EQU 3CH ; ОЗУ с 0 по 3FFF и с 8000 по
; FDFF, ГЗУ с 4000 по 7FFF,
; регистры с FE00 по FFFF
; Системный регистр вместе с регистром цвета и
; цветовой таблицей (см. ниже) располагается в стра-
; нице, начальное смещение которой определяется па-
; раметром RGBASE, способным принимать одно из 4
; значений:
RGBASE1 EQU 3A00H ; в TRS80 и ROMB2
RGBASE2 EQU 0FA00H ; в ROMB1, ODOSA, NDOS и BASIC
RGBASE3 EQU 0FF00H ; в DOSA и DOSG1
RGBASE4 EQU 0BF00H ; в BASG
SYSREG EQU 7FH ; Относительный адрес
; системного регистра
; Адреса остальных регистров, представляющих собой
; порты периферийных БИС, сведены в одну страницу,
; начальный адрес которой PBASE может принимать одно
; из 3 значений:
PBASE1 EQU 3B00H ; в TRS80 и ROMB2
PBASE2 EQU 0FB00H ; в ROMB1, ODOSA, NDOS и BASIC
PBASE3 EQU 0FE00H ; в DOSA и DOSG1
;------------------------------------------------------------
; КЛАВИАТУРА
; Состояние клавишных переключателей клавиатуры доступно
; программе при опросе групп клавишей или всей клавиатуры
; целиком как ячеек памяти. Ниже приводятся адреса ячеек,
; соответствующие группам по 8 клавишей. Нажатое состояние
; клавиши дает '1' в соответствующем разряде считанного
; байта данных. Опрос одновременно нескольких групп с
; целью выявления хотя бы одной нажатой клавиши можно
; производить путем объединения их адресов лог. ИЛИ.
; D7 D6 D5 D4 D3 D2 D1 D0
; |---|---|---|---|---|---|---|---|
; основное поле
KB00 EQU 01H ; Г Ф Е Д Ц Б А Ю
KB01 EQU 02H ; О Н М Л К Й И Х
KB02 EQU 04H ; В Ж У Т С Р Я П
KB03 EQU 08H ; ъ Ч Щ Э Ш З Ы Ь
KB04 EQU 10H ; 7 6 5 4 3 2 1 0
KB05 EQU 20H ; ? > = < + * 9 8
KB06 EQU 40H ; ПРОБЕЛ ТАБ ВШ ВЗ ИЗ СТП СТР ВК
KB07 EQU 80H ; РГП ФКС УПР СЕЛ ПРФ ГРФ АЛФ РГЛ
; дополнительные поля
KB08 EQU 101H ; 7 6 5 4 3 2 1 0
KB09 EQU 102H ; . 9 8
KB10 EQU 104H ; F5 F4 F3 F2 F1
; Начальное смещение области адресов клавиатуры KBBASE
; может принимать одно из двух значений:
KBBASE1 EQU 3800H ; в TRS80 и ROMB2
KBBASE2 EQU 0F800H ; в ROMB1, ODOSA, NDOS и BASIC
; КОНТРОЛЛЕР ОТОБРАЖЕНИЯ АЛФАВИТНО-ЦИФРОВОЙ ИНФОРМАЦИИ
; Этот узел состоит из 9-разрядного статического ОЗУ (АЦЗУ)
; объемом 1 кбайт, регистра управления и регистра атрибута.
; АЦЗУ располагается в конце текущей области адресов УВВ (XC00-
; XFFF), каждая ячейка отображается на экране в виде одного
; символа, начиная с левого верхнего угла, всего 16 строк по
; 64 символа. Коды и начертания символов определяются знакоге-
; нератором, причем за основу взят код КОИ-8, дополненный эле-
; ментами псевдографики. Регистр управления, реализованный в
; виде порта одной из микросхем КР580ВВ55А, устанавливает режим
; отображения и позволяет управлять состоянием атрибута инвер-
; сии изображения в 9-м разряде АЦЗУ, в частности, формировать
; на экране курсор. Этот регистр работает на вывод, но доступен
; и для чтения. Одноразрядный регистр атрибута позволяет прог-
; раммно анализировать состояние атрибута в 9-м разряде АЦЗУ.
VIBASE1 EQU 3C00H ; Начальный адрес АЦЗУ в конфигурациях
; TRS80 и ROMB2
VIBASE2 EQU 0FC00H ; Начальный адрес АЦЗУ в конфигурациях
; ROMB1, ODOSA, NDOS и BASIC
VIREG EQU 3AH ; Относительный адрес регистра управления
; отображением
VISTS EQU 38H ; Относительный адрес регистра состояния
; атрибута видеоинверсии
; Константы для работы с регистрами
ATRMSK EQU 8 ; Маска атрибута видеоинверсии
VBLMSK EQU 2 ; Маска кадрового гасящего импульса
FONT1 EQU 4 ; Выбор альтернативного набора
; символов в знакогенераторе
LARGE EQU 8 ; Режим отображения расширенных
; символов (32 символа в строке)
ATRSET EQU 10H ; Установка бита атрибута
ATRRES EQU 20H ; Сброс бита атрибута
ATRFRE EQU 30H ; Сохранение состояния атрибута
; и условие чтения атрибута
; КОНТРОЛЛЕР ОТОБРАЖЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ
; Состоит из двух или трех слоев (банков) динамического ОЗУ,
; содержимое которых отображается на экране в виде карты бит,
; регистра цвета, регистра выбора страниц, таблицы присвоения
; цветов и логической матрицы для анализа содержимого ГЗУ.
; Объем каждого слоя может быть 16 или 64 к, но отображается
; всегда только 16 к из каждого слоя.
; Четырехразрядный регистр выбора страницы при объеме 64 к
; определяет, какая часть (страница) каждого слоя отображается
; в текущий момент на экране и какая открыта для доступа
; процессору.
; Байты информации одновременно из всех слоев выводятся на
; экран начиная с верхнего левого угла таким образом, что
; одноименные биты совмещаются и определяют логический цвет
; соответствующей точки на экране.
; Старший бит каждого байта отображается слева, младший -
; справа. Окончательный (физический) цвет точки определяется
; содержимым программируемой таблицы присвоения цветов,
; причем учитывается также информация из АЦЗУ. Таблица
; присвоения цветов расположена в области УВВ и адресуется
; как одна ячейка памяти, работающая только на запись, при
; этом выбор строки таблицы определяется содержимым запи-
; сываемого байта.
PAGREG EQU VIREG ; Адрес регистра выбора страниц
VPAGE0 EQU 00000000B ; Выбор 0 страницы отображения
VPAGE1 EQU 00000001B ; Выбор 1 страницы отображения
VPAGE2 EQU 00000010B ; Выбор 2 страницы отображения
VPAGE3 EQU 00000011B ; Выбор 3 страницы отображения
RWPAG0 EQU 00000000B ; Выбор 0 страницы чтения/записи
RWPAG1 EQU 01000000B ; Выбор 1 страницы чтения/записи
RWPAG2 EQU 10000000B ; Выбор 2 страницы чтения/записи
RWPAG3 EQU 11000000B ; Выбор 3 страницы чтения/записи
; Если объем слоя ограничен 16 к, состояние битов PAGREG
; безразлично.
LUT EQU 0FBH ; Адрес таблицы присвоения цветов
; (относительный)
; При записи в LUT биты D0...D3 задают номер одной из 16
; строк таблицы, а D4...D7 - содержимое этой строки.
; D3 соответствует АЦЗУ, D2 - слою ГЗУ #2, D1 - слою #1,
; D0 - слою #0; D7 задает интенсивность (яркость),
; D6 - наличие красного цвета, D5 - зеленого цвета, D4 -
; синего цвета.
;
; Регистр цвета задает маски логических цветов и режимы
; записи и считывания ГЗУ. Имеются два основных режима -
; послойный и цветовой. Этот регистр работает только на
; запись.
NCREG EQU 0BFH ; Относительный адрес регистра цвета
; Константы для программирования регистра цвета
BANKMD EQU 0 ; Послойный режим чтения/записи
WSEL0 EQU 11111101B ; Выбор слоя 0 при записи
WSEL1 EQU 11111011B ; Выбор слоя 1 при записи
WSEL2 EQU 11110111B ; Выбор слоя 2 при записи
RSEL0 EQU 00010000B ; Выбор слоя 0 при чтении
RSEL1 EQU 00100000B ; Выбор слоя 1 при чтении
RSEL2 EQU 01000000B ; Выбор слоя 2 при чтении
WBIT EQU 00000001B ; Маска значения бита, записы-
; ваемого в биты ГЗУ в послой-
; ном режиме
COLORMD EQU 80H ; Цветовой режим чтения/записи
; (выбраны все три слоя)
WRMSK EQU 00001110B ; маска битов, задающих логи-
; ческий цвет при записи
RDMSK EQU 01110000B ; маска битов, задающих логи-
; ческий цвет при чтении
; При записи в ГЗУ записываемый байт данных определяет,
; какие биты ГЗУ изменятся (примут значение WBIT или
; WRMSK), а какие сохранят свое значение. Признаком
; изменения является соответствие битов записываемого
; байта значению BITWR, признаком сохранения - противо-
; положное значение.
BITWR SET 1 ; Изменяются биты, заданные единицами
; При чтении ГЗУ в послойном режиме в считываемом байте
; получается содержимое ячейки выбранного слоя.
; При чтении в цветовом режиме в считанном байте содер-
; жатся признаки совпадения цвета в каждой точке с задан-
; ной маской. В случае совпадения в соответствующих битах
; читаются нули.
; СИСТЕМНЫЙ ТАЙМЕР
; Функции системного таймера выполняет канал # 2
; микросхемы КР580ВИ53. Таймер формирует запросы прерывания
; однократно или многократно через заданные интервалы
; времени. На вход таймера поступает частота 50 Гц, которую
; он делит в заданное число раз. Режим работы канала
; микросхемы задается в регистре режима, а коэффициент
; пересчета - в регистре счета.
STMRM EQU 03H ; Относит. адрес регистра режима
STMRD EQU 02H ; Относит. адрес регистра счета
; Константы для программирования режимов таймера
CTR0S EQU 00000000B ;Выбор счетчика 0
CTR1S EQU 01000000B ;Выбор счетчика 1
CTR2S EQU 10000000B ;Выбор счетчика 2
LCTR EQU 00000000B ;Стробирование счетчика
RLMB EQU 00100000B ;Чтение/загрузка старшего байта
RLLB EQU 00010000B ;Чтение/загрузка младшего байта
RLLM EQU 00110000B ;Чтение/загрузка мл. и ст. байта
MODE0 EQU 00000000B ;Режим 0 (датчик прерывания)
MODE1 EQU 00000010B ;Режим 1 (одновибратор)
MODE2 EQU 00000100B ;Режим 2 (делитель частоты)
MODE3 EQU 00000110B ;Режим 3 (делитель частоты)
MODE4 EQU 00001000B ;Режим 4 (прогр.формирователь строба)
MODE5 EQU 00001010B ;Режим 5 (аппар формирователь строба)
BCDC EQU 00000001B ;Двоично-десятичный счет
; Работа 2 канала в режиме периодического прерывания с
; заданием коэффициента пересчета в десятичной форме:
STMD SET CTR2S OR RLLM OR MODE2 OR BCDC
; Номер запроса прерывания от системного таймера:
TMRINT SET 5
; КОНТРОЛЛЕР ПРЕРЫВАНИЙ
; Этот узел реализован на основе микросхемы КР580ВН59
; и обслуживает 8 запросов (уровней ) прерывания от
; контроллеров и адаптеров внешних устройств. В системе
; контроллер имеет два адреса для обращения со стороны
; процессора, а его внутренние регистры выбира-
; ются дополнительно разрядами данных при записи или
; их выбор определяется порядком обращения. Регистры
; делятся на регистры инициализации, регистры управ-
; ления и регистры ввода. После инициализации контрол-
; ер готов к работе с фиксированными приоритетами
; запросов ( 0 - высший, 7 - низший). Контроллер при
; возникновении прерывания генерирует код команды CALL
; с адресом, соответствующим обрабатываемому запросу.
; Адреса всех 8 команд CALL попадают в одну область
; памяти, заданную программистом, где с шагом 4 или 8
; ячеек должны располагаться команды переходов к подпро-
; граммам обслуживания запросов.
; Параметры для инициализации
SICP0 EQU 28H ; Относительный адрес
; первого регистра инициализации
ICW1 SET 00010010B ; Основная часть первого слова
; инициализации
LADR EQU 11100000B ; Маска разрядов A5...A7 адреса
; таблицы переходов
SHORT EQU 00000100B ; Интервал 4 байта
SICP1 EQU 29H ; Относительный адрес
; второго регистра инициализации
ICW2 SET 00000000B ; Второе слово инициализации
; ( Старший байт адреса таблицы
; переходов )
; Параметры для управления
; Любой запрос прерывания можно запретить путем установки
; разрядов специального регистра маски (первого регистра
; управления ). Этот регистр доступен для чтения.
MSKREG EQU 29H ; Относит. адрес регистра маски
;Маски для уровней прерывания
INT0 EQU 00000001B ; Запрет прерывания уровня 0
INT1 EQU 00000010B ; Запрет прерываний уровня 1
INT2 EQU 00000100B ; Запрет прерываний уровня 2
INT3 EQU 00001000B ; Запрет прерываний уровня 3
INT4 EQU 00010000B ; Запрет прерываний уровня 4
INT5 EQU 00100000B ; Запрет прерываний уровня 5
INT6 EQU 01000000B ; Запрет прерываний уровня 6
INT7 EQU 10000000B ; Запрет прерываний уровня 7
INTA EQU 00000000B ; Разрешение всех прерываний
; Второй регистр управления позволяет задавать различные
; условия окончания обработки прерываний.
EIOREG EQU 28H ; Адрес регистра конца прерывания
; Константы условий окончания обработки прерываний
PRSHF EQU 10000000B ; Циклический сдвиг приоритетов
SEOI EQU 01000000B ; Признак указания сбрасываемого
; уровня прерывания
EOI EQU 00100000B ; Конец прерывания
LEVEL EQU 00000111B ; Маска битов, указывающих
; уровень, которому присва-
; ивается низший приоритет
; Третий регистр управления позволяет задавать особые
; условия маскирования и осуществлять выбор одного из
; регистров ввода.
SELREG EQU 28H ; Адрес регистра выбора
SELRID EQU 00001000B ; Признак адресации (идентифи-
; катор) регистра выбора
SMEN EQU 01000000B ; Разрешение управления спец.
; маскированием
SMSET EQU 00100000B ; Установка спецмаскирования
POLL EQU 00000100B ; Режим опроса
SELEN EQU 00000010B ; Разрешение выбора регистра
SELIRR EQU 00000000B ; Выбор регистра запросов
SELISR EQU 00000001B ; Выбор регистра обрабатываемых
; прерываний
IRISRG EQU 28H ; Адрес регистров опроса, входных
; запросов и обрабатываемых пре-
; рываний
; АДАПТЕР МАГНИТОФОНА
; В состав этого узла входят регистр записи и регистр
; чтения, функции которых выполняют отдельные цепи
; портов микросхемы КР580ВВ55А. В ПЭВМ ПК8010 и ПК8020
; имеется возможность прямого управления битами.
; Разряды регистров чтения и записи отражают только
; состояние входных и выходных сигналов, а кодирование
; и декодирование информации должны осуществляться
; программно.
CASOUT EQU 32H ; Адрес регистра записи
CASIN EQU 38H ; Адрес регистра чтения
CASMSK EQU 01H ; Маска входного сигнала
SETLOW EQU 00B ; Посылка сигнала низкого уровня
SETMID EQU 01B ; Посылка сигнала среднего уровня
SETHIGH EQU 11B ; Посылка сигнала высокого уровня
STOP EQU 4 ; Временный останов ленты (пауза)
; ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР ЗВУКА
; Генератор звука построен на основе канала #0
; микросхемы КР580ВИ53. На вход счетчика подана частота
; 2000 кГц. Генератор дополнительно управляется
; одноразрядным регистром разрешения, доступным также
; для чтения.
SOUNDD EQU 00H ; Адрес регистра счета
SOUNDM EQU 03H ; Адрес регистра режима
SOUNDC EQU 32H ; Адрес регистра разрешения
SNDEN EQU 8 ; Разрешение формирования звука
; Константа для задания режима работы счетчика
SNDMD SET CTR0S OR RLLM OR MODE3
; АДАПТЕР ЛОКАЛЬНОЙ СЕТИ
; Этот адаптер построен на основе микросхемы КР580ВВ51А,
; работающей в асинхронном режиме на общую сигнальную
; линию локальной сети класса. В указанной микросхеме
; используются только цепи принимаемых и передаваемых
; данных. На вход синхронизации подана частота 312 кГц,
; что позволяет вести прием и передачу со скоростью
; около 19500 бит/с. Адаптер способен генерировать
; запрос прерывания при приеме байта данных из канала.
; Адрес (номер) рабочего места в локальной сети задается
; 4 перемычками на разъеме локальной сети. Адрес может
; быть прочитан через регистр LANADR (порт A первой
; микросхемы типа КР580ВВ55А).
; Адреса регистров адаптера локальной сети
LAND EQU 20H ; Регистр данных
LANC EQU 21H ; Регистр управления
LANS EQU 21H ; Регистр состояния
LANADR EQU 38H ; Регистр адреса рабочего места
ADRMSK EQU 0F0H ; Маска адреса раб. места
; Константы для программирования режима
; Коэффициент деления
; частоты синхронизации:
R64X EQU 00000011B ; 64
R16X EQU 00000010B ; 16
R1X EQU 00000001B ; 1
CL8 EQU 00001100B ;Длина символа = 8 бит
CL7 EQU 00001000B ; = 7 бит
CL6 EQU 00000100B ; = 6 бит
CL5 EQU 00000000B ; = 5 бит
PEHB EQU 00010000B ; Разрешение контроля
PEVEH EQU 00100000B ; Контроль на четность
; Пауза при передаче:
ST2 EQU 11000000B ;2 стоповых бита
ST15 EQU 10000000B ;1.5 стоповых бита
ST1 EQU 01000000B ;1 стоповый бит
; Устанавливаемый режим работы:
LANMD SET R16X OR CL8 OR PEHB OR ST1
; Отдельные биты команды
TXEN EQU 00000001B ; Разршение работы передатчика
RXEN EQU 00000100B ; Разрешение работы приемника
SBCH EQU 00001000B ; Посылка признака обрыва
CLERR EQU 00010000B ; Сброс признаков ошибок
USRST EQU 01000000B ; Программный сброс
; Маски отдельных признаков в регистре состояния
TRDY EQU 00000001B ; Признак готовности передатчика
RRDY EQU 00000010B ; Признак готовности приемника
TXBE EQU 00000100B ; Передающий буфер пуст
RPAR EQU 00001000B ; Признак ошибки по четности
ROV EQU 00010000B ; Признак ошибки переполнения
RFR EQU 00100000B ; Признак ошибки формата байта
LANINT EQU 3 ; Используемый уровень прерывания
; АДАПТЕР ИНТЕРФЕЙСА ИРПС
; Данный узел построен на основе микросхемы КР580ВВ51А и
; одного из каналов КР580ВИ53 и реализует последовательный
; интерфейс типа 'Токовая петля' с дополнительными
; цепями для сигнализации о состоянии устройств, участву-
; ющих в обмене. Скорость передачи задается путем установки
; соответствующего коэффициента деления счетчика микросхемы
; КР580ВИ53, на вход которого подана частота 2000 кГц.
; Выделены отдельные уровни прерывания для приемника и
; передатчика.
; Адреса регистров микросхемы КР580ВВ51А:
SERD EQU 10H ;Регистр данных
SERC EQU 11H ;Регистр управления
SERS EQU 11H ;Регистр состояния
; Предполагаемый режим работы
SERMD SET R16X OR CL8 OR ST1
; Дополнительные биты команды
DTR EQU 00000010B ; Сигнал 'Готовность ПК'
; Дополнительные признаки в регистре состояния
DSR EQU 10000000B ; Сигнал 'Готовность УВВ'
; Адреса регистров канала БИС КР580ВИ53
BCNTC EQU 03H ; Регистр управления
BCNTD EQU 01H ; Регистр счета
; Константы для программирования счетчика
BCMD SET CTR1S OR RLLM OR MODE3 ; Режим работы
; Коэффициенты деления для скоростей обмена:
B9600 EQU 13 ; 9600 бод
B4800 EQU 26 ; 4800 бод
B2400 EQU 52 ; 2400 бод
B1200 EQU 104 ; 1200 бод
SERINT1 EQU 1 ; прерывание от приемника
SERINT2 EQU 2 ; прерывание от передатчика
; АДАПТЕР ПЕЧАТАЮЩЕГО УСТРОЙСТВА
; В состав этого узла входят регистр данных, регистр
; управления и регистр состояния, реализованные в виде
; портов параллельного адаптера КР580ВВ55А, причем
; регистр управления обеспечивает непосредственное
; управление битами (сброс и установку). Передача байта
; данных осуществляется при наличии признака готовности
; принтера в регистре состояния путем записи кода
; символа в регистр данных с последующей установкой и
; сбросом бита стробирующего сигнала в регистре управления.
; В драйверы печатающего устройства в некоторых случаях
; необходимо вводить инвертирование передаваемого
; байта и байта состояния (условное ассемблирование
; в зависимости от значения параметра LSTINV).
LSTDAT EQU 30H ; Регистр данных принтера
LSTSTS EQU 38H ; Регистр состояния
LSTCTL EQU 33H ; Регистр управления
LSTINV SET 1 ; Признак инверсии
; данных и состояния
LSTRDY EQU 4 ; Маска признака готовности
; принтера
STBSET EQU 0BH ; Установка строба данных
STBRST EQU 0AH ; Сброс строба данных
LSTINT EQU 6 ; уровень прерывания по готовности
; принтера
; Программируемые параллельные адаптеры КР580ВВ55А,
; упомянутые выше в составе адаптеров внешних уст-
; ройств, имеют следующие адреса портов и регистров
; для установки режимов:
; ППР#1 :
PIA1 EQU 38H ; Порт А (LANADR, VISTS, LSTSTS,
; CASIN )
PIB1 EQU 39H ;Порт В (DRVREG )
PIC1 EQU 3AH ;Порт С (VIREG )
PIMC1 EQU 3BH ;Регистр режима и управления
PI1MD EQU 90H ; Байт задания режима
; ППР#2 :
PIA2 EQU 30H ; Порт А ( LSTDAT )
PIB2 EQU 31H ; Порт В ( резерв )
PIC2 EQU 32H ; Порт С (CASOUT, LSTCTL, SOUNDC)
PIMC2 EQU 33H ; Регистр режима и управления
PI2MD EQU 82H ;Байт задания режима
; ППР#3 ( порт расширения системы )
PIA3 EQU 08H ; Порт А
PIB3 EQU 09H ; Порт В
PIC3 EQU 0AH ; Порт С
PIMC3 EQU 0BH ; Регистр управления
; УЗЕЛ СОПРЯЖЕНИЯ С НГМД
; В состав этого узла входят БИС контроллера НГМД КР1818ВГ93,
; регистр выбора и управления НГМД и одновибратор включения
; двигателя НГМД.
; Регистр выбора и управления НГМД
DRVREG EQU 39H ; (порт B КР580ВВ55 #1)
; Этот регистр работает на вывод, но доступен программно и
; для чтения, поэтому состояние его разрядов можно изменять
; с помощью логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ.
; Разряды регистра выбора и управления
DS0 EQU 00000001B ; выбор НГМД #0
DS1 EQU 00000010B ; выбор НГМД #1
DS2 EQU 00000100B ; выбор НГМД #2
DS3 EQU 00001000B ; выбор НГМД #3
SIDE1 EQU 00010000B ; выбор стороны диска #1
MOTOR EQU 00100000B ; запуск одновибратора
; включения двигателя
SDEN EQU 01000000B ; режим работы с одинарной
; плотностью записи
D200 EQU 10000000B ; работа с диском 203 мм
; Одновибратор включения двигателя запускается на время 3 с
; при переходе сигнала (бита) MOTOR из 0 в 1. Для разгона
; двигателя требуется время около 0,5 с, после этого можно
; инициировать операции контроллера НГМД. Если двигатель
; уже был включен, время на разгон не требуется. Опрос
; состояния одновибратора включения двигателя производится
; через регистр запросов контроллера прерываний.
MOTINT EQU 7 ; Прерывание от одновибратора
; управления двигателем
; Контроллер НГМД
; Регистры контроллера
CMDREG EQU 18H ; Регистр команд
STSREG EQU 18H ; Регистр состояния
TRKREG EQU 19H ; Регистр текущей дорожки
SECREG EQU 1AH ; Регистр сектора
DATREG EQU 1BH ; Регистр данных
; Команды контроллера НГМД
; (команды записываются в регистр команд при наличии
; разрешения, т.е. при отсутствии признака BUSY
; в регистре состояния). Опрос регистра состояния можно
; производить не ранее, чем через 30 мкс после записи
; команды в регистр команд.
; Команды позиционирования (команды I типа). Основные коды
RESTORE SET 00000000B ; позиционирование на 0 дорожку
SEEK SET 00010000B ; позиционирование на дорожку,
; заданную в регистре данных
STEP SET 00100000B ; позиционирование на одну
; дорожку в направлении, задан-
; ном предыдущей командой
STEPIN SET 01000000B ; позиционирование к центру
; на одну дорожку
STEPOUT SET 01100000B ; позиционирование от центра
; на одну дорожку
; Модификаторы команд позиционирования
UPDATE EQU 00010000B ; отслеживание перемещения
; головки в регистре дорожки
HLD EQU 00001000B ; прижим головки при движении
VERIFY EQU 00000100B ; проверка установки головки
; после перемещения
RATE SET 00000011B ; коэффициент скорости позици-
; онирования (для мини-дисков
; время перехода с дорожки на
; дорожку при 00 будет 6 мс,
; 01 - 12 мс, 10 - 20 мс,
; 11 - 30 мс )
; Модификаторы HLD, UPDATE и VERIFY могут использоваться
; по усмотрению системного программиста.
; Использование модификатора RATE является обязательным,
; причем для дисководов типа FD55FV его значение может
; быть установлено равным 00.
; Команды чтения/записи (команды II типа)
; Основные коды
RDSEC SET 10000000B ; чтение сектора
WRSEC SET 10100000B ; запись сектора
; Модификаторы
MULTI EQU 00010000B ; операция с несколькими
; секторами
DELAY EQU 00000100B ; включение задержки опе-
; рации на время подвода
; головки
; использование модификатора DELAY для используемых
; в КУВТ НГМД является обязательным.
; Команды форматирования (команды III типа)
; Основные коды
RDADR EQU 11000000B ; чтение идентификатора
RDTRK EQU 11100000B ; чтение дорожки
WRTRK EQU 11110000B ; запись дорожки
; Модификатор - DELAY (см. выше)
; Команды прерывания (команды IV типа)
; Основные коды
FORCE EQU 11010000B ; прекращение операции
; и/или генерация зап-
; роса прерывания на ЦП
; Модификаторы (используются по усмотрению программиста)
ONRDY EQU 00000001B ; прерывание по готов-
; ности НГМД
ONNRDY EQU 00000010B ; прерывание по неготов-
; ности НГМД
ONINDX EQU 00000100B ; прерывание по индекс-
; ному импульсу
IMMID EQU 00001000B ; немедленное прерывание
; Признаки состояния контроллера НГМД
; Эти признаки могут быть получены путем чтения регистра
; состояния контроллера НГМД с последующим выделением их
; путем логического умножения на соответствующую маску.
; Маски признаков (флагов ) состояния контроллера НГМД
BUSY EQU 00000001B ; признак неготовности конт-
; роллера к приему команд
DRQ EQU 00000010B ; запрос на передачу очеред-
; ного байта данных (кроме
; команд I типа)
INDX EQU 00000010B ; индексный маркер, т.е.
; начальная позиция диска
; (только для команд I типа)
LOST EQU 00000100B ; признак потери данных
; (кроме команд I типа)
TRK00 EQU 00000100B ; признак 0 дорожки
; (для команд I типа)
CRCERR EQU 00001000B ; признак ошибки по
; циклическому конт-
; рольному коду
RECNF EQU 00010000B ; признак ненахождения
; заданного сектора
; (кроме команд I типа)
SEEKER EQU 00010000B ; ошибка позиционирования
; (для команд I типа)
FAULT EQU 00100000B ; ошибка при записи
; (для команд II и III типа)
HLDD EQU 00100000B ; признак прижима головки
; (для команд I типа)
WPRTD EQU 01000000B ; признак диска, защищенного
; от записи и стирания
NOTRDY EQU 10000000B ; признак отсутствия
; готовности НГМД
;------------------------------------------------------
; Кроме перечисленных выше, в ПЭВМ ПК8020 имеются
; следующие уровни прерывания:
AUXINT EQU 0 ; Прерывание от внешних адаптеров
; (через разъем расширения)
PERINT EQU 4 ; Прерывание от кадровых импульсов
; с частотой 50 Гц
Назад
|