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 SETUS kann der Anwender die Benutzerschalter, die seiner Benutzerkennung zugeordnet sind, ein- und ausschalten oder invertieren.
Makroaufrufformat und Operandenbeschreibung
SETUS |
[{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 Benutzerschalters, 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 Benutzerschalter 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 SETUS wird im rechtsbündigen Byte des Registers R15 ein Returncode über-geben.
X'aa' | Erläuterung |
X'00' | Die gewünschte Schalteränderung wurde ausgeführt. |
X'04' | 1. Falsche Operandenangabe. Die Schalteränderung wurde nicht ausgeführt. |
X'20' | Interner Fehler. |