Conjunto de instrucciones aritméticas para la familia de procesadores INTEL

Páginas: 9 (2121 palabras) Publicado: 21 de julio de 2014
Desarrollo


Add (ADD) y Add With Carry (ADC)

Las instrucciones ADD y ADC pueden sumar operandos de 8 o 16 bits. ADD suma él
operando fuente y él operando destino, y coloca el resultado en él operando destino

destino = destino + fuente

el formato de esta instrucción es por ejemplo

ADD AX, CX
si el resultado de la suma excede la longitud del operando destino, entonces haocurrido un acarreo (carry). Este bit adicional es colocado en la bandera de acarreo(Carry Flag o CF). Si los operandos a sumar son mayores de 16 bits, pruebe usar esta secuencia de instrucciones (valida para operandos de 32 bits)

ADD AX, CX ; Suma los 16 bits de menor orden
ADC BX, DX ; y luego los 16 bits de mayor orden

también puede sumar operandos de memoria a registros generales (yviceversa) o sumar valores inmediatos a registros o a la memoria. Veamos algunos ejemplos:

ADD AX, MEM_WORD ; Suma un operando de memoria a un registro
ADD MEM_WORD, AX ; o viceversa
ADD AL, 10 ADD ; Suma una constante a un registro
MEM_BYTE, 0FH ; o a una localidad de memoria

Si bien la mayoría de las combinaciones son legales, no pueden sumarse valores de memoria a memoria, y nose puede usar un valor inmediato como destino.

ADD y ADC pueden afectar seis banderas:

• CF=1 si el resultado no puede ser contenido en el operando destino, en otro caso, CF=0.
• PF=1 si el resultado tiene un valor par de bits a ‘1’, sino, PF=0.
• AF=1 si el resultado de una adición decimal necesita ser ajustado, sino, AF=0.
• ZF=1 si el resultado es cero, en otro caso, ZF=0.
• SF=1 siel resultado es negativo (el bit de mayor orden es 1), sino, SF=0.
• OF=1 si la suma de dos números con signados (ambos positivos o ambos negativos) da como resultado un exceso del rango del complemento a dos, con cambios de signo, en otro caso, OF=0.

ASCII y Decimal Adjust for Addition (AAA y DAA)

Si se suman dos números BDC empaquetados, por ejemplo, 26 y 55, el procesador hará losiguiente:
0010 0110 (= BDC 26)
+0101 0101 (= BDC 55)
0111 1011 (= ??)

En vez de la repuesta correcta (BCD 81), el resultado es ¿7BH? Este es un típico caso en el que se hace necesario efectuar un ajuste decimal.

Las instrucciones AAA y DAA ajustan el resultado. Por ejemplo:

ADD AL, BL ; Suma dos BCD no-empaquetados
AAA ; y hace que el resultado seaun número no-empaquetado

Si ADD produce un resultado que excede de 9, AAA suma 1 a AH (para reflejar el dígito en exceso) y ajusta CF a 1; si no, limpia CF a 0. Por otro lado, DAA convierte el valor de AL en dos dígitos decimales validos empaquetados:

ADD AL, BL
DAA

si el resultado excede de 99, DAA suma 1 a AH y ajusta CF a 1.

Increment Destination by One (INC)

Esta instrucciónsuma uno (1) al operando registro o de memoria, pero, a diferencia de ADD, no afecta a CF. INC es conveniente para incrementar contadores de ciclos. También es útil para incrementar registros índices o apuntadores cuando sé esta accediendo a varia localizaciones de memoria consecutivas.

Subtract (SUB) y Subtract With Borrow (SBB)

Su comportamiento es similar a sus contrapartes (ADD y ADC),pero en la substracción, la bandera CF actúa como indicador de préstamo (Borrow). SUB substrae el operando fuente del operando destino, y el resultado es retornado en el operando destino.

destino = destino – fuente

SBB hace lo mismo, excepto que substrae la bandera de acarreo CF

destino = destino - fuente – acarreo

SBB afectan 6 banderas:

• CF=1 si hay préstamo, sino, es cero.
•PF=1sielresultadoespar,0siesimpar
• AF = 1 si el resultado de una resta decimal necesita ajuste, sino es 0
• ZF=0 si el resultado es cero, sino es 1
• SF = 1 si el resultado es negativo (bit de orden alto a 1), sino, es cero
• OF = 1 si se resta un numero positivo de uno negativo (o viceversa) y el resultado
• excede la capacidad del complemento a dos, sino es 0

ASCII y Decimal Adjust for...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Procesos De Instrucciones Para La Resolucion De Problemas
  • Instrucciones 8085 Intel Procesador
  • instrucciones aritmeticas
  • procesador intel
  • Procesador intel
  • procesadores intel
  • procesadores intel
  • PROCESADORES INTEL

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS