In Intel architecture IA32, instructions like movl, movw does not allow operands that are both memory locations. For example, instruction movl (%eax), (%edx) is not permitte
RAM supports input and output, but not copying. Therefore a memory-to-memory move would actually be a memory-to-CPU-to-memory move. It would in theory be possible to implement such an instruction, but it probably wasn't because it wouldn't be very practical.
Here are some of the things that would need to be considered to implement such an instruction:
What temporary storage location do we use? A register?
If we use a register, which one do we hijack?
Not providing such an instruction leaves the above questions up to the programmer.