Регистры

 

Регистровый файл состоит из 16-ти 32-разрядных регистров.

Регистры R0-R12 - обычные регистры, которые могут использоваться для хранения программных переменных.

У регистров R13-R15 имеются особые функции:

Регистр R13 выступает в роли указателя стека. Данный регистр является альтернативным, что делает возможной работу в двух режимах работы, в каждом из которых используется свое собственное пространство стека. Эта возможность обычно используется операционными системами реального времени (ОСРВ), которые могут выполнять свою "системную" программу в защищенном режиме. У двух стеков имеются собственные наименования: основной стек и стек процесса.

Регистр R14 - регистр связи. Он используется для хранения адреса возврата из подпрограммы. Благодаря нему, обеспечивается быстрый переход к подпрограмме и выход из нее. Если же в программе используется несколько уровней вложений подпрограмм, то компилятор будет автоматически сохранять регистр R14 в стек.

Регистр R15 - счетчик программы; поскольку он является частью регистрового файла, его чтение и обработка может выполняться аналогично любым другим регистрам.

В регистре состояния (статуса) программы(рис. 21.10) хранятся значения полей, влияющих на выполнение команд архитектуры CortexМ:

разряды 31 – 27 - значения признаков выполненной команды обработки;

разряды 26 – 8 - состояние выполнения программы и прерываний;

разряды 7 – 0 - номер процедуры обработки текущего прерывания.

 


Рис. 21.9.

Доступ к регистру слова состояния программы возможен с помощью двух специальных команд.








Дата добавления: 2015-09-29; просмотров: 827;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.