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