В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > ARM
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Формат 18: Безусловный переход

Формат 18
Рис. 56. Формат 18

Действие

Эта команда выполняют относительную запись или чтение регистра SP. Синтаксис команды в ассемблере приведен в таблице 29.

Табл. 29. Команда безусловного перехода

THUMB ассемблер ARM эквивалент Действия
B метка BAL метка (кратно одному полуслову) Перейти по адресу PC + (Смещение << 1), где адрес метки может быть смещен относительно текущего значения PC в диапазоне +2048 байт.

Примечания: Смещение, заданное в этой команде, является 12-битным адресом с дополнением до двух (со знаком), поэтому должен быть выровнен по границе одного полуслова (т.е. бит 0 должен быть равен нулю). При этом ассемблер при формировании команды фактически выполнить деление на 2 (#Imm >> 1), чтобы получить верное значение поля 11-битного смещения со знаком.

Число машинных тактов при выполнении команд

Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 29. Число машинных тактов выполнения этой команды в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM. Примечание: для более подробной информации см. соответствующую главу.

Примеры

here B here        ; Бесконечный цикл. Код такой команды: 0xE7FE

B jimmy            ; Перейти по адресу метки "jimmy"
      ...          ; Примечание: фактически в код команды будет занесено смещение
      ...          ; содержащее число полуслов до метки " jimmy "
	               ; 
jimmy ...          ; Адрес метки должен быть выровнен по границе одного полуслова


<-- Предыдущая страница Оглавление Следующая страница -->