DSCN5246 (5)

DSCN5246 (5)



Stos przekazanie argumentów do wywoływane] funkcji

Wain:

push eax szachowanie na stosie / push ebx ;wart. rej. których    /

push ecx .będzie używała funkcja / push arg3;umieszczenie arg. fun./ push arg2    /

push argf    /

cali funkcja ;zach. adr. pow i Wyw. fun.

add esp. 12 <*-________

;zwoln. pamieci{3 argumenty 4 bajtowe) pop ecx

pop ebx    Stos:    eax

pop eax    ebx

ecx arg3 arg2 argl

adres powrotu ebp

lokalna2 lokalna 1

funkcja:

push ebp ;zachcwanie starej ramki mov ebp,esp ;nowa=esp sub esp.8 :alłok. pam. na 2 zmn lok. (po 4 bajty) mov eax.[ebp+8] .odczyt argl mov ebx.[ebp+12] ;odczyt arg2 mov ecx,[ebp+163; odczyt arg3

mov esp.ebp 'zwolnienie pam. po zmn. lok. push ebp przywrócenie starej ramki ret; powrót ściągnięcie adresu powrotu i skok ;do kolejnej instrukcji po cali

Po co ta „ramka stosu"?

-    stały punkt odniesienia

(np. wygodne pobranie arg fun.)

SP - może zmieniać położenie

-    proste zwalnianie miejsca po zmn. lok.



Wyszukiwarka

Podobne podstrony:
DSCN5245 (5) Stos przekazanie argumentów do wywoływanej funkcji inł main(void >    
DSCN5248 (6) Stos - przekazanie argumentów do wywoływanej funkcji
DSCN5249 (3) Stos - przekazanie argumentów do wywoływanej funkcji •    poprzez stos:
DSC00675 Zastosowanie wskaźników, w argumentach funkcji •    Przy przekazywaniu argum
85304 Zdjęcie0038 (4) Przesyłanie argumentów przez referencje (przezwisko): ■ Przy przekazywaniu arg
Informacja do zadań 7.-9. Funkcja kwadratowa / jest określona wzorem /(x) = a(;c-l)(j(:-3). Na
-    Do zaburzeń funkcji stabilizatorów lokalnych może dojść na skutek mechanicz
DSCN5247 (4) Stos i wywoływanie funkcji w arch. RISC - MIPSW oryginalnej architekturze MIPS brak ins
SDC11602 Przekazywanie argumentów ■W różnych języ

skanuj0086 (34) PHP i MySQL dla każdegoArgumenty funkcji raz jeszczeSposoby przekazywania argumentów
20052010(001) 10. Podaj strukturę programu w języku C++ 11 Jakie znasz sposoby przesyłania argumentó

więcej podobnych podstron