ASR - Арифметически сдвинуть вправо (Arithmetic Shift Right)
Операция |
|
Описание |
Сдвиг всех битов A, X или M на одно положение вправо. Бит 7 остается неизменным. Бит 0 загружается в бит C регистра кодов признаков (CCR). Эта операция эффективно делит на два значение дополнения до двух без изменения его знака. Бит переноса может быть использован для округления результата. |
Коды признаков и Булевы выражения |
|
V: |
R7 Е b0
Устанавливается, если результат исключающего OR над флагами N и C равен 1, в ином случае очищается. |
N: |
R7
Устанавливается, если MSB результата в состоянии 1, в ином случае очищается. |
Z: |
__ __ __ __ __ __ __ __
R7&R6&R5&R4&R3&R2&R1&R0
Устанавливается, если результат равен $00, в ином случае очищается. |
C: |
b0
Устанавливается, если перед сдвигом LSB A, X или M был установлен, в ином случае очищается. |
Исходные формы, режимы адресации, машинные коды и количество циклов
Исходные формы |
Режим адресации |
Машинные коды |
Количество циклов HC08 |
Код операции |
Операнд(ы) |
ASRA |
INH(A) |
47 |
|
1 |
ASRX |
INH (X) |
57 |
|
1 |
ASR opr |
DIR |
37 |
dd |
4 |
ASR ,X |
IX |
77 |
|
3 |
ASR opr,X |
IX1 |
67 |
ff |
4 |
ASR opr,SP |
SP1 |
9E67 |
ff |
5 |
|