OR
ANSI
The OR instruction logically ORs the source with the destination and stores the result over the destination. It uses one of the following formats:
|
|
|
|
|
|
|
|
|
|
Where:
label
Optional. A Program Execution Label.
source1
Required. A previously defined Character String Variable single character Literal decimal constant or equivalent {ctrl} character combined with the {dest} operand.
sep
Required. A comma or one of the following prepositions: BY, TO, OF, FROM, USING, WITH, IN, or INTO.
dest1
Required. A previously defined Character String Variable that is combined with the {source} operand contains the results.
source2
Required. A previously defined INTEGER variable that is combined with the {dest} operand.
dest2
Required. A previously defined INTEGER that is combined with the {source} operand contains the results.
Flags Affected: EOS, ZERO
Note the following:
The {source} remains unchanged.
If {source} is a character string variable, the Form Pointed character is processed against the Form Pointed character in {dest}. That is also where the result is stored.
If {source} is an INTEGER variable, the entire source integer field is processed against the entire destination integer field and the result is placed in {dest}.
If the source or destination is a Null String, the EOS Condition Flag is set.
If the result is zero, the ZERO Condition Flag is set.
The following truth table indicates the results of the operation on each bit:
|
Source |
Dest |
Result |
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
1 |
Any bit in the character may be manipulated (not just those below octal 200 or hex 80).
Enhanced ARRAY processing is supported for the OR instruction.
See Also: Example Code, AND, NOT, TEST, XOR, Character String Instructions
![]() |