Tipo De Instrucciones

Tipos de instrucciones

Podemos clasificar tres tipos de instrucciones. Detallemos dichos tipos.


I) Las instrucciones de procesamiento sobre operandos en memoria;
- Movimiento o transferencia de datos
- Aritméticas
- Comparación
- Lógicas
- Desplazamiento
- Bit


II) Las instrucciones de ruptura de secuencia
- incondicional
- condicional
- subrutina
 
III) Las instrucciones de intercambio


I) Las instrucciones de procesamiento sobre operandos en memoria:
  • Movimiento o transferencia de datos
Las instrucciones de transferencia de datos permiten copiar, en el operando destino, la información almacenada en el operando origen, quedando este último sin modificar. Destino y origen pueden ser registros o posiciones de memoria. En general, no modifican los biestables de estado del computador.
 
Las denominaciones más frecuentes son:
MOVE Transfiere el contenido de un registro a otro, o de una posición de memoria a otra.
STORE Transfiere el contenido de un registro a la memoria
LOAD Transfiere el contenido de una posición de memoria a un registro. Es la operación inversa del STORE

  • Aritméticas

Son operaciones aritméticas que se ejecutan en la unidad aritmética. Las denominaciones más comunes son:
ADD Suma
SUBTRACT Resta
INCREMENT Incrementa
DECREMENT Decrementa
MULTIPLY Multiplica
DIVIDE Divide
NEGATE Cambia de signo
ABSOLUTE Valor absoluto

  • Comparación

La operación de comparación COMPARE consiste en restar o en hacer la operación XOR de cada bit de dos o más operandos. No se almacena el resultado, pero sí se modifica según proceda los biestables de estado.
Suele ir precediendo a una bifurcación condicional, que interrogará el valor de algunos de los biestables de estado que modifique la comparación.

  • Lógicas

Las instrucciones lógicas, más corrientes, son las que se listan a continuación. Conviene recordar que las operaciones lógicas se realizan en cada uno de los bits de los operandos de forma independiente y que modifican los bits de estado.
AND OR NOT XOR

  • Desplazamiento
Modifican los bits de estado, siendo las denominaciones más corrientes:

SHIFT Puede ser a derecha o izquierda
ROTATE Igual que el anterior pero puede incluir el bit de acarreo

  • Bit

Operan con los bits. Pueden ser:
BIT TEST
BIT SET
BIT CLEAR


II) Las instrucciones de ruptura de secuencia

Permiten alterar la secuencia normal de ejecución del programa. De forma genérica se dice que son instrucciones de salto o bifurcación, puesto que, en vez de pasar a la instrucción que ocupa la posición siguiente, "saltan" a ejecutar las instrucciones que se encuentran en otra posición de memoria.

  • Bifurcación incondicional

Producen la bifurcación sin ninguna condición. Ejemplo es la instrucción JUMP.

  • Bifurcación condicional

Las bifurcaciones condicionales son instrucciones q ue tienen dos secuencias distintas:

- Cuando no se cumple la condición de bifurcación, no hacen nada (incremento del PC)

- Cuando sí se cumple la condición de bifurcación, modifican el PC, que recibe la dirección de bifurcación.
 
 Las condiciones de bifurcación se establecen sobre los biestables de estado, biestables que almacenan ciertas condiciones sobre las operaciones realizadas con anterioridad. Estas condiciones pueden hacerse sobre un sólo biestable o sobre varios simultáneamente.
Las condiciones que se consultan son:

ZERO; 
NOT ZERO; 
EQUAL; 
NOT EQUAL; 
CARRY; 
NOT CARRY; 
POSITIVE; 
NEGATIVE;
OVERFLOW; 
NOT OVERFLOW; 
GREATER THAN; 
LESS THAN;

  • Subrutina (con retorno)

Las instrucciones de bifurcación con retorno salvaguardan la dirección de la instrucción que ocupa la posición siguiente. De esta forma, se puede retornar al punto donde se bifurcó y seguir ejecutando en la dirección siguiente a la que causó el salto.
El uso más frecuente de la bifurcación con retorno es para llamar a subrutinas (instrucción que suele llamarse CALL o BRANCH).
Uno de los problemas clásicos de las bifurcaciones con retorno es la selección del lugar donde se salvaguarda la dirección de retorno. La solución más usada es el de la memoria pila.
Este método permite llamadas anidadas de cualquier nivel, así como llamadas recursivas. En efecto, cada nueva llamada va introduciendo en la pila su dirección de retorno, sin destruir las anteriores. Dado que los retornos se hacen en orden inverso a las llamadas, la pila siempre tiene en la cabecera la dirección de retorno adecuada.

El puntero a la cabecera de la pila está almacenado en el registro STACK POINTER (puntero a pila)


Llamada a subrutina


III) Las instrucciones de intercambio (Entrada/Salida)

Las instrucciones de Entrada / Salida son en realidad instrucciones de transferencia, con la peculiaridad de que el destino o el origen es un registro de un periférico. Muchos computadores no tienen este tipo de instrucciones, realizandose estas funciones con las instrucciones LOAD, STORE y/o MOVE.
Las denominaciones más corrientes son las siguientes:
 
INPUT Transfiere la información de un puerto de entrada a un registro o a memoria. A veces se denomina READ.
 
OUTPUT Operación inversa al input. A veces se denomina WRITE.Tipos de instrucciones
Podemos clasificar tres tipos de instrucciones. Detallemos dichos tipos.

http://www.portalhuarpe.com/Medhime20/Sitios%20con%20Medhime/Computaci%C3%B3n/COMPUTACION/Menu/Modulo%205/5-7.htm 

No hay comentarios:

Publicar un comentario