Allgemeines
Anwendungsgebiet: | Abfragen und Zugriff zu Listen und Tabellen; siehe "Abfragen und Zugriff zu Listen und Tabellen" |
Makrotyp: | O-Typ; siehe "O-Typ-Makroaufrufe" |
Anwendungsgebiet: Abfragen und Zugriff zu Listen und Tabellen; siehe "Abfragen und Zugriff zu Listen und Tabellen"
Makrotyp: O-Typ; siehe "O-Typ-Makroaufrufe"
Makrobeschreibung
Der Makro IOSID informiert über Kennung (Bezeichnung) und Versionsnummer des Betriebssystems. Die Information wird in die globale Textvariable &IOSID oder in das Register R1 eingetragen. Der Eintrag erfolgt in der Form:
| in &IOSID |
| in Register R1 |
Es bedeuten:
|
|
|
|
Der Eintrag in &IOSID erfolgt während der Assemblierung des Makros und ist von der verwendeten Makrobibliothek abhängig.
Zu globalen Textvariablen (variable Parameter) siehe Handbuch „ASSEMBH“ [2].
Makroaufrufformat und Operandenbeschreibung
IOSID |
[GBLC] |
GBLC
Die Bezeichnung des Betriebssystems wird in die globale Textvariable &IOSID eingetragen.
Angabe ohne Operand
Die Bezeichnung des Betriebssystems und die Versionsnummer werden in das Register R1 eingetragen.
Beispiel
IOSID START PRINT NOGEN * * Definition of macro QUERY * MACRO ----------------------------------------------------------(1) &NAME QUERY GBLC &IOSID &NAME NOP &NAME AIF ('&IOSID'(1,1) EQ '2').BS2 -------------------------------(2) MNOTE 9,'Only BS2000 possible' .BS2 WROUT MESS,ERROR ERROR B END MESS DC Y(ENDM-MESS) DC X'404001' DC C'Operating system BS2000' ENDM EQU * END NOP &NAME MEND * * Program start * BALR 3,0 USING *,3 IOSID ----------------------------------------------------------(3) ST 1,WORD MVC GR1CONT,WORD WROUT GR1OUT,END1 IOSID GBLC -----------------------------------------------------(4) CALLMAC QUERY ----------------------------------------------------------(5) END1 TERM GR1OUT DC Y(GR1END-GR1OUT) DC X'404001' DC C'Reg1: ' GR1CONT DS CL4 GR1END EQU * WORD DS F END
(1) | Zur Auswertung des Inhalts von &IOSID wird der Makro QUERY erstellt:
|
(2) | Die globale Textvariable &IOSID wird abgefragt. |
(3) | Kennung und Version des Betriebssystems sind in Register R1 auszugeben. |
(4) | Die Kennung des Betriebssystems ist in die globale Textvariable &IOSID auszugeben. |
(5) | Aufruf des Makros QUERY. |
Ablaufprotokoll:
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,iosid), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,iosid)) % ASS6011 ASSEMBLY TIME: 336 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 87 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=iosid % BLS0523 ELEMENT 'IOSID', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'IOSID', VERSION ' ' OF '<date> <time>' LOADED Reg1: 2190 --------------------------------------------------------------(6) Operating system BS2000 -------------------------------------------------(7)
(6) | Ausgabe des aufbereiteten Registers R1 nach Aufruf des Makros IOSID ohne Operanden. Es enthält folgende Informationen: Betriebssystem: BS2000 Version: 19.0 |
(7) | Nach Aufruf des Makros IOSID mit dem Operanden GBLC wird das Ergebnis der Auswertung durch den Makro QUERY ausgegeben. |