Co dela Borland C s koprocesorem
Vlastni inicializace je popsana v souboru : crtl/EMU/fpinit.asm
Je pro nas dulezita rutina:
int2handler proc far
Coz je vlastne obsluha preruseni NMI (02h), ktere osetruje chybu koprocesoru.
Nastaveni vektoru preruseni se take provadi v tomto souboru. O emulaci koprocesoru
se nemusime starat, protoze predpokladame alespon 80387. Pouziti toho souboru
by bylo mozne, kdyby se zmenily slyzby nastaveni preruseni z dosovske varianty
na tuoxovskou variantu.
Tohleto nas samozrejme nezajima, protoze si volani preruseni koprocesoru zakazeme.
Pokud chce uzivatel osetrit chybu koprocesoru, tak musi provest implementaci teto funkce:
int matherr (struct exception *a)
V pripade, ze se nam podari osetrit chybu, tak vratime 1, jinak vratime 0.
Tohle to se vola jak u preruseni, tak i pri matematickych funkci(cos,tan,sqrt). Pro nase potreby nam zcela postacuje, kdyz bude metoda vypadat takto:
int matherr (struct exception *a) {
return 1;
}
V pripade, ze neprovedeme zaimplementovani,tak se nam na stderr vypisuje
chybova hlaska, navrat=0.
Spravne funkcnost koprocesoru by se mela jeste testnout v ostre distribuci tuoxu,
protoze je mozne, ze Borlandi tam provadeji jeste jine zbesilosti.