Gracias.
Hola cuando vamos a compilar en assembler 8086, si me dicen que tengo un arreglo (por ejmeplo) guardado en el segmento ES, pero estoy haciendo recursión por lo tanto es practico usar el stack que provee la arquitectura, cuando quiero acceder a la información se supone que debería acceder a SS o a ES? pues SS es el Stack Segment (SS), pero por otra parte la letra del problema me dice que tengo el arreglo guardado en el Extra Segment (ES). Quiza no tenga muy claro como es que funciona, agradezco cualquier ayuda ;)
Hola. La estructura (en este caso el arreglo) está almacenado en el ES por lo que si querés acceder a ella tenés que poner como base ES y un desplasamiento adecuado al elemento que querés accedes.
Pero también tenés el stack, donde tenés direcciones de retorno, parámetros (si se pasan por el stack) y variables locales, cuando querés acceder a alguno de estos elementos debes indicar SS y un desplazamiento adecuado.
Saludos, Gonzalo
Disculpa, no se si me esta quedando claro :s
Por ejemplo en el taller 10, cuando se hace la llamada se guarda en el stack el árbol, el indice y el valor que quiero buscar. Pero el árbol esta en ES, si por ejemplo yo quiero sumarle uno a la raíz del árbol deberia acceder al árbol mediante SS (pues lo tengo guardado en el stack) y luego acceder a la raíz mediante ES?
Gracias de nuevo por las respuestas!
Hola. La referencia al nodo actual la tomás del stack (párametro de la función), una vez que la tenés operas para obtener un desplazamiento (respecto a ES), y por último, usas este desplazamiento junto con ES para dar la dirección segmentada y acceder a la estructura (árbol).
Saludos, Gonzalo