Saltar al contenido

Módulo 1: La máquina › La pila de llamadas

Módulo 1 · lección 4

La pila de llamadas

PUSH, POP, CALL y RET: guardar y volver.

✓ Lección terminada

Bit, el robot cartero

La pila es una parte de la memoria que se usa como una pila de platos. Crece desde el último casillero (el 31) hacia abajo, y el registro SP apunta al plato de arriba.

Mira cómo los números salen al revés de como entraron:

La pila al revés

Cargando…

Subrutinas: ir y volver

Una subrutina es un pedazo de programa que se puede usar muchas veces. CALL doble salta a la subrutina, pero antes guarda en la pila la dirección de regreso: por dónde iba. RET saca esa dirección de la pila y vuelve.

Por eso a esta pila se le llama pila de llamadas. Cuando en Scheme o en Java una función llama a otra, por dentro pasa exactamente esto.

Una subrutina que duplica

Cargando…

Para pensar

  1. ¿Qué fue fácil?
  2. ¿Qué fue difícil?
  3. ¿Otro paradigma lo habría resuelto mejor? ¿Cuál y por qué?