Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SETSW - Auftragsschalter verändern

&pagelevel(4)&pagelevel

Allgemeines

Anwendungsgebiet:

Benutzer- und Auftragsschalter; siehe "Benutzer- und Auftragsschalter"

Makrotyp:

R-Typ;

siehe "R-Typ-Makroaufrufe"


  • Seit BS2000/OSD-BC V1.0 steht der neue Makro SWITCH zur Verfügung, der die Funktionalitäten der Makros GETSW, GETUS, SETSW und SETUS vereinigt.

Makrobeschreibung

Mit dem Makro SETSW kann der Anwender die 32 Auftragsschalter, die seinem Auftrag zugeordnet sind, einschalten, ausschalten oder invertieren.

Makroaufrufformat und Operandenbeschreibung

SETSW

[{ON=(nr,...,nr) / OFF=(nr,...,nr) / INVERT=(nr,...,nr)}]

ON=(...)
Die angegebenen Schalter werden eingeschaltet.

OFF=(...)
Die angegebenen Schalter werden ausgeschaltet.

INVERT=(...)
Die angegebenen Schalter werden eingeschaltet, wenn sie ausgeschaltet und ausgeschaltet, wenn sie eingeschaltet waren.

nr
Nummer eines Auftragsschalters, der verändert werden soll. Die Schalter sind von 0 bis 31 durchnummeriert.
Es können mehrere Schalter in beliebiger Reihenfolge oder auch als Bereich (z.B. 3-8) angegeben werden.

Makroaufruf ohne Operanden

Statt der Operandenangabe kann die gewünschte Schalterstellung aller Auftragsschalter in Register R0 angegeben werden. Die Schalter sind in aufsteigender Reihenfolge den Bits des Registers R0 (von rechts nach links) zugeordnet:

Bit 2 (0)  -->  Schalter 0
Bit 2 (1)  -->  Schalter 1
   :              :
   :              :
Bit 2 (31) -->  Schalter 31

Es gilt:
Bit 2n = 0: Schalter n ausgeschaltet
Bit 2n = 1: Schalter n eingeschaltet
0 <= n <= 31

Rückinformation und Fehleranzeigen

R15:

+---------------+
|   |   |   |   |
|0|0|0|0|0|0|a|a|
+---------------+

Über die Ausführung des Makros SETSW wird im rechtsbündigen Byte des Registers R15 ein Returncode übergeben.

X'aa'

Erläuterung

X'00'

Die gewünschte Schalteränderung wurde ausgeführt.

X'04'

Falsche Operandenangabe. Die Schalteränderung wurde nicht ausgeführt.

X20'

Interner Fehler.