Единое адресное пространство

Материал из ПМК вики
Перейти к: навигация, поиск

Единое адресное пространство Каллисто 1.0 объединяет адресные пространства памяти программ и данных ЭКВМ. Память программ (адреса 0…9999) доступна только на чтение. Как и в регистровом пространстве ЭКВМ, размер адресуемой единицы памяти в Каллисто 1.0 разный.

Карта соответствия диапазонов единых адресов и адресов ЭКВМ:

Единая адресация Каллисто Адреса ЭКВМ Размер адресуемой
единицы памяти
Тип данных Доступность на запись
0…9999 0000…9999 памяти программ 1 байт целое число только чтение
10000…10999 000…999 регистровой памяти
(десятичные регистры)
8 байт десятичное число чтение/запись
11000…15095 1000…5095 регистровой памяти
(двоичные регистры)
1 байт целое число чтение/запись
15096…18167 5096…8167 регистровой памяти
(область текста)
1 байт целое число, символ чтение/запись
19000…19999 9000…9999 регистровой памяти
(регистры функций)
различен различен различна

При обращении к памяти стандартными средствами Каллисто 1.0 используется единая адресация. Некоторые команды, требующие 16-битного (и более) числа, берут его из двух (и более) последовательных ячеек памяти, размером в байт. При этом старший байт находится по младшему адресу, как это принято в «Электронике МК-161».

Два системных слова ИП и П производят обращение к одному регистру по его номеру в ЭКВМ без трансляции адресов. Их удобно использовать для обращения к регистрам функций, т.к. помимо прочего ИП после обращения к регистру сохраняет весь стек ЭКВМ в стандартных переменных RX, RY, RZ и RT.

Третье системное слово ИПРГ предназначено для чтения шага из памяти программ.

Эти три слова введены для совместимости с Каллисто 2.0, в которой предполагается изменить данную систему адресации.