; Start studying 'VARARG' with HJWasm v2.25. ::)
_ShowMessageBox proc lpBuffer:QWORD, par1:DWORD, par2:DWORD,par3:DWORD
LOCAL tmpBuff[1024]:byte
invoke wsprintf,addr tmpBuff, lpBuffer,par1,par2,par3
invoke MessageBox,0,addr tmpBuff,"Info",MB_OK
ret
_ShowMessageBox endp
_ShowMessageBox2 proc lpBuffer:QWORD, vargs:VARARG
LOCAL tmpBuff[1024]:byte
invoke wvsprintf,addr tmpBuff, lpBuffer,addr vargs
invoke MessageBox,0,addr tmpBuff,"Info",MB_OK
ret
_ShowMessageBox2 endp
start proc
mov rbx,11223344h
mov rdx,55555555h
invoke _ShowMessageBox,"arg1=%08lX arg2=%04lX arg3=%02lX",edx,ebx,ebx
mov rdx,55555555h
invoke _ShowMessageBox2,"arg1=%08lX arg2=%04lX arg3=%02lX",edx,ebx,ebx ; Error A2165: Register value overwritten by INVOKE
invoke ExitProcess,0
start endp
end start
I don't insert 'FRAME' in the begining of proc's, anymore. 8)