The calling convention used in assembly differs depending to the compiler, so I need to know How ollydbg2.01 would help me to recognize the parameters passed from caller to the callee and the values returned back from the callee to the caller for a CALL instruction. The assembly which I am working on is compiled by Microsoft visual C++.
Ollydbg already shows the parameters passed to a functions in the CPU window. This of course works for standard functions such as
CreateFileA which Ollydbg knows about. For example see the image below. The parameters to
CreateWindowExA are shown.
Now the return value of a function is usually kept in register
x86. So just note the value after the function returns. Of course in case of a hand-coded assembly the return value may be anywhere.