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 |

Expressions within parentheses are evaluated first.

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.