When the **+** operator has two operands of
integral type or
real type it performs addition, according to the
following rules:

First the numeric type conversion rules are applied. After applying the numeric type conversion rules, the operands are either both of integer type, or both of word type or both of real type, or one operand is of address type and the other operand is not.

- If both operands are of integer type then unsigned integer addition is performed, and the result is a value of type integer.
- If both operands are of word type then unsigned integer addition is performed, and the result is a value of type word.
- If both operands are of real type then real (i.e floating point) addition is performed, and the result is a value of type real.
- If one operand is of address type and the other operand is not then unsigned integer addition is performed, and the result is a value of address type.

Here are some examples using the **+** operator to perform addition:

` `**3 + 5** which results in the integer value 8
**3 + 5.0** which results in the real value 8.0
**3.0 + 5** which results in the real value 8.0
**3.0 + 5.0** which results in the real value 8.0