<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def memory_write64(self, addr, data, zone=None):
 """Writes long words to memory of a target system. Note: This is little-endian. Args: self (JLink):
 the ``JLink`` instance addr (int):
 start address to write to data (list):
 list of long words to write zone (str):
 optional memory zone to access Returns: Number of long words written to target. Raises: JLinkException: on memory access error. """

        words = []
        bitmask = 0xFFFFFFFF
        for long_word in data:
            words.append(long_word & bitmask)          # Last 32-bits
            words.append((long_word >> 32) & bitmask)  # First 32-bits
        return self.memory_write32(addr, words, zone=zone)