Что такое расширение инструкций MSR и MRS в ARM? - PullRequest
0 голосов
/ 15 мая 2019

Я изучаю ARM и не могу понять полную форму инструкций Регистра статуса программы, MSR и MRS.

Пример:

MRS R0,CPSR         ; Take a copy of the CPSR.
BIC R0,R0,#0x1F     ; Clear the mode bits.
ORR R0,R0,#new_mode ; Select new mode
MSR CPSR,R0         ; Write back the modified CPSR.

1 Ответ

1 голос
/ 15 мая 2019

Первым портом вызова для вопросов набора команд ARM является соответствующее Руководство по архитектуре ARM.Например, Cortex-M3 использует ARMv7-M .

Там вы можете найти:

B5.2.2 MRS Перейти к регистрациииз специального регистра

перемещает значение из выбранного регистра специального назначения в регистр общего назначения.

В различных местах есть списки конкретных регистров специального назначения, таких какэто статья и более определенно в руководстве по архитектуре и Техническом справочном руководстве (TRM) для конкретного ядра, используемого в вашем SoC.

Регистры специального назначения - это архитектурно определяемое внутреннее состояние процессоратакие как флаги ALU, состояние модели исключения, элементы управления безопасностью и т. д. Они отличаются от регистров общего назначения r0-r14, которые доступны для основной части набора команд.Модель безопасности процессора обычно ограничивает доступ к большей части этого состояния (поэтому пользовательский код не может повысить свои привилегии).

Специальные инструкции используются для доступа к регистрам специального назначения (и тесно связаны с сопроцессором).регистры) частично для обеспечения соответствующих проверок разрешений и частично для увеличения адресуемого пространства (за счет предоставления только двух типов операций).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...