Bueno me encuentro estudiando un poco el ejecutable de windows. Y resulta que tengo un problema con la primera cabezera. Todos mis ejecutables compilados con del Dev-C++ tienen la primera cabezera exactamente igual (la de MZ). Sea cual sea el archivo, es exactamente igual. Lo mismo me pasa con el compilador del ensamblador. ¿Entonces? Que son estas cabezeras?
Intenté darle un valor de 0 a cada dato (excepto el de la clave magica MZ y el ultimo DWORD) y funciona de maravilla el programa... Intento darle otro valor como FF, FFFF o FFFFFFFF y el programa funciona como si no hubiece hecho nada...
¿De verdad funcionan estas cabezeras? ¿Son del DOS? ¿Por qué los programas de windows rellenan estas cabeceras, entonces?
Y otra pregunta. ¿Que es una pagina? Ya que el segundo dato pide la cantidad de bytes de la ultima página, pero como no puedo comprarar porque todos los ejecutables tienen el mismo valor, no entiendo.
La razón de esto es que quiero hacer un compilador sencillo... A lo mejor me ayude mucho un sencillo codigo fuente de un compilador sencillo en un lenguaje de mayor nivel que el ensamblador por favor ...
Muchas gracias.