Register
Typ-Umwandlungen
SYSTEM-90E V-04.53 (Juli 2003)
Bei den Anweisungen ist es möglich, als Operanden unterschiedliche Daten-Typen zu verwenden.
Man kann beispielsweise 2 Positionen subtrahieren, diese durch eine Zeit dividieren und das
Ergebnis als Geschwindigkeit verwenden.
Werden innerhalb einer Anweisung Operanden unterschiedlichen Typs angewendet, so richtet sich
die Operation immer nach dem Typ des Ziel-Operanden, wobei die Operation selbst auch mit dem
Typ des Ziel-Operanden durchgeführt wird. Hierzu wird der Quell-Operand in den Typ des Ziel-
Operanden umgewandelt, wobei so vorgegangen wird, dass das Ergebnis der Umwandlung dem
Quell-Operanden möglichst nahe kommt, es wird also gerundet und nicht nur abgeschnitten.
Bei Typ-Umwandlungen ist es wichtig zu wissen, dass diese einen erhöhten Rechenzeitbedarf
haben. Es sollte daher bei der Programmierung darauf geachtet werden, dass möglichst wenig Typ-
Umwandlungen verwendet werden.
Grundsätzlich gibt es 4 Typ-Kategorien:
Bit
einzelne Merker, Ausgänge und Eingänge
Bitgruppe
gebildet aus Merkern, Ausgängen oder Eingängen
Ganzzahlig
Integer-Register
Gebrochen
Positions-, Geschwindigkeits-, Beschleunigungs-, Zeit- und Float-Register
Wie die Umwandlung bei unterschiedlichen Ziel- und Quell-Operanden durchgeführt wird, ist der
folgenden Tabelle zu entnehmen.
Ziel-Operand
Quell-Operand
Bit
Bitgruppe
Sind alle Bits der Bitgruppe gleich 0, so wird 0 geliefert. Ansonsten wird 1
geliefert.
Ganzzahlig
Ist der Quell-Operand gleich 0, so wird 0 geliefert. Ansonsten wird 1
geliefert.
Gebrochen
Ist der Quell-Operand gleich 0, so wird 0 geliefert. Ansonsten wird 1
geliefert.
Bitgruppe
Bit
Ist das Bit gleich 0, so werden alle Bits der Bitgruppe auf 0 gesetzt. Ist das
Bit gleich 1, so wird normalerweise der Wert 1 geliefert. Bei Verknüpfun-
gen (AND, ANDN, OR, ORN, XOR und XORN) werden alle Bits der Bit-
gruppe auf 1 gesetzt.
Ganzzahlig
Der ganzzahlige Wert wird auf die Größe der Bitgruppe abgeschnitten.
Dieses Abschneiden ist unabhängig vom Vorzeichen.
Gebrochen
Der gebrochene Wert wird in einen ganzzahligen Wert umgewandelt,
wobei gerundet wird. Anschließend wird dieser auf die Größe der Bit-
gruppe abgeschnitten. Dieses Abschneiden ist unabhängig vom Vorzei-
chen.
Typ-Umwandlungen
39