La operación Llamar a subrutina (CALL) transfiere el control a la subrutina (SBR_n). Esta operación se puede utilizar con o sin parámetros. Una vez ejecutada la subrutina, el control vuelve a la operación que sigue a la llamada de la subrutina (CALL).
El límite máximo de parámetros de entrada/salida en cada llamada a subrutina es de 16. Si intenta cargar un programa que exceda este límite, ocurrirá un error.
Si ha asignado un nombre simbólico a la subrutina (por ejemplo, NOMBRE_SBR), éste aparecerá en la carpeta "Subrutinas" del árbol de operaciones.
Los valores de parámetros se asignan de la siguiente forma a la memoria Local en la subrutina:
1. Los valores de parámetros se asignan a la memoria Local en el
orden indicado por la operación Llamar a subrutina, comenzando
esos parámetros en L.0.
2. Uno a ocho valores binarios de parámetros consecutivos se asignan
a un sólo byte comenzando en Lx.0 hasta Lx.7.
3. Los valores de byte, palabra y palabra doble se asignan a
la memoria Local en bytes (LBx, LWx ó LDx).
En la operación CALL con parámetros, éstos deben concordar exactamente con las variables definidas en la tabla de variables locales de la subrutina. Los parámetros se deben organizar de la siguiente forma: primero los parámetros de entrada, luego los de entrada/salida y, por último, los de salida.
Condiciones de error que ponen ENO a 0 en una operación CALL con parámetros = 0:
0008 Excedida la profundidad máxima de anidado
Nota: El rótulo informativo de la subrutina en el árbol de operaciones visualiza el nombre de cada par
No hay comentarios:
Publicar un comentario