Razlika između JUMP i CALL instrukcija?
1. Učinak na hrpu :
- JMP:JMP instrukcija ne utječe na stog. Jednostavno prenosi kontrolu na određeno odredište bez guranja ili iskakanja ičega iz hrpe.
- CALL:Instrukcija CALL gura povratnu adresu na stog prije prijenosa kontrole na navedeno odredište. To omogućuje programu da se vrati na izvornu lokaciju poziva nakon izvršavanja potprograma ili funkcije.
2. Koristite :
- JMP:JMP instrukcija obično se koristi za bezuvjetne skokove, gdje se program uvijek grana na navedeno odredište.
- CALL:Instrukcija CALL obično se koristi za pozivanje potprograma ili funkcije. Kada se izvrši CALL instrukcija, program skače na navedeno odredište i počinje izvršavati kod na tom mjestu. Kada potprogram ili funkcija završi s izvođenjem, koristi instrukciju RET (povratak) za izbacivanje povratne adrese iz stoga i vraća kontrolu na mjesto pozivanja.
3. Utjecaj na izvršenje programa :
- JMP:JMP instrukcija odmah prenosi kontrolu na navedeno odredište, bez izvršavanja dodatnih instrukcija u trenutnom bloku koda.
- CALL:Instrukcija CALL ne samo da prenosi kontrolu na navedeno odredište, već također gura povratnu adresu na stog, dopuštajući programu da se vrati na izvornu lokaciju nakon izvršavanja potprograma ili funkcije.
Ukratko, JMP instrukcija se koristi za bezuvjetne skokove i ne utječe na stog, dok se CALL instrukcija koristi za pozivanje potprograma ili funkcija, gurajući povratnu adresu na stog kako bi se omogućio pravilan povratak na mjesto poziva.