Subrutina en 8085

En las computadoras, una subrutina es una secuencia de instrucciones de programa que realizan una tarea específica, empaquetadas como una unidad. Esta unidad se puede usar en programas donde sea que se deba realizar esa tarea en particular. Una subrutina a menudo se codifica para que pueda iniciarse (llamarse) varias veces y desde varios lugares durante una ejecución del programa, incluso desde otras subrutinas, y luego retroceder (regresar) a la siguiente instrucción después de la llamada, una vez que la subrutina haya terminado. la tarea está hecha. Se implementa mediante el uso de instrucciones de llamada y devolución. Los diferentes tipos de instrucciones de subrutina son

Instrucción de llamada incondicional:
la dirección de LLAMADA es el formato para la instrucción de llamada incondicional. Después de la ejecución de esta instrucción, el control del programa se transfiere a una subrutina cuya dirección inicial se especifica en la instrucción. El valor de PC (Contador de programa) se transfiere a la pila de memoria y el valor de SP (Puntero de pila) se reduce en 2.

Instrucción de llamada condicional:
en estas instrucciones, el control del programa se transfiere a la subrutina y el valor de la PC se coloca en la pila solo si se cumple la condición.

INSTRUCCIÓN PARÁMETRO COMENTARIO
CC dirección de 16 bits Llamar a la dirección si cy (bandera de acarreo) = 1
CNC dirección de 16 bits Llamar a la dirección si cy (bandera de acarreo) = 0
CZ dirección de 16 bits Llamar a la dirección si ZF (bandera cero) = 1
CNZ dirección de 16 bits Llamar a la dirección si ZF (bandera cero) = 0
EPC dirección de 16 bits Llamar a la dirección si PF (bandera de paridad) = 1
CPO dirección de 16 bits Llamar a la dirección si PF (bandera de paridad) = 0
CN dirección de 16 bits Llamar a la dirección si SF (bandera firmada) = 1
PC dirección de 16 bits Llamar a la dirección si SF (bandera firmada) = 0

Instrucción de retorno incondicional:
RET es la instrucción utilizada para marcar el final de la subrutina. No tiene parámetro. Después de la ejecución de esta instrucción, el control del programa se transfiere de nuevo al programa principal desde donde se había detenido. El valor de PC (Contador de programa) se recupera de la pila de memoria y el valor de SP (Puntero de pila) se incrementa en 2.

Instrucción de retorno condicional:
mediante estas instrucciones, el control del programa se transfiere de nuevo al programa principal y el valor de la PC se extrae de la pila solo si se cumple la condición. No hay ningún parámetro para la instrucción de retorno.

INSTRUCCIÓN COMENTARIO
RC Regresa de la subrutina si cy (bandera de acarreo) = 1
RNC Regresa de la subrutina si cy (bandera de acarreo) = 0
RZ Regreso de la subrutina si ZF (bandera cero) = 1
RNZ Regreso de la subrutina si ZF (bandera cero) = 0
EPR Regreso de la subrutina si PF (bandera de paridad) = 1
RPO Regreso de la subrutina si PF (bandera de paridad) = 0
enfermero Regreso de la subrutina si SF (bandera firmada) = 1
PR Regreso de la subrutina si SF (bandera firmada) = 0

Ventajas de la subrutina –

  1. Descomponer una tarea de programación compleja en pasos más simples.
  2. Reducir el código duplicado dentro de un programa.
  3. Permitir la reutilización de código en varios programas.
  4. Mejora la manejabilidad o facilita la depuración de un programa.

Publicación traducida automáticamente

Artículo escrito por harshit-chhabra 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 *