IF V02.00 - условное выполнение команд в RT-11
Давненько тут ничего не обновлялось.
Обновлена программа IF V02.00.
Код:
IF V02.00
The following conditional checks are supported:
IF [NOT] 11M [cmd] - running under RSX-11M (RTEM)
IF [NOT] DECpro [cmd] - running on a DEC Professional
IF [NOT] EXIsts file [cmd] - file exists
IF [NOT] INItialized dev [cmd] - device has RT-11 file structure
IF [NOT] INStalled dev [cmd] - device handler is installed
IF [NOT] LOAded dev [cmd] - device handler is loaded
IF [NOT] MAPped [cmd] - running under a mapped system
IF [NOT] MPLus [cmd] - running under RSX-11M-PLUS (RTEM)
IF [NOT] MULtiterminal [cmd] - running under a multiterminal system
IF [NOT] POS [cmd] - running under P/OS (RTEM)
IF [NOT] PROtected file [cmd] - file is protected
IF [NOT] RSX[11] [cmd] - running under RSX-11M/M-PLUS or P/OS (RTEM)
IF [NOT] RTEm [cmd] - running under RTEM
IF [NOT] TSX [cmd] - running under TSX
IF [NOT] VMS [cmd] - running under VAX/VMS (RTEM)
Пример использования в стартовом файле.
Проверка есть ли VM, если есть - проверяем проинициализирован ли он под RT-11, если нет - инициализируем.
Назначаем в качестве устройства для рабочих файлов VM если есть.
Перед запуском программы DATE проверяем наличие Ethernet, если есть - подгружаем драйвер перед запуском команды и выгружаем после.
Код:
.TY SY:STRTXM.COM
SET TT QUIET
SET RUN VBGEXE
IF INS VM: IF NOT INI VM: INI/NOQ VM:
IF INI VM: ASS VM0 CF
IF INI VM: ASS VM0 WF
TTSET /INQUIRE/SANE/SL
ECHO
IF INS EQ: LOA EQ:
IF INS EU: LOA EU:
R DATE
IF LOA EQ: UNL EQ:
IF LOA EU: UNL EU:
IF INI DU1: ASSIGN DU1: DK
SET TT NOQUIET
.