code: def add(self, count, request, data, dap_index):
          
          assert self._data_encoded is False
          if self._dap_index is None:
              self._dap_index = dap_index
          assert self._dap_index == dap_index
  
          if self._block_request is None:
              self._block_request = request
          elif request != self._block_request:
              self._block_allowed = False
          assert not self._block_allowed or self._block_request == request
  
          if request & READ:
              self._read_count += count
          else:
              self._write_count += count
          self._data.append((count, request, data))
  
          if LOG_PACKET_BUILDS:
              self._logger.debug("add(%d, %02x:%s) -> [wc=%d, rc=%d, ba=%d]" %
                  (count, request, 'r' if (request & READ) else 'w', self._write_count, self._read_count, self._block_allowed))
docs: Add a single or block register transfer operation to this command