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

 
Пересюхтюмя


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





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





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


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





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


Формат 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.


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