Описание:
Сдвиг всех битов Rd на одно место вправо. Флаг переноса (С) регистра состояния (SREG) смещается на место бита 7 регистра Rd. Бит 0 смещается во флаг переноса (C).
Операция:
Синтаксис | Операнды: | Счетчик программ: | |
(i) | ROR Rd | 0 < d < 31 | PC <- PC + 1 |
16-разрядный код операции:
1001 | 010d | dddd | 0111 |
Булевы выражения регистра статуса (SREG)
|
||||||||
|
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