Формат 11: Косвенная загрузка/хранение с помощью регистра SP
Рис. 49. Формат 11
Действие
Команды этой группы выполняют косвенную хранение/загрузку регистра общего назначения Rd через регистр SP со смещением, заданным в виде непосредственного значения без знака. Синтаксис этих команд в ассемблере приведен в таблице 22.
Табл. 22. Команды относительного чтения/записи регистра SP
L |
THUMB ассемблер |
ARM эквивалент |
Действия |
0 |
STR Rd, [SP, #Imm] |
STR Rd, [R13 #Imm] |
Добавить положительное смещение (255 слов, 1020 байт), заданное в #Imm, к текущему содержимому регистра SP (R7) и поместить в память данные по этому новому адресу из регистра Rd. |
1 |
LDR Rd, [SP, #Imm] |
LDR Rd, [R13 #Imm] |
Добавить положительное смещение (255 слов, 1020 байт), заданное в #Imm, к текущему содержимому регистра SP (R7) и поместить в регистр Rd данные по этому новому адресу. |
Примечание: Смещение, заданное в #Imm - это полный 10-битный адрес, у которого биты 1 и 0 должны быть равны нулю (выравнивание по границе целого слова). При этом ассемблер при формировании команды фактически выполнить деление на 4 (#Imm >> 2), чтобы получить верное значение поля 8-битного смещения.
Число машинных тактов при выполнении команд
Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 22. Число машинных тактов выполнения этой команды в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM. Примечание: для более подробной информации см. соответствующую главу.
Примеры
STR R4, [SP,#492] ; Сохранить содержимое R4 по адресу SP+492 (R13+492)
; Примечание: в код команды будет помещено число 123.
|
цифровые видеосистемы, охранные видеомониторы | Rosinox-laser.ru - металлообработка, лазерная резка металла
|