
15/212
if condition
statement
else if
condition
statement
else
statement
These conditions can be nested. Braces, {}, are used to group statements which are
dependent on a condition. For example, the
cj (conditional jump) instruction contains
the following lines:
if (Areg = 0)
IptrReg
′← next instruction + n
Symbol
Meaning
Integer arithmetic with overflow checking
+
checked
checked
×
checked
Add, subtract, and multiply of signed integers. If the computation overflows an
IntegerOverflow is signalled and the result of the operation is truncated to the
word length.
Unchecked (modulo) integer arithmetic
+
×
/
rem
Integer add, subtract, multiply, divide and remainder. If the computation over-
flo ws the result of the operation is truncated to the word length. If a divide or
remainder by zero occurs the result of the operation is undefined. No errors are
signalled. The operator ‘
’ is also used as a monadic operator. The sign of the
remainder is the same as the sign of the dividend.
Signed comparison operators
<
>
≤
≥
=
≠
Comparisons of signed integer and floating point v alues: ‘less than’, ‘greater
than’, ‘less than or equal’, ‘greater than or equal’, ‘equal’ and ‘not equal’.
Unsigned comparison operators
<
unsigned
>
unsigned
≥
unsigned
after
Comparisons of unsigned integer values: ‘less than’, ‘greater than’, ‘greater than
or equal’, and ‘a(chǎn)fter’ (for comparison of times).
Logical bitwise operations
(or BITNOT)
∧ (or BITAND)
∨ (or BITOR)
(or BITXOR)
>>
<<
‘Not’ (1’s complement), ‘a(chǎn)nd’, ‘or’, ‘exclusive or’, and logical left and right shift
operations on bits in words.
Boolean operators
not
and
or
Boolean combination in conditionals.
Table 1.7 Operators used in the instruction descriptions