Поиск по сайту: |
|
По базе: |
|
Главная > Обзоры по типам > Микроконтроллеры > ARM > Система команд |
|
|||||||||||||||||||||||
PSR пересылки (MRS, MSR)Эти команды будут выполнены, если условие истинно. Все различные условия их выполнения перечислены в табл. 6. Команды MRS и MSR являются одной из форм команд обработки данных и реализуются с помощью команд TEQ, TST, CNM и CMP, но без установленного флага S. Машинный код обеих команд приведен на рис.20. Эти команды позволяют работать напрямую с регистрами CPSR и SPSR. Команда MRS позволяет скопировать содержимое регистров CPSR или SPSR_<режим> в любой из регистров общего назначения. В свою очередь, команда MSR выполняет обратные действия: копирование содержимого любого их регистров общего назначения в регистры CPSR или SPSR_<режим>. Кроме того, команда MSR позволяет записать константу в поля только флагов условий (N, Z, C и V) регистров CPSR и SPSR_<режим> без воздействия на их остальные биты (управляющие биты). В этом случае старшие четыре бита 32-битной константы записываются в соответствующие четыре старших бита необходимого PSR регистра. Операнды команд В непривилегированном режиме управляющие биты регистра CPSR защищены от всяких изменений, поэтому могут быть изменены только флаги условий этого регистра. В свою очередь, в привилегированном режиме указанные биты полностью доступны для изменений. Следует отметить тот факт, что в программе пользователя недопустимо изменение состояния бита T регистра CPSR, в противном случае процессор окажется в непредсказуемом состоянии. Доступ к регистру SPSR зависит от режима процессора. Например, регистр SPSR_FIQ доступен только тогда, когда процессор находится в режиме FIQ. Недопустимо использование регистра R15 (PC) в качестве регистра-источника или регистра-приемника в полях этих команд. Также бесполезно пытаться получить доступ к регистру SPSR в непривилегированном режиме - в этом режиме указанный регистр не существует.
Зарезервированные биты В ядре ARM7TDMI определены только 12 бит регистра PSR: N, Z, C, V, I, F, T и M[4:0]. Остальные биты - зарезервированы для новых версий процессоров. На рис. 9 приведено полное описание всех битов PSR. С целью максимальной совместимости между программами для ARM7TDMI и новых версий процессоров на основе ядра ARM, должны соблюдаться следующие правила:
Когда изменяются управляющие биты регистра PSR, должны использоваться операции типа чтение-модификация-запись. Это реализуется в следующем порядке:
Примеры Следующая ниже последовательность команд вызывает смену режима работы ядра:
В случае, когда необходимо всего лишь изменить флаги условия выполнения в PSR, то необходимое значение может быть записано непосредственно в это поле флагов без воздействия на остальные управляющие биты PSR. Следующая ниже команда устанавливает флаги N, Z, C и V:
Число машинных тактов выполнения Команды PSR пересылок выполняются за 1S тактов, где S зависит от типа машинных тактов. Синтаксис в ассемблере
Выражение должно быть вычисляем 32-битным числом, у которого старшие четыре бита определяют то, какие флаги PSR будут установлены/сброшены.
Примеры В непривилегированном режиме эти команды выполняются следующим образом:
В привилегированном режиме эти команды выполняются следующим образом:
<---- Вернуться к Системе команд ---> Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|