DVD Studio Pro - Skriptoperationen

background image

Skriptoperationen

Für die Steuerung der Verarbeitung von Quell- und Zielelementen stehen 11 Operationen
zur Verfügung. Bei der Verwendung dieser Operationen müssen bestimmte Einschränkun-
gen beachtet werden:

Register haben keine Markierungen (Flags) für Überlauf (Overflow) und Unterlauf
(Underflow).

Versucht das Skript, einen Wert zu speichern, der kleiner als 0 oder größer als 65535 ist,
wird keine Fehlermeldung angezeigt, sondern ein „Umlauf“ (Wraparound) für den Wert
generiert. Wenn Sie beispielsweise 7 von 3 subtrahieren, wäre das Ergebnis normaler-
weise –4. Wenn Sie diese Operation in einem Skript ausführen, wird der Wert 65532
gespeichert. Wenn Sie mithilfe einer Skriptoperation zu 65534 den Wert 6 addieren,
wird anstelle von 65540 der Wert 4 gespeichert.

Es gibt folgende Skriptoperationen:

mov:

Der Quellwert wird in das Zielregister bewegt und überschreibt dabei den

vorhandenen Wert.

swp:

Der Quellwert und der Wert im Zielregister werden getauscht. Der Quellwert

wird in das Zielregister geschrieben und der Wert aus dem Zielregister wird in das
Quellregister geschrieben. Dies ist die einzige Operation, mit der in das Quellregister
geschrieben wird.

add:

Die Werte im Quell- und im Zielregister werden addiert und das Ergebnis

wird in das Zielregister geschrieben.

sub:

Der Quellwert wird vom Wert im Zielregister subtrahiert und das Ergebnis wird

in das Zielregister geschrieben.

mul:

Der Quellwert wird mit dem Wert im Zielregister multipliziert und das Ergebnis

wird in das Zielregister geschrieben.

div:

Der Wert im Zielregister wird durch den Quellwert dividiert und das Ergebnis

wird in das Zielregister geschrieben.

mod:

Der Wert im Zielregister wird durch den Quellwert dividiert und der Restwert

(Modulo) wird in das Zielregister geschrieben.

ran:

Es wird ein Zufallswert zwischen 1 und dem Quellwert generiert und das

Ergebnis wird in das Zielregister geschrieben.

background image

552

Kapitel 14

Erstellen von Skripten

and:

Es wird eine bitweise UND-Operation zwischen den 16 Bits des Quell- und Ziel-

werts durchgeführt und das Ergebnis wird in das Zielregister geschrieben. Gesetzte
Bits (Wert 1) in beiden Werten bleiben gesetzt. Bits, die in einem der Werte nicht
gesetzt sind, werden zurückgesetzt (Wert 0).

or:

Es wird eine bitweise ODER-Operation zwischen den 16 Bits des Quell- und Ziel-

werts durchgeführt und das Ergebnis wird in das Zielregister geschrieben. Gesetzte
Bits (Wert 1) in einem der beiden Werte bleiben gesetzt. Bits, die in beiden Werten
nicht gesetzt sind, werden zurückgesetzt (Wert 0).

xor:

Es wird eine bitweise XOR-Operation (exklusive ODER-Operation) zwischen

den 16 Bits des Quell- und Zielwerts durchgeführt und das Ergebnis wird in das Ziel-
register geschrieben. Bits, die in einem der Werte (aber nicht in beiden) gesetzt sind
(Wert 1), bleiben gesetzt. Bits, die in beiden Werten gesetzt bzw. nicht gesetzt sind,
werden zurückgesetzt (Wert 0).