VMS Help  —  RTL Routines, LIB$  LIB$BBSSI
    The Test and Set Bit with Interlock routine tests and sets a
    selected bit under memory interlock. LIB$BBSSI makes the VAX
    BBSSI instruction available as a callable routine.

    Format

      LIB$BBSSI  position ,bit-zero-address

1  –  Returns

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

    The state of the bit before it was set by LIB$BBSSI: 1 if it was
    previously set, and 0 if it was previously clear.

2  –  Arguments

 position

    OpenVMS usage:longword_signed
    type:         longword integer (signed)
    access:       read only
    mechanism:    by reference

    Bit position, relative to bit-zero-address, of the bit that
    LIB$BBSSI tests and sets. The position argument is the address
    of a signed longword integer containing the bit position. A
    position of zero denotes the low-order bit of the byte base. The
    bit position is equal to the offset of the bit chosen from the
    base position. This offset may span the entire range of a signed
    longword integer; negative offsets access bits in lower addressed
    bytes.

 bit-zero-address

    OpenVMS usage:unspecified
    type:         address
    access:       read only
    mechanism:    by value

    Address of the byte containing bit 0 of the field that LIB$BBSSI
    references. The bit-zero-address argument is the location of the
    base position. The bit that LIB$BBSSI tests and sets is position
    bits offset from the low bit of bit-zero-address.
Close Help