Las instrucciones de control del programa son el código de máquina que utiliza la máquina o el usuario en lenguaje ensamblador para ordenar al procesador que actúe en consecuencia. Estas instrucciones son de varios tipos. Estos también son utilizados en lenguaje ensamblador por el usuario. Pero en el lenguaje de nivel, el código de usuario se traduce a código de máquina y, por lo tanto, se pasan instrucciones para indicarle al procesador que realice la tarea.
Tipos de Instrucciones de Control de Programa:
Existen diferentes tipos de Instrucciones de Control de Programa:
1. Instrucción de
comparación: se proporciona específicamente la instrucción de comparación, que es similar a una instrucción de resta, excepto que el resultado no se almacena en ningún lugar, pero las banderas se configuran de acuerdo con el resultado.
Example: CMP R1, R2 ;
2. Instrucción de bifurcación incondicional:
Provoca un cambio incondicional de la secuencia de ejecución a una nueva ubicación.
Example: JUMP L2 Mov R3, R1 goto L2
3. Instrucción
de bifurcación condicional: una instrucción de bifurcación condicional se utiliza para examinar los valores almacenados en el registro de código de condición para determinar si existe la condición específica y bifurcar si existe.
Example: Assembly Code : BE R1, R2, L1 Compiler allocates R1 for x and R2 for y High Level Code: if (x==y) goto L1;
4. Subrutinas:
Una subrutina es un fragmento de programa que vive en el espacio del usuario, realiza una tarea bien definida. Es invocado por otro programa de usuario y devuelve el control al programa que llama cuando termina.
Example: CALL and RET
5. Instrucciones de detención:
- Instrucción NOP: NOP no es ninguna operación. No causa ningún cambio en el estado del procesador más que un avance del contador del programa. Se puede utilizar para sincronizar el tiempo.
- HALT: hace que el procesador se detenga ordenadamente, permaneciendo en un estado inactivo hasta que se reinicie por interrupción, rastreo, reinicio o acción externa.
6. Instrucciones de interrupción:
la interrupción es un mecanismo mediante el cual una E/S o una instrucción pueden suspender la ejecución normal del procesador y recibir servicio.
- RESET – Reinicia el procesador. Esto puede incluir cualquiera o todos los registros de ajuste a un valor inicial o el ajuste del contador de programa a la ubicación de inicio estándar.
- TRAMPA: es una interrupción activada por nivel y borde no enmascarable. TRAP tiene la prioridad más alta y la interrupción vectorizada.
- INTR: es una interrupción enmascarable y activada por nivel. Tiene la prioridad más baja. Se puede desactivar reiniciando el procesador.