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

 
Пересюхтюмя


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





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





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


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





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


Формат 10: Косвенная загрузка/хранение полуслова

Формат 10
Рис. 48. Формат 10

Действие

Эти команды выполняют передачу полуслова между Lo регистром и памятью с прединдексной адресацией, задаваемой в виде 6-битной константы. Синтаксис в ассемблере для этих команд приведен в таблице 21.

Табл. 21. Команды формата 10

L THUMB ассемблер ARM эквивалент Действия
0 STRH Rd, [Rb, #Imm] STRH Rd, [Rb, #Imm] Вычислить адрес ячейки памяти посредством сложения содержимого базового регистра Rb и константы #Imm. Полуслово из Rd (биты 0…15) поместить в память по этому адресу.
1 LDRH Rd, [Rb, #Imm] LDRH Rd, [Rb, #Imm] Прочитать байт из памяти по адресу, полученному сложением содержимого базового регистра Rb и константы #Imm. Результат разместить в младшем полуслове регистра Rd (биты 0…15) и обнулить биты 8..31 этого регистра.

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

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

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

Примеры

STRH R6, [R1, #56]  ; Записать в память по адресу R1+56 младшее полуслово R4.
                    ; Примечание: в код команды будет помещено число 28.
LDRH R4, [R7, #4]   ; Прочитать из памяти полуслово по адресу R7+4
                    ; и записать его в биты 0…15 регистра R4.
                    ; Примечание: в код команды будет помещено число 2.


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

охранные извещатели: активные, пассивные, уличные, инфракрасные | Rainbowpiter.ru - центральный пылесос, пылесос rainbow