Win32汇编函数的参数,参数类型,返回值都是一个dword类型(4字节)
返回值永远放在EAX中,如超过4个字节则返回一个数据的指针(指向返回值存放的缓冲区地址)
.data titleS db 'helloworld',0 messageS db 'hello,welcome to win32',0.code start:invoke MessageBox,NULL,offset messageS,offset titleS,MB_YESNOinvoke ExitProcess,NULLend start
uType对话框形式:
MB_YESNO 4h 显示是否,两个按钮
MessageBox的返回值保存在EAX寄存器中:
IDYES 6h 按下是
IDNO 7h 按下否
打开OD-F3
可以看到第一个push 4 是将uType入栈,而MB_YESNO的数值是4
继续F8 弹出对话框 并且EAX=0
按下"否"按钮 EAX=7H