code: def next_bit_address(self):
          
          if self._current_bit_address == "":
              if self._is_16bit:
                  return "{0}.{1}".format(
                      self.next_address(),
                      "00")
              return "{0}.{1}".format(
                  self.next_address(),
                  "0")
          if self._is_16bit:
              bool_half = int(self._current_bit_address.split(".")[1])
              if bool_half < 4:
                  register_half = self._current_bit_address.split(".")[0]
                  return "{0}.{1}".format(
                      register_half,
                      pad_zeroes(str(bool_half + 1), 2))
              self.move_to_next_address(self._size_of_current_register_address)
              return "{0}.{1}".format(
                  self.next_address(),
                  "00")
          bool_half = int(self._current_bit_address.split(".")[1])
          if bool_half < 3:
              register_half = self._current_bit_address.split(".")[0]
              return "{0}.{1}".format(
                  register_half,
                  bool_half + 1)
          self.move_to_next_address(self._size_of_current_register_address)
          return "{0}.{1}".format(
              self.next_address(),
              "0")
docs: Gets the next boolean address