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

 
Пересюхтюмя


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





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





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


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





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


Формат 13: Сложение SP с непосредстенным значением со знаком и сохранением результата в SP

Формат 13
Рис. 51. Формат 13

Действие

Команды этой группы выполняют сложение содержимого регистра SP (указатель вершины стека) и 9-битной константы со знаком, результат помещается обратно в регистр SP. Синтаксис этих команд в ассемблере приведен в таблице 24.

Табл. 24. Команды сложения SP и константы

S THUMB ассемблер ARM эквивалент Действия
0 ADD SP, #Imm ADD R13, R13, #Imm Сложить SP и #Imm, результат поместить в SP
1 ADD SP, #-Imm SUB R13, R13, #Imm Сложить SP и #Imm, результат поместить в SP

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

Команды этого формата не оказывают влияния на флаги регистра CPSR.

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

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

Примеры

ADD SP, #268     ; SP (R13) = SP + 268, флаги CPSR не изменяются
                 ; Примечание: в код команды будет помещено число 67 при S=0.
ADD SP, #-104    ; SP (R13) = SP - 104, флаги CPSR не изменяются
                 ; Примечание: в код команды будет помещено число 26 при S=1.


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