; int __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
[email protected] proc near
var_4= dword ptr -4
hInstance= dword ptr 4
hPrevInstance= dword ptr 8
lpCmdLine= dword ptr 0Ch
nShowCmd= dword ptr 10h
從我可以看到,最後4個變量是傳遞給WinMain函數的參數。另外,var_4必須是我在函數體中稍後聲明的int變量。現在,我有幾個問題:簡單的組裝問題
a)在32位Windows程序中,單詞的大小是多少? 4字節?作爲一個dword 8?
b)爲什麼var_4設置爲-4?爲什麼不開始,比方說,0?
C)一種在C定義整數標準程序是雖然
var_x = DWORD PTR Y'
謝謝
感謝您的回答。但我將我的變量定義爲int。它如何顯示爲無符號的32位變量?或者,這只是意味着它是一個指針(顯然是一個無符號整型?) – 2009-09-08 17:06:04
這些只是宏定義,以幫助使組件清晰。它們是偏移量w.r.t.到幀指針。 – user7116 2009-09-08 17:08:42
@devoured elysium ASM中的有符號和無符號數據沒有區別。他們只是32位。不同之處在於你使用什麼指令來操作它們。 – 2009-09-08 17:12:49