General
Application area: | Requesting and accessing lists and tables; see "Requesting and accessing lists and tables" |
Macro type: | Type O; see "O-type macros" |
Macro description
The IOSID macro supplies the ID and version number of the operating system. The information is entered in the global text variable &IOSID or in register R1. The entry has one of the following formats:
| in &IOSID |
| in register R1 |
where:
|
|
|
|
The entry in &IOSID is made during macro assembly and depends on the macro library in use.
For information on global text variables (variable parameters), see the “ASSEMBH” manual [2 (Related publications)].
Macro format and description of operands
IOSID |
[GBLC] |
GBLC
Transfers the operating system ID to the global text variable &IOSID.
without operand
The operating system ID and the version number are transferred to register R1.
Example
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) | The QUERY macro is generated to analyze the contents of &IOSID:
|
(2) | The global text variable &IOSID is requested. |
(3) | Operating system ID and version are to be output in register R1. |
(4) | The operating system ID is to be output to the global text variable &IOSID. |
(5) | Call the QUERY macro. |
Runtime log:
/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) | Output of the edited register R1 after calling the macro IOSID without operands. The following information is contained: Operating system: BS2000Version: 19.0 |
(7) | After calling the macro IOSID with the GBLC operand, the result of the evaluation from the QUERY will be output. |