Allgemeines
Anwendungsgebiet: | Abfragen und Zugriff zu Listen und Tabellen; siehe "Abfragen und Zugriff zu Listen und Tabellen" |
Makrotyp: | S-Typ, MF-Format 1: (Standardform/E-Form/L-Form); siehe "S-Typ-Makroaufrufe" |
Seit BS2000/OSD-BC V1.0 stehen mit NSIINF und NSIOPT zwei neue Makros zur Verfügung, die die volle Funktionalität des Makros SINF enthalten. Die Funktionalität des SINF wurde auf dem Stand BS2000 V10.0 eingefroren. Für Neuentwicklungen sollten die Makros NSIINF und NSIOPT verwendet werden.
Makrobeschreibung
Der Makro SINF informiert über
CPU: | Seriennummern und Identifikationen der verfügbaren CPUs |
BS2000: | Bezeichnung und Version des Betriebssystems, sowie |
Speicher: | Größe des (physikalischen) Hauptspeichers und Anfangsadresse |
HSI: | HSI-Basistyp |
Server: | Server-Typ (Modellreihe) |
Systemparameter: | Für den nichtprivilegierten Anwender wichtige Systemparameter, |
Die ausgewählte Information wird in ein anzugebendes Feld übertragen. Pro Makroaufruf kann nur eine Information abgefragt werden (siehe Liste am Ende der Operandenbeschreibung).
Makroaufrufformat und Operandenbeschreibung
SINF |
INFO='info' / adr / (r) ,FIELD=adr / (r) ,LENGTH=länge / (r) [,PARMOD=24 / 31] [,MF=(E,..) / L] |
INFO=
bezeichnet die Information, die ausgegeben werden soll.
'info'
info = Kurzbezeichnung der Information. Mögliche Angaben sind der Liste am Ende der Operandenbeschreibung zu entnehmen.
adr
symbolische Adresse eines Feldes, das die Kurzbezeichnung für info enthält. Feldlänge = 8 Byte; Eintrag linksbündig mit nachfolgenden Leerzeichen.
(r)
r = Register mit dem Adresswert adr.
FIELD=
bezeichnet die Adresse des Feldes, in das die Information ausgegeben wird. Feldlänge >= Länge der Information (siehe Liste). Die Information wird linksbündig eingetragen.
adr
symbolische Adresse des Feldes.
(r)
r = Register mit dem Adresswert adr.
LENGTH=
beschreibt die Feldlänge des bei FIELD angegebenen Feldes. Die Länge ist der nachfolgenden Liste zu entnehmen. Bei falscher Längenangabe erfolgt kein Eintrag.
Für Systemparameter des Typs C erfolgt die Ausgabe auch in ein zu kleines Ausgabefeld, wenn vom Inhalt des Systemparameters nur Leerzeichen abgeschnitten werden (siehe z.B. Systemparameter DEFLUID).
länge
Länge in Byte, entsprechend der Liste. Angabe als Dezimalzahl.
(r)
r = Register mit der Angabe länge.
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).
24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).
31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB).
Liste der Informationen, die abgefragt werden können
Bezeichnung | Länge in | Erläuterung der ausgegebenen Werte |
CONFNAME | 8 | Server-Typ (Modellreihe) z.B.: S210-F (im alten Format). Ist der Server- |
CONFNAMX | 21 | |
CPUID | 64 | Identifikationen der CPUs. Die Ausgabe gliedert sich in 8 Elemente von |
CPUSER | 3 | Seriennummer der ersten CPU. |
6 | Byte 0- 2: Seriennummer der ersten CPU. | |
12 | Byte 0- 2: Seriennummer der ersten CPU. | |
HSIBASE | 6 | |
HSILINE | 2 | |
HSITYPE | 4 | Eigenschaften des aktuellen HSI-Typs werden angezeigt. |
HSIVM | 2 | |
MEMSIZE | 4 | Größe des für die Software nutzbaren (physikalischen) Hauptspeichers |
OSAMODE | 2 | informiert über den Adressierungsmodus des Betriebssystems. |
OSID | 12 | Byte 0-7: Programmname des Betriebssystems; z.B. 'BS2V190' . |
SYSBASE | 4 | Anfangsadresse des Betriebssystems im virtuellen Adressraum. |
< | Wert des Systemparameters |
Rückinformation und Fehleranzeigen
Register R1 wird überschrieben.
R15:
+---------------+ | | | | | | | | | | | |a|a| +---------------+
Über die Ausführung des Makros SINF wird im rechtsbündigen Byte des Registers R15 ein Returncode übergeben.
X'aa' | Erläuterung |
X'00' | Der Makroaufruf war erfolgreich. |
X'04' | Ungültige Adresse oder ungültiges Register. Keine Aktion. |
X'08' | Interner REQM-Aufruf nicht ausgeführt. Keine Aktion. |
X'0C' | Ungültige Angabe im Operand INFO. Keine Aktion. |
X'10' | Falsche Längenangabe für das Ausgabefeld. Keine Aktion. |
X'14' | Ein unzulässiger Systemparameter wurde bei INFO angegeben. |
X'18' | Falsches Makroformat angegeben. |