The Find First Clear or Set Bit routines search the field specified by the start position, size, and base for the first clear or set bit. LIB$FFC and LIB$FFS make the VAX FFC and VAX FFS instructions available as callable routines. Format LIB$FFC position ,size ,base ,find-position LIB$FFS position ,size ,base ,find-position
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
position OpenVMS usage:longword_signed type: longword integer (signed) access: read only mechanism: by reference Starting position, relative to the base address, of the bit field to be searched by LIB$FFx. The position argument is the address of a signed longword integer containing the starting position. size OpenVMS usage:byte_unsigned type: byte (unsigned) access: read only mechanism: by reference Number of bits to be searched by LIB$FFx. The size argument is the address of an unsigned byte containing the size of the bit field to be searched. The maximum size is 32 bits. base OpenVMS usage:address type: longword (unsigned) access: read only mechanism: by reference The base argument is the address of the bit field that LIB$FFx searches. find-position OpenVMS usage:longword_signed type: longword integer (signed) access: write only mechanism: by reference Bit position of the first bit in the specified state (clear or set), relative to the base address. The find-position argument is the address of a signed longword integer into which LIB$FFC writes the position of the first clear bit and into which LIB$FFS writes the position of the first set bit.