|
Поиск по сайту: |
|
По базе: |
![]() |
| Главная страница > Обзоры по типам > Микроконтроллеры > ARM | |||||||||
|
|
||||||||||||||||||||||
Формат 19: Длинный переход со ссылкой
Действие Эта команда выполняют дальний переход со ссылкой. При формировании кода команды ассемблер выполняет "склейку" из двух 11-битных полей - половин, полученных из двух THUMB команд BL, следующих друг за другом. В итоге формируется 23-битное смещение со знаком, кратное длине одного полуслова, и при этом бит 0 игнорируется. Команда 1 (H = 0). В первой команде поле смещения содержит старшие 11 бит адреса, по которому будет осуществлен переход. Это поле подвергается смещению влево на 12 бит и складывается с текущим содержимым регистра PC. Результат этого сложения размещается в регистре LR. Команда 2 (H = 1). Во второй команде поле смещения содержит младшие 11 бит адреса, по которому будет осуществлен переход. Это поле подвергается смещению влево на 1 бит и складывается с уже измененным (при выполнении предыдущей команды) содержимым регистра LR. После чего полный 32-битный адрес перехода (из них 23 бита - смещение), к этому моменту уже хранящийся в регистре LR, копируется в регистр PC. Адрес команды, следующий сразу за этой командой BL, копируется в регистр LR, устанавливая в нем в единицу бит 0. При задании перехода необходимо учитывать результат работы операций предвыборки, что фактически вызовет увеличение регистра PC на 4 байта больше, чем адрес этой команды. Синтаксис команды в ассемблере приведен в таблице 30. Табл. 30. Команды формата 19
Число машинных тактов при выполнении команд Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 30. Число машинных тактов выполнения этой команды в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM. Примечание: для более подробной информации см. соответствующую главу. Примеры
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
||||||||||||||||||||||