Crossware

Table of Contents        Previous topic       Next topic       

CROSS ASSEMBLER->Assembler Expressions->Assembler Expressions

Expressions are placed in the operand field and are evaluated by the cross-assembler to give a numerical integer value.  An expression may be used anywhere within the operand field where a numerical value is expected. The expression evaluator within the cross-assembler will use 32 bit integer arithmetic to calculate the value of the expression.

The expression may consist of symbols, numbers, literals and operators. Parentheses may be used to define a particular order of precedence. Parentheses can be nested.

The following operators are allowed:
    
Addition+
Subtraction-
Multiplication*(or !*)
Division/(or !/)
Exponentiation!^
Logical AND!.
Logical OR!+
Logical exclusive-OR!X
Shift right!>
Shift left!<
Rotate right!R
Rotate left!L
These operators take the following precedence:
()

Expressions within parentheses are evaluated first.

* / !^ !. !+ !X !< !> !L !R

Multiply, divide, exponentiation, logical AND, logical OR, logical exclusive-OR, shift left, shift right, rotate left and rotate right are evaluated next.

+ -

Addition and subtraction are evaluated last.

Operators with the same precedence are evaluated from left to right.