From QB64 Wiki
The OR numerical operator returns a comparative bit value of 1 if either value's bit is on.
- result = firstValue OR secondValue
- 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.
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
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.
- 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