Команда ADC - Сложить с переносом
Описание:
Сложение двух регистров и содержимого флага переноса (С), размещение результата в регистре назначения Rd.
Операция:
(i) |
Rd <- Rd + Rr + C |
|
Синтаксис |
Операнды: |
Счетчик программ: |
(i) |
ADC Rd,Rr |
0 < d < 31, 0 < r < 31 |
PC < PC + 1 |
16-разрядный код операции:
Булевы выражения регистра статуса (SREG)
|
- |
- |
<=> |
<=> |
<=> |
<=> |
<=> |
<=> |
|
H: |
Rd3*Rr3+Rr3+R3+R3*Rd3
Устанавливается если есть перенос из бита 3, в ином случае очищается |
S: |
NEV, Для проверок со знаком |
V: |
Rd7*Rr7*R7+Rd7*Rr7*R7
Устанавливается если в результате операции образуется переполнение дополнения до двух, в ином случае очищается |
N: |
R7 Устанавливается если в результате установлен MSB, в ином случае очищается |
Z: |
Rd7*Rr7*R7*R7*R7*Rd7
Устанавливается если результат $00, в ином случае очищается |
C: |
Rd7*Rr7+Rr7+R7+R7*Rd7
Устанавливается если есть перенос из MSB результата, в ином случае очищается |
R: |
(Результат) соответствует Rd после выполнения команды |
Пример:
; СложитьR1 : R0 с R3 : R2
add r2, r0 ; Сложить младший байт
adc r3, r1 ; Сложить старший байт с переносом
Слов: 1 (2 байта)
Циклов: 1
|