[ Crstiano Ronaldo @ 16.05.2010. 21:40 ] @
Kako da napisem parametar neke funkcije koji je po tipu pokazivac na prekidnu rutinu?Da li bi to mozda ovako izgledalo void funkcija (void interrupt (*rutina)())?
[ combuster @ 16.05.2010. 21:55 ] @
Parametar bi trebalo da prosledis ovako:

void funkcija (interrupt *rutina)
{
body

}

Ako je to sve sto treba da prosledis kao parametre funkciji...
[ the_tosic @ 16.05.2010. 22:01 ] @
Pravilno napisana prekidna rutina ne sme da prima parametre. Odnosno moze ali tako sto ces ih staviti u neki registar npr:
Code:
mov ax, 5;
int 80;


i onda kada budes u prekidnoj rutini na ulazu 80 gledas sta ti se nalazi u registru ax.

Code:
// ako hoces da definises pokazivac na f-ju tipa
//void interrupt bla();  to radis sa
 typedef void interrupt (*IR)(void); //pokazivac na taj tip f-je

// Ako hoces da definises pokazivac na f-ju tipa int bla(int,float)
// to radis sa

 typedef void (*blabla)(int,float); //pokazivac na taj tip f-je

// Ako hoces nekoj funkciji da prosledis prekidnu rutinu, u zaglavlju te f-je stavis da prima parametar tipa IR koji smo gore definisali




btw kolega www.google.com ;)
[ Crstiano Ronaldo @ 16.05.2010. 22:06 ] @
Hvala mnogo!