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.