Hola,
mi duda es cuando se calcula el consumo del stack. Creo que tengo mal el concepto. En el paso base, consume 4 palabras: IP y argumentos, y en la llamada recursiva tambien guarda el contexto haciendo un push SI. Para mi quedaria, para el paso recursivo:
ip
indice
offset
sem
y luego de hacer:
pop dx
pop bx
pop d,
pop es
push dx
pop dx
push bx
push dx
push si
la pila queda:
si
dx
bx
por lo que el consumo del stack alcanzo su maximo con 4 palabras, entonces el consumo en el caso recursivo es: C(n) = 8 + C(n-1)
Ahora, en la solucion dice:
llamada recursiva: 2 palabras (dir de retorno, contexto)
llamada final: 4 palabras (dir de retorno y argumentos)
consumo del stack = n recursivas + final
No entiendo, por que ese 2? Yo entiendo como que en la solución, no se está tomando en cuenta, que en los pasos recursivos no solo se consume 2 palabras en el stack, sino 8, porque hay que pasar los parametros en cada llamada.
Gracias,
Slds!