MyTetra Share
Делитесь знаниями!
Распределение адресов в памяти ПЭВМ Микроша
Время создания: 23.09.2020 17:02
Автор: xintrea
Текстовые метки: ПЭВМ, Микроша, порт, адрес, адресное пространство, регистр, контроллер
Раздел: Компьютер - Микроша
Запись: xintrea/mytetra_syncro/master/base/1600869733ixj03yjpv5/text.html на raw.github.com

Назначение диапазонов адресов


В Микроше используются следующие диапазоны адресов:



#0000...#7FFF - Динамическое ОЗУ 32К
#8000...#BFFF - Свободное адресное пространство,

сигнал разрешения выходит наружу под именем "32K"
#C000...#C7FF - ВВ55 клавиатуры
#C800...#CFFF - ВВ55 внешнего устройства (называется "Интерфейс-1")
#D000...#D7FF - ВГ75 (контроллер дисплея)
#D800...#DFFF - ВИ53 (таймер)
#E000...#E7FF - Свободное адресное пространство, уходит наружу как CS1
#E800...#EFFF - Свободное адресное пространство, уходит наружу как CS2
#F000...#F7FF - Свободное адресное пространство, уходит наружу как CS3
#F800...#FFFF - На запись обращается в ПДП, а на чтение - в ПЗУ 2К



Стек


Стек занимает адреса 7600-76CF (согласно официальной документации)


Не совсем понятно, почему для стека указан диапазон адресов. Возможно, это диапазон стека Монитора, за который стек не выходит во время работы Монитора. В той же документации написано, что при поступлении сигнала СБРОС, адрес начала стека устанавливается в 76CF. При работе программ стек растет в сторону меньших адресов. При записи регистровой пары в стек, старший байт кладется в ячейку SP-1, младший байт кладется в ячейку SP-2.



Экранная память


Экранная память занимает адреса 76D0-7FFF.



Адреса портов



Микросхема D39 КР580ВВ55А (3 порта по 8 бит)


C000 - адрес порта A (обработка клавиатуры)

C001 - адрес порта B (обработка клавиатуры)

C002 - адрес порта C (магнитофон, диод Рус/Лат, клавиши-модификаторы)

C003 - адрес регистра управляющего слова



Микросхема D12 КР580ВВ55А (3 порта по 8 бит)


C000 - адрес порта A

C001 - адрес порта B

C002 - адрес порта C

C003 - адрес регистра управляющего слова


Через биты 5 и 6 порта B производится вывод информации в последовательном виде через разъем "Интерфейс-1" (X3). Бит 7 этого порта служит для переключения генератора символов (знакогенератора) из стандартного режима в дополнительный (появляются строчные русские буквы за счет исчезновения английских букв).


Через бит 0 порта C производится ввод последовательной информации во внутренние регистры ПЭВМ.



Микросхема D8 КР580ВГ75А (дисплейный контроллер)


D000 - адрес регистра команд

D001 - адрес регистра признаков команд



Микросхема D22 КР580ВИ53 (таймер)


D800 - адрес счетчика 0

D801 - адрес счетчика 1

D802 - адрес счетчика 2

D803 - адрес регистра управляющего слова



Микросхема D2 КР580ВТ57 (контроллер ПДП)


F804 - адрес регистра адреса канала номер 2 контроллера ПДП

F805 - адрес регистра конца счета канала номер 2 контроллера ПДП

F808 - адрес регистра управления


Данные адреса регистров попадают в область F800-FFFF, которую занимает код Монитора. При чтении из памяти, из ячеек F804, F805, F808 передаются байты прошивки Монитора. При записи в память в адреса F804, F805, F808, записываемые данные передаются в вышеуказанные регистры контроллера ПДП.



Свободное адресное пространство


В свободное адресное пространство входят интервалы памяти:


8000-BFFF (16 Кб)

E000-F7FF (6 Кб)


Данные интервалы можно использовать для подключения внешних устройств к разъему "Внутренний интерфейс".


Для интервала 8000-BFFF в этот разъем выведен сигнал выбора "32К".


Для интервала E000-F7FF сделано управление интервалами по 2Кб. В разъем "Внутренний интерфейс" выведен сигнал CS1 для диапазона E000-E7FF, сигнал CS2 для диапазона E800-EFFF, сигнал CS3 для диапазона F000-F7FF.


При необходимости подключить устройство с полем адресов большим, чем свободное адресное пространство, это устройство должно быть реализовано по страничному типу.



Программная совместимость


Записанная в ПЗУ программа МОНИТОР, обслуживавшая ввод с клавиатуры, вывод на экран и работу с накопителем на бытовом магнитофоне, содержала унифицированные подпрограммы, точки входа в которые располагались по общеизвестным адресам. Идеологически, это напоминало BIOS, уже существовавший на тот момент, например, в составе ОС CP/M.




Адрес

Функция

Микро-80

Радио-86РК

Микроша

ЮТ-88

Апогей-БК01Ц

F800

Холодный старт

+

+

+

+

+

F803

Ввод символа с клавиатуры с ожиданием

+

+

+

+

+

F806

Ввод байта с магнитофона

+

+

+

+

+

F809

Вывод символа на экран

+

+

+

+

+

F80C

Вывод байта на магнитофон

+

+

+

+

+

F80F

Вывод символа на принтер

F809

F809

F809

F809

F812

F812

Опрос состояния клавиатуры

+

+

+

+

+

F815

Вывод байта на экран в шест. виде

+

+

+

+

+

F818

Вывод сообщения на экран

+

+

+

+

+

F81B

Опрос кода нажатой клавиши

-

+

FEEA

+

+

F81E

Запрос положения курсора на экране

-

+

-

+

+

F821

Запрос байта из экранного буфера

-

+

-

+

+

F824

Ввод блока с магнитофона

-

+

-

+

+

F827

Вывод блока на магнитофон

-

+

-

+

+

F82A

Подсчет контрольной суммы блока

-

+

-

+

+

F82D

Запуск отображения на экране

-

+

-

+

+

F830

Определение адреса верхней границы памяти

-

+

-

+

+

F833

Установка адреса верхней границы свободной памяти

-

+

-

+

+

F003

Запись байта в формате MSX на магнитофон

-

-

-

-

+

F006

Чтение байта в формате MSX с магнитофона

-

-

-

-

+

F009

Запись блока в формате MSX на магнитофон

-

-

-

-

+

F00C

Чтение блока в формате MSX с магнитофона

-

-

-

-

+

F00F

Запись длинного маркера MSX

-

-

-

-

+

F012

Запись короткого маркера MSX

-

-

-

-

+

F015

Чтение длинного маркера MSX

-

-

-

-

+



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования