Вложений: 1
IF V01.00 - условное выполнение команд
Простенькая утилитка для создания универсальных командных файлов RT-11 (в условиях когда IND недоступен/неудобен).
Позволяет выполнять команды при определенных условиях.
Программа работает только в RT-11 V5.02 и новее (и совместимых).
Код:
IF [NOT] DECpro [cmd]
- проверяет что система запущена на DEC Professional
IF [NOT] EXIsts file [cmd]
- проверяет что файл существует
IF [NOT] INItialized dev [cmd]
- проверяет что устройство инициализировано под RT-11 (проверяется только home block,
соответственно то, что инициализировано кривыми прогами вроде FLX не будет распознано)
IF [NOT] INStalled dev [cmd]
- проверяет что драйвер установлен
IF [NOT] LOAded dev [cmd]
- проверяет что драйвер загружен
IF [NOT] MAPped [cmd]
- проверяет что система поддерживает управление памятью
IF [NOT] MULtiterminal [cmd]
- проверяет что система многотерминальная
IF [NOT] PROtected file [cmd]
- проверяет что файл защищен от удаления
IF [NOT] RSTs [cmd]
- проверяет что система - RSTS/E (на самом деле последний вариант RSTS/E совместим
максимум с RT-11 V3, так что вряд-ли эта проверка сработает когда-либо)
IF [NOT] RTEm [cmd]
- проверяет что система - RTEM-11
IF [NOT] TSX [cmd]
- проверяет что система - TSX-Plus
Сильно не заморачивался, сделал несколько проверок на которые натыкаюсь когда перетаскиваю рабочие системы с места на место без изменений.
Все ключевые слова можно сокращать до трех букв.
Если команда не указана - просто печатается сообщение в случае совпадения условия.
Код:
RT-11XM (S) V05.07
.IF INS VM: IF NOT INI VM: INI VM:/NOQ
.IF INS VM: ASS VM0: CF
.IF INS VM: ASS VM0: WF
.IF INI DU4: ASS DU4: DK
.R TTSET /SL
.IF INS EQ: LOA EQ:
.R DATE
?DATE-I-Time source: 70-71-BC-50-EB-D0, OpenBSD 6.7 amd64
?DATE-I-Date & time: 24-MAY-2020 13:03:19
.IF LOA EQ: UNL EQ:
.
Команд для выполнения может быть несколько (разделяются через \):
Код:
.IF MULTITERM SET XL MTTY\SET XL LINE=1