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

 
Пересюхтюмя


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





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





Главная страница > Компоненты > Микроконтроллеры > MSP430 > Система команд
Пересюхтюмя


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





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


MSP430 система команд - Команда RRA

RRA[.W] Арифметическая ротация вправо
RRA.B Арифметическая ротация вправо
Синтаксис RRA dst или RRA.W dst
RRA.B dst
Операция MSB -> MSB, MSB -> MSB-1, … LSB+1 >- LSB, LSB -> С
Описание Операнд получателя сдвигается вправо на одну позицию, как показано на рис.3.16.
Старший бит MSB сдвигается сам в себя и в бит MSB-1, бит LSB+1 сдвигается в младший бит LSB.


Рис.3-16 Операнд получателя – арифметический сдвиг вправо

Биты статуса N: Устанавливается, если результат отрицательный; сбрасывается, если положительный
Z: Устанавливается, если результат «0», в противном случае сбрасывается
C: Загружается из LSB
V: Сбрасывается
Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются
Пример Содержимое регистра R5 сдвигается вправо на одну позицию. Старший бит MSB сохраняет старое значение. Эта операция эквивалентна арифметическому делению на 2.
RRA   R5       ; R5/2 -> R5 

;
;Содержимое R5 умножается на 0.75 (0.5 + 0.25).

PUSH  R5       ; Временное сохранение R5 с помощью стека
RRA   R5       ; R5х0.5 -> R5
ADD   @SP+,R5  ; R5х0.5 + R5 = 1.5хR5 -> R5
RRA   R5       ; (1.5хR5)х0.5 = 0.75хR5 -> R5
…
Пример Содержимое младшего байта регистра R5 сдвигается вправо на одну позицию. Старший бит MSB сохраняет старое значение. Эта операция эквивалентна арифметическому делению на 2.
RRA.B  R5       ; R5/2 -> R5: операция производится только с
                ; младшим байтом, старший байт R5 сброшен
RRA.B  R5       ; R5?0.5 -> R5
PUSH.B R5       ; R5?0.5 -> TOS
RRA.B  @SP      ; TOS?0.5 = 0.5?R5?0.5 = 0.25?R5 -> TOS
ADD.B  @SP+,R5  ; R5?0.5 + R5?0.25 = 0.75?R5 -> R5
…