dlaczego używać ebp w funkcji prolog / epilog?

Jakiś czas temu eksperymentowałem z pisaniem procedur montażowych i łączeniem ich z programami C i odkryłem, że mogę po prostu pominąć standardowy epilog prologu C-call

    push ebp
    mov ebp, esp
    (sub esp, 4
    ...
    mov esp, ebp)
    pop ebp

po prostu pomiń to wszystko i podaj tylko przezesp, lubić

    mov eax, [esp+4]          ;; take argument
    mov [esp-4], eax          ;; use some local variable storage

Wydaje się, że działa całkiem dobrze. Dlaczego ten ebp jest używany - może adresowanieebp szybciej czy co?

questionAnswers(3)

yourAnswerToTheQuestion