no se que te estas leyendo, pero si fueras mas explicito seria mejor
pero si es para lo que creo, terminaras confirmando recien cuando entiendas la estructura de un exe o estructura cabezera MZ o PE header
te hare un alcance, depende del uso y del tamaño, y para que arquitectura buscas
http://es.scribd.com/doc/45774301/Arquitectura-x86-y-x64http://es.wikipedia.org/wiki/Intel_8086_y_8088segun esta mini idea que los registros pueden servir segun su arquitectura para
1) bandera, de acumuladores y otros
pero hare un ejemplo simple
mov eax,1 (mueve a eax, registro de 32 bytes, RAX, se usa solo para acumular, mover contar etc)
cmp eax,1 (compara si el valor es 1, pero donde sabe el programa que es o no?), para esto usa temas de banderas, pero este comando no usara la bandera, sino el proximo
je lugar (comparando la bandera z, si es 0 o 1, este determinara si seguir o no al lugar)
cmp ah, 1 (lo mismo)
jne lugar
hay diferentes estructuras, digamos por ejemplo que hay 3 sistemas operativos principales
1) linux (formato cabezera elf)
2) windows x86 (formato PE), windows x64 , archivos hechos en estructura .net
3)mac OSX o similares.
digamos que para esos casos el primer valor cambia segun la arquitectura, el tamaño permisos y otros, pero el principio es el mismo
sirven conforme puedan ser usados
digamos que tienes un programa que analiza de 2 formas(estatico y dinamico)
cuando abres un depurador tipo, lo mas probable es que comienza de forma estatica, pero, hay depuradores dinamicos que permiten dejar interrupciones o detenerce en cierto punto, a modo de obtener en ese lugar especifico (que colocamos el punto de interrepcion o breackpoint) , todo dependera obviamente de que tema podemos estar hablando
un ejemplo cualquiera
abres ollydbg, estas en el entrypoint(donde estas ahora)..ahi comenzaste, ves los registros de eax, ebx, ecx y otros, pero lo primero que puede estar pueden ser
1) saltos
2) push lugar , que llevara a guardar registros en stack , o preparar el espacio para ejecutar las instrucciones
cuando los programas estan mal hechos o poseen bug, es muchas veces porque otorgan espacios reducidos o bien una instruccion pasa a llevar a otra , o bien los permisos de ciertas secciones estan mal dadas
principalmente ese es el uso basico de un depurador
ahora bien, te sugiero seguir leyendo, porque digamos que las diferencias(tu pregunta), las darà principalmente los comandos que vaas viendo
saludos Apuromafo