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

 


По базе:  

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

реклама

 




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




Формат 9: Косвенная загрузка/хранение с непосредственным смещением

Формат 9
Рис. 47. Формат 9

Действия

Эти команды выполняют косвенную пересылку байта или целого слова между регистрами и памятью. Синтаксис в ассемблере для этих команд приведен в таблице 20.

Табл. 20. Команды формата 9

L B THUMB ассемблер ARM эквивалент Действия
0 0 STR Rd, [Rb, #Imm] STR Rd, [Rb, #Imm] Записать целое слово из регистра Rd в память по адресу, полученному сложением содержимого регистра Rb и константы Imm.
0 1 LDR Rd, [Rb, #Imm] LDR Rd, [Rb, #Imm] Прочитать целое слово из памяти по адресу, полученному сложением содержимого регистра Rb и константы Imm, и поместить его в регистр Rd.
1 0 STRB Rd, [Rb, #Imm] STRB Rd, [Rb, #Imm] Записать младший байт Rd в память по адресу, полученному сложением содержимого регистра Rb и константы Imm.
1 1 LDRB Rd, [Rb, #Imm] LDRB Rd, [Rb, #Imm] Прочитать байт из памяти по адресу, полученному сложением содержимого регистра Rb и константы Imm, и поместить его в младший байт регистра Rd.

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

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

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

Примеры

LDR R2, [R5,#116]   ; Загрузить в R2 слово, расположенное по адресу,
                    ; полученному после сложения содержимого R5 и числа 116.
                    ; Примечание: в код команды будет помещено число 29.
STRB R1, [R0,#13]   ; Записать младший байт R1 в память по адресу R0+13.
                    ; Примечание: в код команды будет помещено число 13.


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





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