Tipos de instrucciones de máquina

Descripción general:
según la operación realizada, las instrucciones de la máquina se pueden dividir en lo siguiente:

1. Instrucciones de transferencia de datos:

Instrucciones que transfieren datos de una ubicación (Registro/Memoria) a otra ubicación (Registro/Memoria) sin cambiar los datos. Las operaciones de transferencia de datos admitidas son las siguientes:

  • LOAD :  Transferencias de datos desde la memoria al registro.
  • ALMACENAR:  Transferencias de datos del registro a la memoria.
  • MOVER :  Transferencias de datos de registro a registro.
  • IN:  Transfiere datos desde el dispositivo de entrada al registro.
  • SALIDA:  Transfiere datos desde el registro al dispositivo de salida.
  • PUSH:  obtiene datos del registro o la memoria en la parte superior de la pila.
  • POP:  Obtiene datos desde la parte superior de la pila a la memoria o registro.
  • XCHG:  Intercambia los datos entre la memoria y los registros.

2. Instrucciones de manipulación de datos :

  • Instrucciones aritméticas: 
    realiza una operación aritmética como suma, resta, multiplicación, división, incremento, decremento, etc. 
    Ejemplo: ADD, SUB, MUL, DIV, INC, DEC, etc.
  • Instrucciones lógicas:
    realiza operaciones lógicas bit a bit como AND, OR, Exclusive-OR, NOT, shift, rotar, etc. 
    Ejemplo: AND, OR, NOT, XOR, SHL, SHR, ROL, ROR, etc.
  • Instrucciones aritméticas y lógicas:
    realiza operaciones como desplazamiento aritmético a la izquierda, desplazamiento aritmético a la derecha. 
    Ejemplo: SAL, SAR, etc.

3. Instrucciones de control del programa:

-> Comparar instrucciones de prueba: para comparar y probar las banderas de estado, necesitamos el soporte del registro de código de condición. El registro de código de condición (CCR) tiene los siguientes bits de bandera:

(i) 5 bits de estado: Para indicar la situación después de la operación aritmética y lógica.

  • Indicador de acarreo (C): indica un acarreo de una suma y un préstamo de una resta
  • Bandera de desbordamiento (V): la CPU establece la bandera ‘V’ en un ‘1’ lógico cuando el resultado de una operación está más allá del rango que se puede representar.
  • Bandera Negativa (N): También se le llama bandera de Signo. Indica si el resultado anterior es negativo o positivo.
  • Medio acarreo (H): se usa solo para operaciones BCD (decimal codificado en binario).
  • Indicador cero (Z): el bit Z se establece en un ‘1’ lógico cuando el resultado es ‘0’; de lo contrario, Z = 0. Tenga en cuenta que cero es un número positivo

(ii) Dos bits de enmascaramiento de interrupción

(iii) Bit de desactivación de una parada

-> Instrucciones de bifurcación incondicionales: Provoca un cambio incondicional de la secuencia de ejecución a una nueva ubicación. Ejemplo: JUMP, ir a, etc.

-> Instrucciones de bifurcación condicional: estas instrucciones se utilizan para examinar los valores almacenados en el registro de código de condición para determinar si existe el código específico y bifurcar si existe. Ejemplos:

  • BL – La rama es menor que – (<)
  • BGE – La rama es mayor que igual a – (>=)
  • BNE – Rama si no es igual – (!=) etc.

-> Subrutinas: es un fragmento de programa que vive en el espacio del usuario, realiza una tarea bien definida si es invocado por otros programas de usuario y devuelve el control al programa que llama cuando finaliza. Ejemplo: instrucciones CALL, RET. La subrutina se utiliza para:

  • Segmentos de código de uso frecuente
  • Rutinas de la biblioteca

-> Instrucciones de detención e interrupción: son las siguientes:

1. Instrucción NOP: 
significa que no hay operación, no provoca ningún cambio en el estado del procesador que no sea el avance del contador del programa. Se puede utilizar para sincronizar el tiempo.

2. Instrucción HALT: 
Hace que un procesador se detenga ordenadamente, permaneciendo en estado inactivo hasta que se reinicia por interrupción, rastreo, reinicio o acción externa.

3. Instrucciones de interrupción:
es un mecanismo por el cual una E/S o una instrucción pueden suspender la ejecución normal del procesador y recibir servicio. Generalmente, se asigna una tarea particular a esa señal de interrupción. En el microprocesador, las interrupciones se utilizan para la transferencia de datos entre dispositivos periféricos y el microprocesador. Las instrucciones son –

  • REINICIO:
    reinicia el procesador, esto puede incluir cualquiera o todos los registros de configuración a un valor inicial, configuración del contador de programa a la ubicación inicial, borrado o configuración de interrupciones y envío de señal de reinicio a dispositivos externos.
  • TRAMPA:
    es una interrupción no enmascarable y activada por borde. TRAP tiene la prioridad más alta entre las interrupciones vectoriales. En caso de una falla repentina de energía, ejecuta un ISR y envía los datos de la memoria principal a la memoria de respaldo. Se puede retrasar usando la señal HOLD. Se pueden enmascarar reiniciando el microprocesador. No hay otra manera de enmascararlo.
  • INTR –
    Es una interrupción disparada por nivel y enmascarable. Al recibir la instrucción, la CPU guarda la dirección de la siguiente instrucción en la pila y ejecuta la instrucción recibida. tiene la prioridad más baja. se puede desactivar reiniciando el microprocesador o mediante la instrucción DI/SIM.

Publicación traducida automáticamente

Artículo escrito por infoutkarsh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *