code: def move_out(library, session, space, offset, length, data, width, extended=False):
      
      if width == 8:
          return move_out_8(library, session, space, offset, length, data, extended)
      elif width == 16:
          return move_out_16(library, session, space, offset, length, data, extended)
      elif width == 32:
          return move_out_32(library, session, space, offset, length, data, extended)
      elif width == 64:
          return move_out_64(library, session, space, offset, length, data, extended)
  
      raise ValueError('%s is not a valid size. Valid values are 8, 16, 32 or 64' % width)
docs: Moves a block of data from local memory to the specified address space and offset.
  
      Corresponds to viMoveOut* functions of the VISA library.
  
      :param library: the visa library wrapped by ctypes.
      :param session: Unique logical identifier to a session.
      :param space: Specifies the address space. (Constants.*SPACE*)
      :param offset: Offset (in bytes) of the address or register from which to read.
      :param length: Number of elements to transfer, where the data width of the elements to transfer
                     is identical to the source data width.
      :param data: Data to write to bus.
      :param width: Number of bits to read per element.
      :param extended: Use 64 bits offset independent of the platform.
      :return: return value of the library call.
      :rtype: :class:`pyvisa.constants.StatusCode`