Instrucciones aritméticas y lógicas de procesador: ADD, SUB, SBB, INX, DCX, DCR, DAD, ANA, ORA, CMP

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,87 KB

Instrucciones (Grupo Aritmético)

ADD - Sumar registro o memoria al acumulador

El contenido del registro o posición de memoria especificados se suma al contenido del acumulador, usando aritmética de complemento a dos. El resultado se guarda en el acumulador.

SUB - Restar registro o memoria del acumulador

El contenido del registro o posición de memoria especificados se resta del contenido del acumulador, usando aritmética de complemento a dos. El resultado se guarda en el acumulador.

Nota: Si no hay arrastre del bit de más peso, el bit de arrastre se pone a uno, y viceversa; esto es lo contrario de lo que ocurre con la operación de suma.

SBB - Restar registro o memoria del acumulador con acarreo

El valor de la bandera de acarreo se suma internamente al contenido del registro o posición de memoria especificados. Este valor se resta del acumulador usando aritmética de complemento a dos.

Esta instrucción es de gran utilidad en la realización de restas de varios bytes, pues tiene en cuenta el valor positivo o negativo de la sustracción anterior.

INX - Incrementar par de registros

El número de 16 bits contenido en el par de registros especificado se incrementa en una unidad.

DCX - Decrementar par de registros

El número de 16 bits contenido en el par de registros especificado se decrementa en una unidad.

DCR - Decrementar contenido de registro o memoria

El contenido del registro o posición de memoria especificados se decrementa en una unidad.

DAD - Suma doble

DAD RP suma el valor de un dato de 16 bits contenido en un determinado par de registros (RP) al contenido del par de registros HL. El resultado es almacenado en el par HL.

Los operandos (RP) pueden ser:

  • B = BC
  • D = DE
  • H = HL
  • SP = puntero de pila

Téngase en cuenta que la letra H debe emplearse para especificar que el par de registros HL debe ser doblado (es decir, sumarse a sí mismo).

DAD pone la bandera de acarreo a 1 si hay una salida de acarreo de los registros HL. Además, no afecta a ningún otro flag.

Instrucciones (Grupo Lógico)

ANA - Función lógica AND de registro o memoria con acumulador

Se realiza la función lógica AND bit a bit entre el contenido del registro o posición de memoria especificados y el contenido del acumulador. El bit de acarreo se pone a cero.

ORA - Función lógica OR de registro o memoria con acumulador

Se realiza la función lógica OR bit a bit entre el contenido del registro o posición de memoria especificados y el contenido del acumulador, quedando en este último el resultado. El bit de acarreo se pone a cero.

CMP - Comparar registro o memoria con acumulador

El contenido del registro o posición de memoria especificados se compara con el contenido del acumulador. Esta comparación se realiza restando internamente el contenido del registro al del acumulador, permaneciendo éste invariable, y colocando los bits de condición en función del resultado.

Concretamente, el bit de cero se pone a uno si las cantidades comparadas son iguales, y se pone a cero si son desiguales.

Si las dos cantidades difieren en signo, el acarreo adopta el valor contrario a lo anteriormente expuesto.

Entradas relacionadas: