En tiempo de ejecución la que hace la instrucion
(PC+1) en la localidad de donde regresara; el lugar de la instrucción "Symbol_ret
RET
instrucción
es solo una instrucción
de tiempo de ejecución proporciona la dirección de regreso a la cual se moverá. Después de
almacenar la dirección de regreso,
El diagrama de abajo usa un programa corto para demostrar el comportamiento de la
CALL
instrucción
en tempo de ejecución; la operación almacenar (izquierda) y la operación
salta-ejecuta-regresa (derecha).
Figura 3-1: Procedimiento CALL en Tiempo de Ejecución
operación almacenar
En este ejemplo ocurre lo siguiente cuando la instrucción
ejecución:
① El cog almacena la dirección de regreso (PC+1;
(campo-s) del registro en
② El cog salta a
Routine
③ Las instrucciones
④ Como la localidad
actualizada (campo-s), la cual es la dirección de regreso escrita en el paso 1, regresa
o salta a la línea
3: Referencia del Lenguaje Ensamblador –
JMP
sin una dirección destino codificada, y esta acción
CALL
salta a la dirección destino; Symbol.
Routine_ret
(ver imagen izquierda).
(ver imagen derecha).
Routine
se ejecutan, eventualmente llevan a la línea
Routine_ret
contiene una instrucción
<next instruction>
.
CALL
es almacenar la instrucción de regreso
operación salta-ejecuta-regresa
CALL
se realiza en tiempo de
<next instruction>
RET
CALL
RET
". La
) en la fuente
Routine_ret
.
con una fuente