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 |
|