Raymond draws a clear diagram showing how function call in x86 is done.
register ESP: Extened Stack Pointer. push, pop,call, ret uses this register.
register EBP: Frame Pointer. It is used to access any data higher or lower than it such as [EBP+4] is the return address ( ret will copy this to EIP).
[EBP+8] is the param1, etc.
[EBP-4] is local var 1, etc.