Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > ARM

реклама

 




Мероприятия:




Формат 6: Косвенная загрузка с помощью регистра PC

Формат 6
Рис. 44. Формат 6

Действие

Эта команда выполняет сложение содержимого регистра PC с 10-битным смещением в виде константы, после чего целое слово, размещенное в памяти по этому адресу, помещается в регистр общего назначения Rd.

Примечания:

Константа #Imm, указанная в команде, является фактически 10-битным смещением адреса, но должна быть обязательно выровнена по границе целого слова (т.е. биты [1:0] должны быть равны 0), поскольку при формировании команды ассемблером последний выполнит операцию деления на 4 (#Imm >> 2) и поместит результат в соответствующее поле команды.

Вычисленное значение адреса должно быть как минимум на 4 байта больше, чем адрес самой команды, и при этом бит 1 регистра PC принудительно будет сброшен в 0, что необходимо для выравнивания по границе целого слова.

Табл. 17. Команды формата 6

THUMB ассемблер ARM эквивалент Действия
LDR Rd, [PC, #Imm] LDR Rd, [R15, #Imm] Положительное смещение (255 слов, 1020 байт), заданное в Imm, сложить с содержимым регистра PC, а слово, хранящееся в памяти по вычисленному адресу, скопировать в регистр Rd. Содержимое PC не изменяется.

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

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

Примеры

LDR R3,[PC,#844]    ; Загрузить в R3 слово, расположенное по адресу,
                    ; полученному после сложения содержимого PC и числа 844.
                    ; Бит [1] регистра PC принудительно сбрасывается в ноль.
                    ; Примечание: фактически в качестве ;константы Imm в код
                    ; этой команды будет помещено значение 211.


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





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники