SII (Стена обсуждения | вклад) (Новая страница: «800px|thumb|center|Формат инструкции BXJ Если процессор поддерживает технологию Jazell…») |
SII (Стена обсуждения | вклад) |
||
Строка 22: | Строка 22: | ||
if условие выполнено then |
if условие выполнено then |
||
+ | if бит JE в главном регистре конфигурации == 0 then |
||
+ | CPSR.T = Rm[0] |
||
+ | PC = Rm and 0xFFFFFFFE |
||
+ | else |
||
+ | JPC = значение, определяемое разновидностью архитектуры |
||
+ | invalidhandler = значение, определяемое разновидностью архитектуры |
||
+ | if технология Jazelle принимает код операции по адресу в JPC then |
||
+ | if бит CV в регистре управления ОС Jazelle == 0 then |
||
+ | PC = invalidhandler |
||
+ | else |
||
+ | CPSR.J = 1 |
||
+ | начало выполнения кода операции по адресу JPC |
||
+ | else |
||
+ | if (бит CV в регистре управления ОС Jazelle == 0) AND (условие, определяемое реализацией) then |
||
+ | PC = invalidhandler |
||
+ | else |
||
+ | CPSR.T = Rm[0] |
||
+ | PC = Rm and 0xFFFFFFFE |
||
+ | |||
+ | === Использование === |
||
+ | |||
+ | Эта инструкция должна использоваться только при соблюдении одного из следующих условий: |
||
+ | |||
+ | * бит JE в главном регистре конфигурации равен 0; |
||
+ | * разрешённая виртуальная машина Java удовлетворяет всем ограничениям, накладываемым технологией Jazelle для данной разновидности архитектуры. |
||
=== Примечания === |
=== Примечания === |
Версия от 09:31, 24 сентября 2010
Если процессор поддерживает технологию Jazelle, команда BXJ переключает его в состояние Jazelle. Если же такой поддержки нет, команда BXJ выполняется точно так же, как команда BX.
Синтаксис
BXJ{cond} Rm
cond определяет, при каком условии команда будет выполнена.
Rm задаёт регистр общего назначения, содержащий в разрядах 31–1 адрес перехода на тот случай, если технология Jazelle не поддерживается. Младший бит равен 0 для перехода на код ARM и 1 для перехода на код Thumb.
Версии архитектуры
ARMv6 и выше, а также ARMv5TEJ.
Исключения
Отсутствуют.
Операция
if условие выполнено then if бит JE в главном регистре конфигурации == 0 then CPSR.T = Rm[0] PC = Rm and 0xFFFFFFFE else JPC = значение, определяемое разновидностью архитектуры invalidhandler = значение, определяемое разновидностью архитектуры if технология Jazelle принимает код операции по адресу в JPC then if бит CV в регистре управления ОС Jazelle == 0 then PC = invalidhandler else CPSR.J = 1 начало выполнения кода операции по адресу JPC else if (бит CV в регистре управления ОС Jazelle == 0) AND (условие, определяемое реализацией) then PC = invalidhandler else CPSR.T = Rm[0] PC = Rm and 0xFFFFFFFE
Использование
Эта инструкция должна использоваться только при соблюдении одного из следующих условий:
- бит JE в главном регистре конфигурации равен 0;
- разрешённая виртуальная машина Java удовлетворяет всем ограничениям, накладываемым технологией Jazelle для данной разновидности архитектуры.