[Assembler] ¿Cuándo conservar contexto?

[Assembler] ¿Cuándo conservar contexto?

de Pablo Da Costa Porto Balcaldi -
Número de respuestas: 0

No me queda claro cuándo conservar el contexto en un procedimiento (o sea, que al terminar el procedimiento se mantengan los valores de los registros que estaban al ser llamado).

Entiendo que haya que hacerlo cuando lo pide la letra y en las interrupciones, y también para conservar los valores con los que se está operando en una función recursiva cuando se hacen varias llamadas a ésta. Pero en otro caso no sabría cuándo conservar y cuándo no es necesario.

Por ejemplo: en el Problema 2 del exámen de diciembre de 2011 en la solución se conserva el contexto (se guarda el registro AX en el stack y antes de terminar se lo retira); sin embargo, en el ejercicio 3 del práctico 10 en la solución no se conserva el contexto (solo los operandos manejados en la funcion para que no pierdan el valor en las llamadas recursivas), y no parece que sea una situación distinta a la del primer caso, o por lo menos no estoy viendo la diferencia.


Si alguien puede aclarar esto le agradezco.