Hi Developer,
I've attached a working 64 bit Windows example for you.
[BITS 64] ; 64 bit segment
global Start ; visibility for linker
extern ExitProcess ; externals
extern MessageBoxA
segment .data ; initialized data
wtxt db 'Hallo 64 bit Windows Assembly Language World!', 0
wcapt db 'The usual Hallo Example', 0
segment .text ; code
Start:
; make room for arguments + 16 bit aligned stack
sub rsp, 40
xor r9, r9 ; r9d = uType
mov r8, wcapt ; r8 -> lpCaption
mov rdx, wtxt ; rdx -> lpText
xor rcx, rcx ; rcx = hWnd
call MessageBoxA
xor ecx, ecx ; ecx = exit code
call ExitProcess
The example is linked with GoLink to the running EXE. Check for details the included file build_messagebox.bat. It runs with Windows 7, SP1. I hope that'll help you a bit and will give you right direction.
Gerhard