Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens RMOS3 Bedienungsanleitung Seite 155

Echtzeit-betriebssystem rmos3 rmos3 v3.50 benutzerhandbuch
Inhaltsverzeichnis
Initialisierung des Coprozessors 80x87
Die Initialisierung des Coprozessors 80x87 ist defaultmäßig für PC-kompatible Hardware
ausgelegt. Die Datei SWCCF87.ASM enthält die nachstehenden Funktionen, die unter
Umständen an die Besonderheiten der Hardware und der Anwender–Software anzupassen
sind. Für nicht PC-kompatible Hardware ist eine eigene Initialisierungsdatei SWCCF87.ASM
realisiert, die vor die Bibliothek RM3BAS.LIB eingebunden werden muss.
far void x_cr_initcopr()
Diese Funktion initialisiert den 80x87–Coprozessor. Die Funktion wird bei der Initialisierung
durch
gesetzt ist. Mit dieser Funktion können selektiv Exceptions freigegeben werden.
Coprozessoreinstellungen
Bei der Initialisierung wird der Coprozessor in folgende Grundeinstellung versetzt:
● Rundungsmodus ist Round to Nearest
● Precision Control ist 80bit (es wird CRUN–intern mit der höchsten Genauigkeit gerechnet)
● Es wird der affine Zahlenbereich gewählt (dieses ist ISO/IEC DIS 9899–konform)
● Alle Exceptions werden gesperrt.
Im Folgenden sind die einzelnen Exceptions und ihre Behandlung beschrieben:
Precision Exception
Sie tritt immer dann auf, wenn bei einer Berechnung ein Genauigkeitsverlust auftritt. Dies ist
zum Beispiel bei der Sinus– und Kosinus–Funktion grundsätzlich der Fall. Diese Exception
muss innerhalb der CRUN grundsätzlich gesperrt werden.
Underflow Exception
Tritt bei einer arithmetischen Berechnung ein Underflow auf, so wird mit dem Wert, der eine
verminderte Genauigkeit besitzt weitergerechnet (Denormal oder 0).
Gibt der Anwender diese Exception frei, so muß er für die korrekte Behandlung der
Underflow–Exception sorgen. Dieses wird nicht durch die CRUN unterstützt.
Overflow Exception
Bei einem Overflow (z.B. bei
Coprozessor–Interupt ausgelöst, wenn dieser freigegeben ist.
Bei gesperrter Overflow–Exception wird der für die einzelnen CRUN–Funktionen definierte
Wert zurückgeliefert. Der Coprozessor liefert bei gesperrter Overflow–Exception immer die
jeweilige MASKED RESPONSE (INF) zurück. Die CRUN–Funktionen liefern den durch die
ANSI–Norm spezifizierten Wert HUGE_VAL.
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
aufgerufen, wenn es sich um eine Task handelt, deren Numerik–Flag im TCD
xinitt
Betriebssystem-Eigenschaften von RMOS3
), wird für die Overflow–Exception der entsprechende
exp(3000)
8.9 C-Runtime-Bibliothek CRUN
155
Inhaltsverzeichnis
loading

Inhaltsverzeichnis