ADD

Sumar dos valores de memoria

Sintaxis

ADD <SRC>, <DST>

pudiendo ser:

  • SRC una variable o una dirección de memoria (0x00 - 0x7F)
  • DST una variable o una dirección de memoria (0x00 - 0x7F)

El resultado de la operación se almacena en la dirección de memoria de DST.

Sumar dos valores de memoria

Dada la siguiente sección de datos:

.data dw num1 10 dw num2 15

Procederemos a sumar los valores de las variables num1 y num2 y almacenar el resultado en la variable

.ver 1 .data dw num1 10 dw num2 15 .fin lblend .code add num1, num2 lblend:

Microprograma

ESTADOMICRO-OPERACIÓN
S0RI ᐊ (PC), PC ᐊ PC + 1
S1DECODE
S2B ᐊ (F)
S6A ᐊ (D)
S7(D) ᐊ A + B; load FZ

Lo mismo sería si en lugar de utilizar variables, utilizamos direcciones de memoria:

.ver 1 .data dw num1 10 dw num2 15 .fin lblend .code add 0x2, 0x3 lblend:

Comprueba tus conocimientos

Crea un programa que haga la siguiente operación: RESULTADO = 0x5 + 0x2

Nota: debes conocer y utilizar (o no) la operación: MOV

Solución 1
.ver 1 .data dw num1 0x5 dw num2 0x2 dw resultado 0 .fin lblend .code add num1, num2 mov num2, resultado lblend:
Solución 2
.ver 1 .data dw num1 0x5 dw resultado 0x2 .fin lblend .code add num1, resultado lblend: