5.7 Subrutinas

El procesador también implementa subrutinas. Estas son pequeños fragmentos de código que pueden ser llamados desde cualquier parte del programa. Para ello, se utiliza la instrucción CALL. Esta instrucción almacena el IP en la pila, y luego realiza un salto a la dirección de la subrutina, modificando el IP para que este apunte a la primera instrucción de la subrutina. Para volver de la subrutina, se utiliza la instrucción RET, que desapila la dirección apilada previamente por CALL y restaura el IP, volviendo a el punto de ejecución posterior a la llamada a la subrutina.

Ejemplo de subrutina:

      mov al, 1
      mov bl, 2
      mov cl, 3
      call sum3
      ; ax = 6
      hlt

      ; suma al, bl y cl
      sum3: add al, bl
            add al, cl
            ret