Условия
Last updated
Last updated
Оператор IF
объединяет одно или несколько условий и создает новое ветвление в коде.
00D6: if <N>
<условие 1>
<условие 2>
...
<условие N+1>
004D: jump_if_false <метка>
N
означает общее кол-во условий внутри выражения IF
и логическую связь между ними:
N
Кол-во условий
Логический оператор
0
1
нет (выражение истинно, если условие в нем истинно)
1..7
2..8
И
(все условия должны быть истинны, чтобы все выражение было истинно)
21..27
2..8
ИЛИ
(хотя бы одно условие должен быть истинно, чтобы все выражение было истинно)
<метка>
- имя , на которую переходит скрипт, если выражение IF
ложно.
<условие>
- любой условный опкод, который возвращает true
или false
Если Проверка условий
включена, после IF
можно писать ключевые слова AND
или OR
. Компилятор будет рассчитывать правильное значение самостоятельно:
В данном примере компилятор запишет вместо and
число 1
.
IF AND
- условия, объединенные логическим оператором И
(замена if 1..7
)
IF OR
- условия, объединенные логическим оператором ИЛИ
(замена if 21..27
)
Для облегчения работы с условными выражениями существуют высокоуровневые конструкции, для которых не нужны дополнительные метки в коде:
IF <N>/AND/OR
<условие 1>
<условие 2>
...
<условие N+1>
THEN
<команды при истинности условия>
END
IF <N>/AND/OR
<условие 1>
<условие 2>
...
<условие N+1>
THEN
<команды при истинности условия>
ELSE
<команды при ложности условия>
END
Выражение IF
завершается ключевым словом END
.
a ==
b - a равно b
a>=
b - a больше либо равно b
a >
b - a больше b
a <
b - a меньше b
a <=
b - a меньше либо равно b
a <>
b - a не равно b
Условное выражение создается по . После ключевого слова THEN
указываются опкоды, которые должны выполняться, если условие истинно. После ELSE
указываются опкоды, которые выполняются, если условие ложно.
Проверка условий
должна быть включена.
a
и b
называются операндами. Компилятор может самостоятельно определить нужный опкод, если один из операндов является числовой константой, или обеих переменных известен.