Download 1 Einleitung
Transcript
MD, MDR, ME, MER, MXD, MXDR, MXR Gleitpunktbefehle Mantisse und Vorzeichen sind korrekt, aber die Charakteristik des Ergebnisses ist um 128 zu groß; andernfalls erfolgt keine Programmunterbrechung und als Endergebnis ist eine echte Null erzeugt. Bei MDXR, MXD und MXR wird kein Exponenten-Unterlauf erkannt, wenn nur der untere Teil unterläuft. Das Vorzeichen des Endergebnisses wird nach den üblichen algebraischen Regeln ermittelt; eine echte Null hat jedoch immer ein positives Vorzeichen. Anzeige Nicht verändert. Programmunterbrechungen Art Gewicht Ursachen Adreßumsetzungsfehler X’48’ Adreßfehler X’5C’ Exponenten-Überlauf Exponenten-Unterlauf X’64’ X’70’ ME, MD, MXD: Lesezugriff auf Operand2 unmöglich falsche Gleitpunktregisterangabe oder D2(X2,B2) keine (Doppel-)Wortgrenze Produkt-Charakteristik > 127 Produkt-Charakteristik < 0 Programmierhinweise Die Vertauschung von Multiplikand und Multiplikator verändert in keinem Falle das Ergebnis. Bei MER und ME werden für die Mantissenmultiplikation die rechten 32 Bit der verwendeten Gleitpunktregister ignoriert. Allerdings werden die rechten 32 Bit von R1 bei diesen Befehlen durch das Produkt überschrieben. Bei MXDR und MXD wird der Inhalt des Gleitpunktregisters R1+2 für die Mantissenmultiplikation ignoriert. Sein Inhalt wird aber durch den unteren Teil des Produkts überschrieben. Bei MXDR wird auch der Inhalt des Gleitpunktregisters R2+2 ignoriert. Durch das BS2000 wird das Maskenbit für Exponenten-Unterlauf in der Programmaske mit 1 vorbesetzt, so daß unter den oben beschriebenen Bedingungen eine Programmunterbrechung erfolgt. Mit dem Befehl SPM kann das Anwenderprogramm jedoch die Vorbesetzung ändern. R2 darf =R1 sein. Bei den Befehlen MER, ME, MXDR und MXD ist das Ergebnis exakt, bei MDR, MD und MXR können rechtsstehende Sedezimalziffern durch Abschneiden verloren gehen. 250 U3119-J-Z125-2