我試圖通過一本名爲「Reverse Engineering for Beginners」[LINK]的書來了解彙編代碼。有一段代碼win-32彙編代碼我不太明白。在功能序言中,「PUSH 0xFFFFFFFF」是什麼意思?
main:
push 0xFFFFFFFF
call MessageBeep
xor eax,eax
retn
第一個PUSH
指令做什麼?爲什麼它會將0xFFFFFFFF推向堆棧,但不會再彈回它? 0xFFFFFFFF有什麼意義?
在此先感謝。
在這種情況下使用的調用約定有可能使被調用者清理堆棧。 – EOF
[MessageBeep的文檔](https://msdn.microsoft.com/en-us/library/windows/desktop/ms680356(v = vs.85).aspx)會告訴你推送的值是什麼。可能值得努力閱讀它。 – WhozCraig
http://stackoverflow.com/documentation/x86/3261/calling-conventions#t=201608201329248988454 –