Licenciado en Sistemas Informaticos

Páginas: 5 (1215 palabras) Publicado: 22 de junio de 2013
Tutorial 1: Lo básico
En este tutorial asumo que el lector sabe como usar MASM. Si no estás familiarizado
con MASM, descarga win32asm.exe y estudia el texto dentro del paquete
antes de seguir con este tutorial. Bueno. Ahora estás listo. Ok vamos !
Teoría:
Los programas de Win32 corren en modo protegido, disponible desde el 80286. Pero
ahora el 80286 es historia. Asi que ahora debemosinteresarnos en el 80386 y sus
descendientes. Windows corre cada programa de 32 bits en espacios virtuales de
memoria separados. Eso significa que cada programa de Win32 tiene sus propios 4
GB de memoria en el espacio de direcciones. Como sea, esto no significa que cada
programa de Win32 tenga 4GB de memora física, sino que el programa puede
direccionar cualquier dirección en ese rango.
Windowshará cualquier cosa que sea necesaria para hacer que la memoria y las
referencias del programas sean válidas. Por supuesto, el programa debe adherirse a
las reglas impuestas por Windows, si no, causará un error de protección general.
Cada programa está solo en su espacio de direcciones. Esto contrasta con la
situación en Win16. Todos los programas de Win16 podían *verse* unos a otros. No
es lomismo en Win32. Esto reduce la posibilidad de que un program a escriba sobre
el código/datos de otros programas.
El modelo de la memoria es también drásticamente diferente al de los antiguos días
del mundo de 16-bits. Bajo Win32, ya no necesitamos meternos nunca más con el
modelo o los segmentos de memoria! Hay un s olo tipo de modelo de memoria: El
modelo plano (flat).
Ahora, no haysolamente segmentos de 64k. La memoria es un largo y continuo
espacio de 4GB. Eso también significa que no tendrás que jugar mas con los registros
de los segmentos. Ahora puedes usar cual quier registro de segmento para
direccionar a cualquier punto en el espacio de la memoría. Eso es una GENIAL ayuda
para los programadores. Esto hace la programación de ensamblador para Win32 tan
fácil como C.Cuando programas bajo Win32, debes tener en cue nta unas cuantas reglas
importantes. Una es que Windows usa esi ,edi ebp y ebx internamente y no espera
que los valores en esos registros cambien . Asi que recuerda esta regla primero: si
usas cualquiera de estos cuatro registros en tu función callback, nun ca olvides
restaurarlos antes de regresar el control a Windows . Una función callback es unafunción escrita por tí que Windows llama cuando algún evento específico se
produce. El ejemplo mas obvio es el procedimiento de ventana. Esto no significa que
no puedas usar estos cuatro registros; sí puedes. Solo asegúrate de restaurarlos
antes de pasarle el control a Windows.

Contenido:

Aquí hay un esqueleto de un programa.
Si no entiendes algo de los códigos, que
no cunda el pánico.Los explicaré cada
uno de ellos mas abajo.
.386
.MODEL Flat, STDCALL
.DATA

......
.DATA?

......
.CONST

......
.CODE


.....
end

Sip, eso es todo, vamos a analizar el programa esqueleto.
.386
Esto es una directiva para el ensamblador, que le dice que vamos a usar el
conjunto de instrucciones del 80386. También puedes usar .486,.586 pero es
mas seguro ponerle .386. Hayactualmente dos formas casi idénticas para
cada modelo de CPU. .386/.386p, .486/.486p. Esas versiones de "p" son
necesarias cuando tu programa usa instrucciones privilegiadas. Las
instrucciones privilegiadas son las instrucciones reservadas por la
CPU/sistema operativo cuando están en modo protegido. Solamente pueden
ser usadas por un código privilegiado, asi como los virtual device drivers(controladores de dispositivos virtuales = VXD).

.MODEL FLAT, STDCALL
.MODEL es una directiva para el ensamblador que especifíca el modelo de
memoria de tu programa. Bajo Win32, hay un solo tipo de memoria, la
PLANA(FLAT).
STDCALL Indica al ensamblador la convención de paso de los parámetros. La
convención de paso de parámetros especifica el orden que debe seguirse para
pasar parámetros,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Licenciado En Sistemas Informaticos Adminsitrativos
  • Licencias Y Sistemas Informáticos En El Salvador
  • Licenciado En Informática
  • Licenciado En Informatica
  • Licenciado en informática
  • licenciada en informatica
  • Licenciada En Informatica
  • Licenciado en Informática

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS