Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > 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 - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|