Hola, hay unas cosas que no logro entender de la solucion:
1) En la etiqueta elseelse se hace push bx y push es, antes del call. Lo que no entiendo es por qué no se hace lo mismo en la llamada recursiva de la etiqueta else por ejemplo.
2) En la etiqueta elseelse en la primer llamada recursiva se hace push de es:[bx+2] y push de es:[bx] y para la otra llamada recursiva se hacen los mismos push pero cambiando el orden. Lo que no entiendo es por que se cambia el orden.
3) En la etiqueta elseelse luego de la primer llamada recursiva se hace pop cx y antes de la segunda se hace el push de cx. Lo que no entiendo es qué se esta guardando en cx y para que hace el pop y el push de cx si despues de la segunda llamada recursiva hace pop cx y pop dx obteniendo los resultados para sumarlos.
Se agradece si alguien puede ayudarme con alguna de estas dudas.
Saludos.