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
- Movimiento o transferencia de datos
- Aritméticas
- Comparación
- Lógicas
- Desplazamiento
- Bit
II) Las instrucciones de ruptura de secuencia
- incondicional
- condicional
- subrutina
- 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
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
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.
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
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
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
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.
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.
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:
Las condiciones que se consultan son:
ZERO;
NOT ZERO;
EQUAL;
NOT EQUAL;
CARRY;
NOT CARRY;
POSITIVE;
NEGATIVE;
OVERFLOW;
OVERFLOW;
NOT OVERFLOW;
GREATER THAN;
LESS THAN;
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 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:
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
http://www.portalhuarpe.com/Medhime20/Sitios%20con%20Medhime/Computaci%C3%B3n/COMPUTACION/Menu/Modulo%205/5-7.htm
No hay comentarios:
Publicar un comentario