ФЭНДОМ


BX (ARM)

Формат инструкции BX

Команда BX выполняет переход по адресу, заданному в регистре, и при необходимости переключает процессор в режим Thumb.

Синтаксис

BX{cond}  Rm

cond определяет, при каком условии команда будет выполнена.

Rm задаёт регистр общего назначения, содержащий в разрядах 31–1 адрес перехода. Младший бит равен 0 для перехода на код ARM и 1 для перехода на код Thumb.

Версии архитектуры

ARMv5 и выше, а также ARMv4T.

Исключения

Отсутствуют.

Операция

if условие выполнено then
  CPSR.T = Rm[0]
  PC = Rm AND 0xFFFFFFFE

Примечания

Если разряды Rm[1:0] равны 10, поведение процессора непредсказуемо, поскольку команды набора ARM всегда должны быть выровнены по границе слова.

В качестве Rm может быть указан счётчик команд, однако это практически бесполезно: в результате управление получит команда ARM, адрес которой на 8 больше адреса команды BX, поскольку при чтении значения PC будет получено именно это значение.

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.