Ensamblador - Cómo se gestionan los segmentos en el 8086?

 
Vista:
sin imagen de perfil
Val: 7
Ha mantenido su posición en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

Cómo se gestionan los segmentos en el 8086?

Publicado por Daniel (4 intervenciones) el 07/04/2020 05:07:20
Hola a todos, me interesa aprender ensamblador, apenas estoy empezando, por lo que pido disculpas si mi pregunta resulta ser tonta a los ojos de cualquier programador en ensamblador experimentado.
Para empezar tengo claro que el 8086 trabaja solo en modo real, también tengo entendido que si un programa requiere más de 64kb para el código o para los datos será necesario cambiar de segmento de código o de datos respectivamente. Sin embargo no tengo claro como se realiza este proceso, me refiero a ¿Cómo me muevo de un segmento de datos a otro segmento de datos? (asumiendo que mi programa maneja más de 64kb) o ¿Cómo cambio de segmento? sea de datos o sea de código.¿Esto lo tiene que hacer el programador explícitamente?. Si es así
¿Podría alguien explicarme mediante un ejemplo en código ensamblador?.
De antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cómo se gestionan los segmentos en el 8086?

Publicado por Nacho (81 intervenciones) el 07/04/2020 13:02:09
Cuando pones mov ax, word ptr[dx] lo que estás escribiendo es mov ax, word ptr ds[:dx], se sobreentiende el ds. Así que lo mismo puedes poner mov ax, word ptr fs:[dx].

Para pasar a otro segmento de código es lo mismo. Si pones call ax se presupone call cs:ax. Eso es un near call. Existe también el far call en la que se especifica un segmento y un desplazamiento. Puede ponerse el segmento como un registro o un númeo directamente. O declarar un procedimiento como far y ya hace todo el ensamblador. Al hacer un far call se cambia el registro cs e ip.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 7
Ha mantenido su posición en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

Cómo se gestionan los segmentos en el 8086?

Publicado por Daniel (4 intervenciones) el 07/04/2020 15:44:19
Me ha quedado bastante claro, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar