code: def register_write_multiple(self, register_indices, values):
          
          if len(register_indices) != len(values):
              raise ValueError('Must be an equal number of registers and values')
  
          num_regs = len(register_indices)
          buf = (ctypes.c_uint32 * num_regs)(*register_indices)
          data = (ctypes.c_uint32 * num_regs)(*values)
  
          # TODO: For some reason, these statuses are wonky, not sure why, might
          # be bad documentation, but they cannot be trusted at all.
          statuses = (ctypes.c_uint8 * num_regs)(0)
  
          res = self._dll.JLINKARM_WriteRegs(buf, data, statuses, num_regs)
          if res != 0:
              raise errors.JLinkException(res)
  
          return None
docs: Writes to multiple CPU registers.
  
          Writes the values to the given registers in order.  There must be a
          one-to-one correspondence between the values and the registers
          specified.
  
          Args:
            self (JLink): the ``JLink`` instance
            register_indices (list): list of registers to write to
            values (list): list of values to write to the registers
  
          Returns:
            ``None``
  
          Raises:
            ValueError: if ``len(register_indices) != len(values)``
            JLinkException: if a register could not be written to or on error