bit(3f) — RISC
NAME
bit − and, or, xor, not, rshift, lshift bitwise functions
SYNTAX
(intrinsic) function and (word1, word2) (intrinsic) function or (word1, word2) (intrinsic) function xor (word1, word2) (intrinsic) function not (word) (intrinsic) function rshift (word, nbits) (intrinsic) function lshift (word, nbits)
DESCRIPTION
These bitwise functions are built into the compiler and return the data type of their argument(s). Their arguments must be integer or logical values.
The bitwise combinatorial functions return the bitwise “and” (and), “or” (or), or “exclusive or” (xor) of two operands. A not returns the bitwise complement of its operand.
The lshift, or rshift functions with a negative nbits, is a logical left shift with no end around carry. The rshift or lshift function with a negative nbits, is an arithmetic right shift with sign extension. No test is made for a reasonable value of nbits.
These functions may be used to create a variety of general routines, as in the following statement function definitions:
integer bitset, bitclr, getbit, word, bitnum
bitset( word, bitnum ) = or(word,lshift(1,bitnum))
bitclr( word, bitnum ) = and(word,not(lshift(1,bitnum)))
getbit( word, bitnum ) = and(rshift(word,bitnum),1)
FILES
These functions are generated in-line by the f77 compiler.