The expression evaluator will accept numeric values in a decimal, hexadecimal, binary and octal notation. These are indicated thus:
nnnnnnY
The base suffix may be in upper or lower case.
The default base when a suffix is omitted is hexadecimal.
The following represent the same number, expressed in each of the permissible forms:
31 31t 1fh 37o 37q 10001111y
Arithmetic expressions are of three types:
Absolute
Absolute expressions may be formed from numeric values using arithmetic binary and unary operators and in-built functions together with parentheses (), to influence evaluation order.
Boolean expression may be formed from arithmetic expressions using boolean binary and unary operators together with parentheses (), to influence evaluation order.
Boolean expressions me be used as absolute values in arithmetic expressions. Whereupon TRUE assumes the value 1 and FALSE 0.
Address expressions are be formed from absolute expressions using addressing separators.
Note:
The expression evaluator allows arithmetic values to be expressed in hexadecimal. A potential conflict may occur where symbol names exist that begin with letters: a - f. For example, a linear address expressed as %fe1234 may be rejected with the message:
Invalid expression
where a symbol f or fe is defined. To avoid this conflict prefix the hexadecimal numeric value with a zero, thus:
%0fe1234
If the same error message persists then the address refers to either paged out or unallocated virtual memory.