4.5 Conditional expressions

----------------------------

Conditional expressions are expressions which when calculated give the

result 'TRUE' or 'FALSE', and are used in 'if' statements and in 'do {}

while', 'while' and 'for' loops.

There are two types of conditional expressions, simple and complex.

Conditions may be logically combined.

4.5.1 Simple conditional expressions

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Simple conditional expressions are a single lexeme or expression

which takes on the value 'TRUE' if the calculated value is different from

zero or 'FALSE' if it is equal to zero.

4.5.2 Complex conditional expressions

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Complex conditional expressions are of the following form:

(left_part operator_relation right_part)

Where:

left_part is any expression of type AL/AX/EAX or constant expression.

The type of expression is determined by the type of the first lexeme

(a register or variable); the default type is 'word' for 16-bit programs

and 'dword' for 32-bit programs. If a different type is desired, precede

the relevant expression with a keyword defining its type: byte, char,

int, long, dword or float.

operator_relation - any one of operators a relations:

==, !=, <>, <, >, <=, or >=.

right_part - any single register, single variable or constant

expression.

Examples of valid complex conditional expressions:

(X + y > z)

(int CX*DX < = 12*3)

(byte first*second+hold == cnumber)

Examples of invalid complex conditional expressions

(x+y >= x-y) // the right part is not a single lexeme or

constant expression.

(Z = y) // improper use of = instead of ==