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:

 

(1)

[label]

OR

{source1}{sep}{dest1}

(2)

[label]

OR

{source2}{sep}{dest2}

 

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:

  1. The {source} remains unchanged.

  2. 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.

  3. 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}.

  4. If the source or destination is a Null String, the EOS Condition Flag is set.

  5. If the result is zero, the ZERO Condition Flag is set.

  6. The following truth table indicates the results of the operation on each bit:

  7.  

    Source

    Dest

    Result

    0

    0

    0

    0

    1

    1

    1

    0

    1

    1

    1

    1

     

  8. Any bit in the character may be manipulated (not just those below octal 200 or hex 80).

  9. Enhanced ARRAY processing is supported for the OR instruction.

 

 

See Also: Example Code, AND, NOT, TEST, XOR, Character String Instructions

 



PL/B Language Reference OCCURS PACK