Исследование индикаторов. Солдатов А.И - 84 стр.

UptoLike

86
занимающей непрерывный блок адресов от 0х0000 до 0хFFFF рисунок 2.
Следует иметь ввиду, что 1024 байт (0хFC00 0xFFFF) этой памяти
зарезервированы для целей производителя и не доступны для хранения
программ пользователя.
По умолчанию память программ настраивается только для чтения.
Однако CIP-51 может записывать данные в память программ, для чего
необходимо разрешить запись во Flash-память программ. Эта возможность
позволяет CIP-51 обновлять программный код и использовать память
программ для долговременного хранения данных.
Рис.2. Память программ/данных (Flash)
Программный стек может быть размещен в любом месте 256-
байтной памяти данных. Область стека определяется с использованием
указателя стека (Stack Pointer SP, 0x81). SP будет указывать на
последнюю использованную ячейку. Следующее значение, загружаемое
в стек, размещается по адресу SP+1, и затем SP инкрементируется. При
сбросе SP инициализируется значением 0х07. Поэтому первое значение,
загружаемое в стек, размещается по адресу 0х08, которое также
является первым регистром (R0) регистрового банка 1. Таким образом,
если требуется использовать более одного банка регистров, SP следует
инициализировать адресом ячейки ОЗУ, не используемой для хранения
данных. Стек может иметь глубину до 256 байт.
МК также имеют встроенный аппаратный регистратор стековых
операций, который представляет собой 32-разрядный сдвиговый
регистр. Каждая команда PUSH или инкремент SP загружают один
регистрационный бит в этот регистр, каждая команда CALL или