Hi guys been awhile since I was on here.
Just taught i'd post some code to help people understand whats going on behind all the macros etc.

``;compile with:;NASMW.EXE -fobj stack.asm;link with:;ALINK.EXE stack.obj -c -oPE%include "E:\nasm\include\windows.inc"EXTERN ExitProcessIMPORT ExitProcess kernel32.dllEXTERN MessageBoxAIMPORT MessageBoxA user32.dll;segment .data USE32segment .code USE32 ..startpush ebp            ;make room for the stringmov ebp,espsub esp,24mov , byte 0 mov , byte 0 mov , byte "!"         mov , byte "O"mov , byte "L"mov , byte "L"mov , byte "E"mov , byte "H"      ;start of the stringlea edi,            ;locate address of stringmov ,dword MB_OK mov ,edi         mov ,edi           mov ,dword 0     call  add esp,16mov esp, ebp	; takedown stack framepop ebpsub esp,4             ;make room for our exitcode statusmov ,dword 0     ;exitprocess will exit with the 0 goodcall ``
Posted on 2006-11-30 11:37:48 by gavin