win32 asm Hello World Demo

 

编译和链接选项

ml.exe /c /coff /nologo /Fo

link.exe /SUBSYSTEM:WINDOWS /nologo /OUT

 

Hello World Demo Compiled with MASMPlus

 

 

.386 .model flat, stdcall option casemap :none include windows.inc include user32.inc include kernel32.inc include masm32.inc include gdi32.inc includelib gdi32.lib includelib user32.lib includelib kernel32.lib includelib masm32.lib include macro.asm .data szTitle db 'Title',0 szMessage db 'Hello World',0 .code START: ;1.push and call push MB_OK or MB_ICONINFORMATION push offset szTitle push offset szMessage push NULL call MessageBox ;2.invoke伪指令 ;invoke MessageBox,NULL,offset szMessage,offset szTitle,MB_OK or MB_ICONINFORMATION invoke ExitProcess,0 end START

此段反汇编结果:程序入口点在0x401000,先是4个push,然后是call MessageBoxA

返回值到EAX,为ID_OK=1,从图中寄存器可见。

win32 asm Hello World Demo_第1张图片

你可能感兴趣的:(windows,汇编,user,null)