Here is the code I have so far...

; MessageBox DLL
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'INCLUDE\win32a.inc'
section '.data' data readable writeable
result db "Return this",0
section '.code' code readable executable

proc DllEntryPoint, hinstDLL,fdwReason,lpvReserved
mov eax,TRUE
ret
endp


;Message Proc
proc message, title, text
invoke MessageBox,NULL,[text],[title],MB_OK
movq eax,result
ret
endp


section '.idata' import data readable writeable
library user,'USER32.DLL'
import user,\
MessageBox,'MessageBoxA'
section '.edata' export data readable
export 'message.DLL',\
message, 'message';Export function,name
section '.reloc' fixups data discardable





But I need the return value of proc message to be a 64 bit value but it returns it has 32 bit.

This is the part I need help with:

;Message Proc
proc message, title, text
invoke MessageBox,NULL,[text],[title],MB_OK
movq eax,result
ret
endp


I need to convert eax to a 64 bit value but I got now clue how, or if that doesn't work how would I get a 64 bit value?