Eh um código simples qe eu fiz pra treinar ASM. Compilado com Fasmw166.
;- - - - - - - - - - - - - - - - - - -
;- PROGRAMA TESTE
;- by sthealt
;- - - - - - - - - - - - - - - - - - -
format PE GUI 4.0
include 'C:\fasmw\include\win32ax.inc';biblioteca
start: ;inicio do programa
invoke MessageBox,0,'Olá! Eu sou o Programa Teste v1.','Olá!',MB_ICONINFORMATION+MB_OK ;mensagem
invoke MessageBox,0,'Você gosta de assembly?','',MB_ICONQUESTION+MB_YESNO ;pergunta
cmp eax,IDYES ;compara se o valor de EAX (a resposta) é sim
JE ok ;se SIM
JNE triste ;se NAO
triste:
invoke MessageBox,0,'O QUE???? VOCÊ VAI VER!!!','Ò.Ó',MB_ICONEXCLAMATION+MB_OK ;mensagem
invoke Sleep,6000 ;faz o programa ficar "parado" por 1min.
invoke mciSendString,ejetar,0,0,0 ;abre a unidade de CD
invoke mciSendString,fechar,0,0,0 ;fecha a unidade de CD
invoke mciSendString,ejetar,0,0,0
invoke mciSendString,fechar,0,0,0
invoke mciSendString,ejetar,0,0,0
invoke mciSendString,fechar,0,0,0
invoke MessageBox,0,'APRENDEU A LIÇÃO???','???',MB_ICONEXCLAMATION+MB_YESNO ;pergunta
cmp eax,IDYES ;compara se EAX eh sim
je ok ;se sim
jne triste ;se nao
ok:
invoke MessageBox,0,'Que bom... Eu jah vou... Bye bye...','Bye...',MB_ICONINFORMATION+MB_OK
invoke ExitProcess,0
ejetar db 'set cdaudio door open',0
fechar db 'set cdaudio door closed',0
data import
library user32,'USER32.DLL',\ ;importa USER32.DLL
kernel32,'KERNEL32.DLL',\ ;importa KERNEL32.DLL
winmm,'WINMM.DLL' ;importa WINMM.DLL
import user32,\ ;importa de user32.dll
MessageBox,'MessageBoxA' ;message box
import winmm,\ ;importa de winmm.dll
mciSendString,'mciSendStringA' ;mciSendString
import kernel32,\ ;importa de kernel32.dll
Sleep,'Sleep',\
ExitProcess,'ExitProcess'
end data ;fim da importação
Complila pra gnt ai Sthealt
Lembrando que o programa é somente para estudos para programadores iniciantes em ASM.
Link compilado: download (//http://rapidshare.com/files/33728056/programa_exemplo.zip.html)
lgllll

DDDD