MSP430 - Команда RLA

*RLA[.W] Арифметическая ротация влево
*RLA.B Арифметическая ротация влево
Синтаксис RLA dst или RLA.W dst
RLA.B dst
Операция C <- MSB <- MSB–1 … LSB+1 <- LSB <- 0
Эмуляция ADD dst,dst
ADD.B dst,dst
Описание Операнд получателя сдвигается влево на одну позицию, как показано на рис. 3.14.
Старший бит MSB сдвигается в бит переноса (С), а в младший бит LSB записывается «0». Команда RLA действует как умножение со знаком на 2. Переполнение происходит, если dst>=04000h и dst<0C000h перед выполнением операции: результат меняет знак.
Рис.3-14 Операнд получателя – арифметический сдвиг влево
Рис.3-14 Операнд получателя – арифметический сдвиг влево
Переполнение происходит, если dst >=040h и dst<0C0h перед выполнением операции: результат меняет знак.
Биты статуса N: Устанавливается, если результат отрицательный; сбрасывается, если положительный
Z: Устанавливается, если результат «0», в противном случае сбрасывается
C: Загружается из MSB
V: Устанавливается, если произошло арифметическое переполнение:
исходное значение 04000h <= dst < 0C000h; в противном случае сбрасывается
Устанавливается, если произошло арифметическое переполнение:
исходное значение 040h <= dst <0C0h; в противном случае сбрасывается
Биты режима Биты OSCOFF, CPUOFF и GIE не изменяютс
Пример Содержимое регистра R7 умножается на 2.
RLA   R7      ; Сдвиг влево R7 (умножение на 2)
Пример Младший байт регистра R7 умножается на 4.
RLA.B R7      ; Сдвиг влево младшего байта R7 (умножение на 2)
RLA.B R7      ; Сдвиг влево младшего байта R7 (умножение на 4)
Примечание: замена RLA Ассемблер не распознает команду:
RLA  @R5+  и  RLA.B  @R5+
Вместо неё должна использоваться следующая команда:
ADD  @R5+,-2(R5) и  ADD.B  @R5+,-1(R5)






© 2008 Электроника для начинающих | Programming V.Lasto | Povered by Nano-CMS | Designer S.Gordi