Unterprogramme auf Sparc

Id: sparc.tex,v 1.1 2004/10/26 11:33:45 waldmann Exp

Unterprogramm-Deklaration:
int simple (int x) {
 return x + 5;
}
simple: !#PROLOGUE# 0
        save    %sp, -112, %sp
        !#PROLOGUE# 1
        st      %i0, [%fp+68]
        ld      [%fp+68], %o1
        add     %o1, 5, %o0
        mov     %o0, %i0
        ret
        restore




Unterprogramm-Aufruf:
    r = simple (4);
        mov     4, %o0
        call    simple, 0
        st      %o0, [%fp-20]
Aufgaben: wo liegen die beteiligten Register, was passiert genau bei save/ret/restore?



Johannes Waldmann 2005-01-28