hola
estoy empezando con el ensamblador y tengo la duda siguiente haber si me podéis decir que es lo que tengo mal.
suponiendo que un fichero.map, correspondiente al mapa de memoria resultante de la compilación y linkado de cierto programa:
es el siguiente:
Start Stop Length Name
00000H ----H 00070H DATOS
00260H ----H 00030H PILA
00620H ----H 00700H CODIGO1
02760H ----H 03000H CODIGO2
Program entry point at 0276:0004H
Sabiendo que cuando se carga el ejecutable, el PSP se ubica en la posición física 18840H, quiero saber el contenido del registro CS antes de ejecución del programa.
entonces lo que hicé es :
A)calculé la dirección fisica base del map. sumandole 100H(256 byte) = 18940H(hexad)
B)calculé la dirección física de inicio de cada segmento de codigo:
18940H+columna de inicio de segmento de codigo(start)=18F60H
entonces para saber el valor del registro del cs lo que hice es obtener la dir lógica apartir de la dirección fisica que he obtenido 18F60---->18F6:0000(cs:ip).
entonces no sé si lo que hecho està bien o està mal?
Muchisima gracias de antemano
en la espera de vuestra ayuda
les saludo atentamente.