1.a calling function pushes the arguments,stores the return address,previous esp value,jumps to
called function
2.called function stores stores the current stack frame ptr in esp and stores local variables in stack
3.when called function returns it invalidates local variables, uses stored ebp value and jumps to return address after invalidating arguments