Para alterar el bit de una palabra, dependerá del estado actual del bit que se quiera cambiar:

Si está a “1″ y lo queremos poner a “0″, se multiplica la posición de bit por 0 (AND)

Si está a “0″ y lo queremos poner a “1″, se suma 1 a la posición de bit (OR)

La función quedaría:

INT FUNCTION EscribeBit(INT Valor, INT NumBit, INT EstadoBit)
IF EstadoBit = FALSE THEN  RETURN Valor BITAND (4294967295 BITXOR Pow(2, NumBit));
ELSE   RETURN Valor BITOR Pow(2, Numbit);
END
END