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
![]()