+==============MESSAGEBOXA=============+
Código
include 'win32ax.inc' .data holatit db 'Hola Mundo',0 hola db 'Hola Mundo, un saludo',0 .code start: push 0 push hola push holatit push 0 call [MessageBoxA] push 0 call [ExitProcess] .end start
Primero declaramos la libreria con la que programaremos, en fasm es win32ax, puedes cambiar la dirección de la ruta según donde la tengas tu.
Despues abrimos el sector de código .data donde declararemos variables..
Declaramos dos variables del tipo string (db) y llenamos su contenido con comillas simples y ponemos un 0 al final.
Después abrimos el sector code donde escribiremos nuestro código y metemos start: para indicar el del comienzo del código, seguidamente usaremos la función MessageBoxA de win32.
Si os dais cuenta la sintaxis seria en otro lenguaje: MessageBox(0,hola,holatit,0);
El primer 0 corresponde al ultimo de por ejemplo en C, el holatit corresponde al titulo, el hola corresponde al mensaje a mostrar, y el ultimo 0 corresponde al primer 0 de la función en C(ejemplo).
Después invocaremos la función ExitProcess para acabar el code sin que nos salte errores.
Indicamos un 0 y después hacemos la llamada a ExitProcess.
La función call sirve para llamar a funciones o tambien se puede usar invoke.
+==============PRINTF===============+
Para usar printf invocaremos de diferentes librerias X función, se puede hacer al principio incluyendola o en el sector idata que a mi me parece más comodo, usaremos este ultimo.
Código
format pe console entry start include 'win32ax.inc' .code start: invoke printf,'Hola Mundo' invoke getchar invoke ExitProcess,0 section '.idata' import data readable library msvcrt,'msvcrt.dll',kernel32,'kernel32.dll' import msvcrt,printf,'printf',getchar,'_fgetchar' import kernel32,ExitProcess,'ExitProcess'
Primero comenzamos declarando que tipo de programa sera, podemos indicar GUI, console...
Después indicamos el entry start para comenzar el código de consola.
Seguidamente declaramos la libreria win32ax.
Ahora introducimos el sector de code para indicar que utilizaremos ya a programar código visible.
Ahora invocamos la función printf que posteriormente la declararemos y imprimimos Hola Mundo.
Ahora usamos la función getchar para pausar el proyecto y que podamos ver lo del printf.
Ahora utilizamos la función ExitProcess, para que no nos salte error.
Ahora utilizaremos section '.idata' import data readable para declarar dll y funciones.
Primero indicamos el nombre que les daremos para usar a las dll msvcrt y kernel32.
Ahora desde msvcrt importamos la función printf y le damos el nombre de printf y despues la función _fgetchar y le damos el nombre de getchar.
Y por utltimo desde la dll kernel32 importamos la función ExitProcess.