BCD–Rechenbefehle
Vorsicht
!
Beispiel
00002
436
EQ:
Auf EIN gesetzt, wenn das Ergebnis 0 ist.
Vor der Ausführung des SUB(31)–Befehls muss in jedem Fall der Übertrags-
merker mit dem CLC(41)–Befehl gelöscht werden, falls der vorherige Zustand
nicht benötigt wird. Überprüfen Sie den Zustand von CY nach einer Subtraktion
mit SUB(31). Wird CY infolge der Ausführung von SUB(31) (d.h. wenn das Er-
gebnis negativ ist) auf EIN gesetzt, wird das Ergebnis als Zehner–Komplement
ausgegeben. Um das Ausgabeergebnis in den echten Wert zu konvertieren,
subtrahieren Sie den Wert in R von 0.
Ist 00002 auf EIN gesetzt, wird im folgenden Netzwerk CY gelöscht, der Inhalt
von DM 0100 und CY vom Inhalt von 201 subtrahiert und das Ergebnis in HR 10
abgelegt.
Wird CY durch SUB(31) gesetzt, wird das Ergebnis in HR10 von Null subtrahiert
(um ein genaues Ergebnis zu erhalten, wird CLC(41) wieder benötigt), das Er-
gebnis wieder in HR10 abgelegt und HR1100 wird zur Anzeige eines negativen
Ergebnisses auf EIN gesetzt.
Wird CY nicht durch SUB(31) gesetzt, ist das Ergebnis positiv, die zweite Sub-
traktion wird nicht durchgeführt und HR1100 nicht auf EIN gesetzt. HR1100 wird
als Selbsthaltung programmiert, so daß eine Zustandsänderung von CY ihn bei
einem erneuten Programmdurchlauf nicht auf AUS setzt.
In diesem Beispiel wird der Befehl SUB(31) mit flankengesteuerter Ausführung
verwendet, somit wird die Subtraktion nur einmal ausgeführt, wenn 00002 auf
EIN gesetzt wird. Soll eine weitere Subtraktion durchgeführt werden, muss
00002 für mindestens einen Zyklus (Rücksetzung von HR 1100) auf AUS und
dann wieder auf EIN gesetzt werden.
TR 0
25504
25504
HR 1100
Abschnitt
CLC(41)
@SUB(31)
Erste
Subtrak-
201
tion
DM 0100
HR 10
CLC(41)
@SUB(31)
Zweite
Subtrak-
#0000
tion
HR 10
HR 10
HR 1100
Auf EIN gesetzt, um ein
negatives Ergebnis anzu-
zeigen
7-21