razlika b / n funkcija poziv i prekid poziva

D

dev

Guest
Što se događa kad je generirana funkcija poziva u sustavu.

i

što se događa kada je prekid poziva je generirana u sustav

ono što je razlika između ta dva?

 
prekinuti poziv generiran našto izvan poticaj ili signal dođe do prekinuti unos bilo koje gore.I odnosi prekinuti rutin je trčanje.

Funkcija poziv ostvaruje deleberately je programer u bilo kojem dijelu koda.Možete napisati funkciju za ponovljeni dio koda.A vi ga zovu kada treba u kodu umjesto rewritting ponavlja kod.Osim ovog dijela sprema u memoriju.Budući da je ponovio kod ne će se ponoviti u memoriji, umjesto routin će ići u funkciji dio koda u memoriju.Nakon što je funkcija se program pokreće brojač će se vratiti na mjesto u izvorni kôd

 
Funkcija poziv je obično program generira.

Prekinuti se obično generira hardver.

na primjer: Ako vam program u C, možete pozvati funkciju čineći funkciju.Tu je glavna funkcija i Pod-funkcije.Sub funkcije su programirani od strane programera.

Prekida međutim, hardver specifičan.na primjer:
U računalo, CPU je obrada programa i trčanje.Ako pritisnete tipku na tipkovnici, tipkovnica onda postavlja tipkovnica prekinuti na CPU.Sada CPU može djelovati na keypressed akciju.

Najbolji način sumirati?
1.funkcije su created by programera.
2.prekida se fizički dizajnirani u hardver te koriste drugi hardver.

Uzdanica ovaj pomoć
wa

 
Obje funkcije na kraju povratak u mjesto gdje je dobio zovu. Ali uz prekid funtion ..povratak instrukcija je Reti koja briše
izvor prekid ..u suprotnom će biti pozvan više i više ..
U slučaju funkcije povratak je samo RET ...

 
Će reći da je jedna glavna razlika je:

Funkcija poziva se događa u prediktivni način ... znaš kada ga zovu i zašto ...

Prekida se može pojaviti u bilo koje vrijeme i zbog toga prekinuti uslugu rutinske potrebe neke rutine da se uradi .. jer u suprotnom može zamijeniti bilo koji vrijedne podatke u registre, memorije lokacije ili periphals ...

 
Bok

Tijekom poziva funkciju, nema kontekst promjena, tako da samo glavni registara procesora mora biti gurnut na stog.Oni su obnovljeni (poped) kao poziv vraća.

Tijekom prekinuti poziv, puni kontekst promjena, tako da svi registri su potisnuti u stog te su obnovljeni ili poped kada prekinuti poziv povratka.Nadalje, tijekom prekida poziva, prekinuti su maskirani, izbjegavanje drugih prekinuti remeti trenutni prekid rutine.Svrha specifičnih Reti ili IRET poduka je omogućiti opet prekinuti nakon povratka iz prekida poziva.

 
Fucntion poziv može u nekim slučajevima uključuje kontekst chnage kao i recimo, ako je to OS fucntion poziv ostvaren u obliku softvera prekinuti (vidi Linux OS pozive).Tako da je općenito hardvera i softvera, ali ovisi o funkciji poziv bez sadržaj promjena je najčešće korištena jedan.
Ako je funkcija proglašen inluine bez pravih fucntion poziv će biti učinjeno, ali funkcija kod će biti istraženi na mjestu gdje se to zove.Ali opet to je provedba definirani.

 

Welcome to EDABoard.com

Sponsor

Back
Top