Instrucción: ADD |
|
| Función: | Suma de dos registros sin Carry |
| Sintaxis: | ADD Rd, Rr |
![]()
Código de Operación de 16 bit |
0000 |
11rd | dddd | rrrr |
| Operación: | Rd Ü Rd + Rr |
| Operandos: | 0 £ d £ 31, 0 £ r £ 31 |
| Words: | 1 (2 bytes) |
| Ciclos: | 1 |
| Flags: | Z, C, N, V, H |
| Program Counter: | PC Ü PC + 1 |
Descripción: ADD suma dos registros sin el flag C y deja el resultado en el registro destino Rd. |
|
H: Estará a set (uno) si había una llevada del bit 3, de lo contrario se borrará (cero). |
|
V: Estará a set si ocurre un desbordamiento del complemento a dos como resultado de la operación, de lo contrario se borrará. |
|
N: Estará a set si el bit MSB del resultado está a set, de lo contrario se borrará. |
|
Z: Estará a set si el resultado es $00, de lo contrario se borrará. |
|
C: Estará a set si había llevada del bit MSB del resultado, de lo contrario se borrará. |
|
Ejemplo: |
|
| ADD r1,r2 | ; Suma r2 a r1 (r1=r1+r2) |
| ADD r28,r28 | ; Suma r28 a sí mismo (r28=r28+r28) |