Команда ROR - cдвинуть вправо через перенос

Описание:

Сдвиг всех битов Rd на одно место вправо. Флаг переноса (С) регистра состояния (SREG) смещается на место бита 7 регистра Rd. Бит 0 смещается во флаг переноса (C).

Операция:

 
  Синтаксис Операнды: Счетчик программ:
(i) ROR Rd 0 < d < 31 PC <- PC + 1


16-разрядный код операции:


1001 010d dddd 0111

Булевы выражения регистра статуса (SREG)

I T H S V N Z C
- - - Ы Ы Ы Ы Ы


S: NЕV, Для проверок со знаком
V: NЕC (Для N и C после сдвига)
Устанавливается если (N устанавливается и C очищается) или (N очищается а C устанавливается). В ином случае очищается (при наличии значений N и C после сдвига)
N: R7
Устанавливается если в результате установлен MSB, в ином случае очищается
Z: Rd7*R6*R5*R4*R3*R2*R1*R0
Устанавливается если результат $00, в ином случае очищается
C: Rd0
Устанавливается если перед сдвигом был установлен LSB регистра Rd, в ином случае очищается
R: (Результат)соответствует Rd после выполнения команды

Пример:

         ror  r15     ; Сдвигать вправо
         brcc zeroenc ; Перейти если перенос очищен
         . . .
zeroenc: nop          ; Перейти по назначению (пустая операция)

Слов: 1 (2 байта)

Циклов: 1