mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 10:15:09 +00:00
47 lines
1.2 KiB
Text
47 lines
1.2 KiB
Text
The [[OR]] numerical operator returns a comparative bit value of 1 if either value's bit is on.
|
|
|
|
|
|
{{PageSyntax}}
|
|
: {{Parameter|result}} = firstValue [[OR]] secondValue
|
|
|
|
|
|
|
|
{{PageDescription}}
|
|
* 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.
|
|
|
|
|
|
{{Template:LogicalTruthTable}}
|
|
|
|
|
|
{{PageExamples}}
|
|
''Example 1:'' OR always turns bits on! Never off.
|
|
{{CodeStart}} '' ''
|
|
a% = 5 ' 101 binary
|
|
b% = 4 ' 100 binary
|
|
results% = a% {{Cl|OR}} b% ' still 101 binary using OR
|
|
{{Cl|PRINT}} "Results% ="; results% '' ''
|
|
{{CodeEnd}}
|
|
{{OutputStart}}
|
|
Results% = 5
|
|
{{OutputEnd}}
|
|
|
|
|
|
''Example 2:'' Turning a data register bit on.
|
|
{{CodeStart}} '' ''
|
|
address% = 888 'parallel port data register
|
|
bytevalue% = {{Cl|INP}}(address%)
|
|
{{Cl|OUT}} address%, bytevalue% {{Cl|OR}} 4 '' ''
|
|
{{CodeEnd}}
|
|
|
|
:''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
|
|
|
|
|
|
{{PageSeeAlso}}
|
|
* [[AND]], [[XOR]]
|
|
* [[AND (boolean)]], [[OR (boolean)]]
|
|
* [[Binary]], [[Boolean]]
|
|
|
|
|
|
{{PageNavigation}}
|