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
ESTADO | MICRO-OPERACIÓN |
---|---|
S0 | RI ᐊ (PC), PC ᐊ PC + 1 |
S1 | DECODE |
S2 | B ᐊ (F) |
S6 | A ᐊ (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: