# OR

Jump to navigation
Jump to search
The results of the bitwise logical operations, where
This allows relational tests to be inverted and combined using the bitwise logical operations.

The OR numerical operator returns a comparative bit value of 1 if either value's bit is on.

## Syntax

*result*= firstValue OR secondValue

## Description

- If both bits are off, it returns 0.
- If one or both bits are on then it returns 1.
- OR never turns off a bit and can be used only to turn a bit on.

*A*and

*B*are operands, and

*T*and

*F*indicate that a bit is set or not set:

Operands Operations A B `NOT B``A AND B``A OR B``A XOR B``A EQV B``A IMP B`T T F T T F T T T F T F T T F F F T F F T T F T F F T F F F T T

**Relational Operations return negative one (-1, all bits set) and zero (0, no bits set) for**

*true*and*false*, respectively.

## Examples

*Example 1:* OR always turns bits on! Never off.

* *
a% = 5 ' 101 binary
b% = 4 ' 100 binary
results% = a% OR b% ' still 101 binary using OR
PRINT "Results% ="; results% * *

Results% = 5

*Example 2:* Turning a data register bit on.

* *
address% = 888 'parallel port data register
bytevalue% = INP(address%)
OUT address%, bytevalue% OR 4 * *

*Explanation:*The third register bit is only turned on if it was off. This ensures that a bit is set. OR could set more bits on with a sum of bit values such as: OUT address%, 7 would turn the first, second and third bits on. 1 + 2 + 4 = 7

## See also

*Navigation:*