Dividieren
Der Inhalt des Akkumulators wird durch das Ergebnis des in der Klammer stehenden Ausdrucks dividiert. Das Ergebnis der Operation steht im Akkumulator.
Gültige Operanden für diesen Operator haben folgende Datentypen: (INT, DINT, UINT, UDINT, REAL)
Dieser Operator kann nur in AWL verwendet werden.
Alle Operanden müssen vom gleichen Datentyp sein.
Die gesamte Operation lässt sich wie folgt beschreiben:
var_1 wird in den Akkumulator geladen
® der Inhalt des Akkumulators wird im Stapelspeicher abgelegt
® var_2 wird in den Akkumulator geladen
® var_3 wird zum Akkumulatorinhalt addiert; das Ergebnis dieser Operation wird im Akkumulator gespeichert
® var_1 wird aus dem Stapelspeicher gelöst und durch den Inhalt des Akkumulators geteilt; das Ergebnis dieser Operation wird im Akkumulator gespeichert
® der Inhalt des Akkumulators wird in die Variable var_4 geschrieben. (Die aktuelle Implementierung für ein bestimmtes Zielsystem kann die gesamte Operation auf andere Weise ausführen.)
LD |
var_1 |
(* Lade var_1 in den Akkumulator*) |
(* Klammerausdruck folgt; berechne deshalb zuerst den Ausdruck in Klammern *) |
||
DIV( |
var_2 |
(* Lade var_2 in den Akkumulator*) |
ADD |
var_3 |
(* addiere var_3 *) |
) |
(* dividiere var_1 durch Ergebnis; result wird im Akkumulator gespeichert *) |
|
ST |
var_4 |
(* speichern in var_4 *) |