• C code
    		int main(void) { return f(8)+1; }
    int f(int x) { return g(x); }
    int g(int x) { return x+3; }
  • assembler
    		_main:
    prologue
    pushl %ebp
    movl %esp, %ebp
    body
    pushl $8
    call _f
    addl $1, %eax
    epilogue
    movl %ebp, %esp
    popl %ebp
    ret
    _f:
    prologue
    pushl %ebp
    movl %esp, %ebp
    body
    pushl 8(%esp)
    call _g
    epilogue
    movl %ebp, %esp
    popl %ebp
    ret

    _g:
    prologue
    pushl %ebp
    movl %esp, %ebp
    save %ebx
    pushl %ebx
    body
    movl 8(%ebp), %ebx
    addl $3, %ebx
    movl %ebx, %eax
    restore %ebx
    popl %ebx
    epilogue
    movl %ebp, %esp
    popl %ebp
    ret