реклама на сайте
подробности

 
 
> Регистры Cortex R4.
Omnicake
сообщение Jan 19 2014, 05:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 12-01-14
Из: Омск
Пользователь №: 80 002



Здравствуйте, у меня возник вопрос при работе с Cortex R4. В нем, в зависимости от режима микропроцессора, часть регистров заменяется другими, теневыми регистрами (например при режиме FIQ, регистры R8-R14 заменяются на регистры R8_fiq - R14_fiq соответственно). Получается при
адресации на регистр, например, R8 в режиме FIQ, я должен использовать имя R8_fiq, или также R8, но учитывать, что в данный момент этот регистр - теневой?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
MALLOY2
сообщение Jan 19 2014, 07:14
Сообщение #2


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Все очень просто, записали в R8 = 12, зашли в прерывание, записали в R8 = 20, вышли, а в R8 попрежнему 12, но когда зайдете опять в прерывание в R8 будет 20.
Go to the top of the page
 
+Quote Post
SII
сообщение Jan 19 2014, 18:03
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(Omnicake @ Jan 19 2014, 09:34) *
Получается при адресации на регистр, например, R8 в режиме FIQ, я должен использовать имя R8_fiq, или также R8, но учитывать, что в данный момент этот регистр - теневой?


Нет, имена регистров всегда остаются одни и те же. Но Вы как программист всегда должны помнить, какие именно это регистры -- т.е. не забывать о текущем режиме работы процессора. Добраться до регистров основного банка можно с помощью команд LDM и STM с, если склероз не изменяет, символом ^ после списка регистров, например: ldmia R0!, {R8-R12}^

Подробней читайте в руководстве на архитектуру ARMv7-A/R (ну или на предыдущие версии архитектуры, с которыми ARMv7 в целом совместима "снизу вверх").
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016