Hola estimado lector, hoy voy a hablar de un programa para escribir en lenguaje ensamblador, el lenguaje de programación de más bajo nivel, aquà voy a explicar hasta lo que he podido investigar. Decir que nunca he programado en ensamblador, aunque sà que he leÃdo códigos en ensamblador, ya que he «debugeado» algún que otro código en C.
Para quiénes no lo sepan lo que hacen el compilador de C, es traducir nuestro código a Ensamblador, y es realmente curioso, pero por ejemplo Delphi traduce nuestro código delphi a C, que a su vez traduce a ensamblador.
Lo básico es lo siguiente:
.386 ; Le decimos a MASM32 que use Intel 80386
.model flat, stdcall ; Esto es necesario declararlo
option casemap:none ; ¿Son las etiquetas sensibleas a mayúsculas y minúsculas?
include kernel32.inc ; Esta librerÃa es obligatoria para que funcione nuestra aplicación
includelib kernel32 ; Aquà enlazamos la librerÃa especificada anteriormente
.Data ; Aquà ponemos datos inicializados
.Data? ; Aquà especificamos datos no inicializados
.Const ; Aquà escribimos las contantes
.Code ; Aquà escribimos nuestre código
Start: ; Especifica el inicio de nuestro código
End Start ; Especifica fin de nuestro código
Nuestro primer hola mundo:
.386 ; Le decimos a MASM32 que use Intel 80386
.model flat, stdcall ; Esto es necesario declararlo
option casemap:none ; ¿Son las etiquetas sensibleas a mayúsculas y minúsculas?
include includekernel32.inc ; Esta librerÃa es obligatoria para que funcione nuestra aplicación
includelib libkernel32 ; Aquà enlazamos la librerÃa especificada anteriormente
include includewindows.inc
include includeuser32.inc
includelib libuser32.lib
.Data ; Aquà ponemos datos inicializados
MsgBoxText db «Hola mundo»,0
MsgBoxCaption db «Primer Hola Mundo»,0
.Data? ; Aquà especificamos datos no inicializados
.Const ; Aquà escribimos las contantes
.Code ; Aquà escribimos nuestre código
Start: ; Especifica el inicio de nuestro código
invoke MessageBox, NULL, Addr MsgBoxText, Addr MsgBoxCaption, MB_OK
invoke ExitProcess,0
End Start ; Especifica fin de nuestro código
Pues nada hasta aquà mi post de hoy, seguiré posteando según vaya investigando.