The operation you describe is what we call Port-wise
(OneChannelForAllLines), which has the benefit of being the most efficient way
to update multiple lines (bits) in parallel, but does come with the burden that
you have to maintain the value of bits you previously wrote out. Instead you can use what we call Bit-wise
(OneChannelForEachLine), to control each line (bit) independently. ULx
then takes care of maintaining the values of the other bits that are physically
in the same hardware port.