Operator precedence order The following table lists the operators Turbo Assembler provides and their precedences in order of priority (highest is first, lowest is last). Ideal mode operator precedence 1. (), [], LENGTH, MASK, OFFSET, SEG, SIZE, WIDTH 2. HIGH, LOW 3. +, - (unary) 4. *, /, MOD, SHL, SHR 5. +, - (binary) 6. EQ, GE, GT, LE, LT, NE 7. NOT 8. AND 9. OR, XOR 10. : (segment override) 11. . (structure member selector) 12. HIGH (before pointer), LARGE, LOW (before pointer), PTR, SHORT, SMALL, SYMTYPE MASM mode operator precedence 1. <>, (), [], LENGTH, MASK, SIZE, WIDTH 2. . (structure member selector) 3. HIGH, LOW 4. +, - (unary) 5. : (segment override) 6. OFFSET, PTR, SEG, THIS, TYPE 7. *, /, MOD, SHL, SHR 8. +, - (binary) 9. EQ, GE, GT, LE, LT, NE 10. NOT 11. AND 12. OR, XOR 13. LARGE, SHORT, SMALL, .TYPE ────────────────────────────────────────────────────────────────────────── Operator precedence determines the order in which the terms of an expression will be evaluated. Operators with the highest precedence will be evaluated before operators with lower precedence. Notes: Operators on the same line have equal precedence. Operators of equal precedence are evaluated from left to right. Operations in parentheses are performed first.