You are on page 1of 6

Segmentos y direccionamiento

Un segmento es un rea especial de un porgrama que inicia en un limite de un prrafo, esto, es, en una loalidad
regularmente divisible entre 16, o 10 hexaecimal, el segmento puede ser hata de 64k, solo necesita tanto espacio como el
programa requiera para su ejecucuion.
Un segmento en modo real puede ser de hata 64k, puede tener cualquier numero de segmento.
Segmento de cdigo (CS)
Contiene las instrucciones de maquina que son ejecutadas. Por lo comn, la primera instruccin ejecutable esta en el
inicio del segmento, y el sistema operativo enlaza a esa locatidad para iniciar la ejecusion

Segmento de datos ( DS)


Contiene datos, constantes y reas de trabajo definidos por el programa, el registro ds diecciona el segmento de datos, si
su rea de datos requiere de mas de 64k.

Segmento de pila (SS)


La pila contiene los datos y direcciones que usted necesita guardar temporalmente o para uso de sus llamadas.

Registros
Puntos Clave

La computadora distingue entre bits 0 (apagado y 1 (encendido), y realiza aritmtica solo en formato binario.

Un solo carcter de memoria es un byte; comprende ocho bits de datos y un bit de prioridad.

El corazn de la PC es un microprocesador. El procesador almacena datos numricos en palabras de memoria en


secuencia inversa de bytes

Un programa en lenguaje ensamblador consiste en uno o ms segmentos: un segmento de pila para mantener las
direcciones de regreso, un segmento de datos para definir reas de datos y trabajos y un segmento de cdigo para
instrucciones ejecutables.

Los registros CS, DS Y SS permiten el direccionamiento de los segmentos de cdigo, datos y pila.

EL registro IP contiene a direccin de desplazamiento de la siguiente instruccin que es ejecutada.

El Programa DEBUG
El dos viene con un programa llamado debug que es utilizado para probar y depurar programas mas ejecutables. Una
caracterstica de DEBUG es que despliega todo el cdigo del programa y los datos en formato hexadecimal, y en
cualquier dato que se introduzca a la memoria tambin esta en formato hexadecimal, otra caracterstica del DEBUG
permite ejecutar un programa en modo de paso sencillo, de manera que se pueda ver el efecto dcada instruccin sobre las
localidades de memoria y los registros.
Comandos DEBUG
A Ensamblar instrucciones simblicas y pasarlas a cdigo mquina.
D Mostrar el contenido de un rea de memoria.
E Introducir datos en memoria, iniciando una localidad especifica.
G Correr el programa ejecutable que se encuentra en memoria.
N Nombrar un programa.
P proceder o ejecutar un conjunto de instrucciones relacionadas.
Q salir de la sesin con DEBUG.
R Mostrar el contenido de uno o ms registros.
T Rastrear la ejecucin de una instruccin.
U Desensamblar cdigo de mquina y pasarlo a cdigo simblico.
W Escribir o grabar un programa en disco.
El despliegue de DEBUG
El despliegue del DEBUG cosiste en 3 partes.
1.- a la izquierda est la direccin hexadecimal del ultimo byte de la izquierda que se despliega en la forma segmento:
desplazamiento.
2.- El rea amplia del centro es la representacin hexadecimal del rea desplegada.
3.- a la derecha est la representacin en ASCII de los bytes.

Verificacin del tamao de la memoria


El valor puede estar basado en interruptores internos y puede indicar menos memoria de la que realmente esta instalada.
El valor est en el rea de datos del BIOS en las localidades 413H y 414H.
D 40:13 [Y presione Enter]
El despliegue debe empezar con algo como esto:
0040:0013 .. .. .. xx xx
Los primeros 2 bytes mostrados en el desplazamiento 0013H son los kilobytes de memoria en hexadecimal, con los bytes
en secuencia inversa. Ejemplo
Hexadecimal Inverso Hexadecimal Corregido Decimal(K)
00 02 02 00 512
80 02 02 80 640
Datos Inmediatos

You might also like