Nächste Seite: Prozessor Trap #xxx Aufwärts: Fehlermeldungen des Laufzeitsystems Vorherige Seite: Bereichsfehler

### Überlauf

Ist das Resultat einer Rechenoperation grösser als es der Maximalwert der beteiligten Typen erlaubt, so tritt Überlauf ein. Die entsprechende Unterschreitung des Minimalwerts wird Unterlauf genannt. Auf Prozessorebene wird Überlauf und Unterlauf hingegen nicht unterschieden, weshalb hier Überlauf auch Unterlauf beinhalten soll.

Üblicherweise wird mit der `TRAPV`-Anweisung auf Überlauf geprüft. Dies ist aber bei einer 16 Bit Multiplikation nicht möglich. Die Überlaufsprüfung erfolgt hier durch eine explizite Prüfung. Im Fehlerfall erfolgt ein Aufruf der Instruktion `TRAP #15`. Im Requester wird angegeben, ob `TRAPV` oder `TRAP #15` ausgeführt wurde.

Auf den Prozessoren ab MC68020 steht eine Instruktion `TRAPcc` 5.13 zur Verfügung, welche für eine Bedingung direkt eine TRAP-Instruktion ausführt. Dadurch werden keine Instruktionen `TRAP #13`, `TRAP #14` und `TRAP #15` benutzt. Logischerweise erscheinen die beschriebenen Requester dann auch nicht. Stattdessen erscheint die Fehlermeldung des Überlaufs, da `TRAPcc` nur die allgemeinere Form der `TRAPV`-Instruktion ist. Dies bedeutet aber, dass ab MC68020 dieser Fehler für Zugriff auf `NIL`-Zeiger, Bereichsfehler, Überlauf und Unterlauf auftritt. Diesem Nachteil des Informationsverlustes steht der Vorteil des kürzeren und schnelleren Codes gegenüber.