Binary and Unary Operators

Following, in descending order of precedence, are the binary operators that can be used in commands:

Operator Meaning
( ) Parentheses
: Address binder
* Multiplication
/ Integer division
MOD Modulus (remainder)
+ Addition
Subtraction
> Greater-than relational operator
< Less-than relational operator
>= Greater-than/equal-to relational operator
<= Less-than/equal-to relational operator
== Equal-to relational operator
!= Not-equal-to relational operator
AND Bitwise Boolean AND
XOR Bitwise Boolean exclusive OR
OR Bitwise Boolean OR
&& Logical AND
|| Logical OR

Following, in descending order of precedence, are the unary operators that can be used in commands:

Operator Meaning
&(seg) Address of segment value
#(sel) Address of selector value
%%(phy) Address as a physical value
%(lin) Address as a linear value
Two's complement
! Logical NOT operator
NOT One's complement
SEG Segment address of operand
OFF Address offset of operand
BY Low-order byte from given address
WO Low-order word from given address
DW Doubleword from given address
POI Pointer (four bytes) from given address — this operator works only with 16:16 addresses
PORT One (1) byte from given port
WPORT Word from given port