Instruction sets require bit patterns to be used to encode instructions. You could have bit patterns for every conceivable instruction, but then the processor would not be practical to build. Therefore, processor developers limit the variety (and therefore often style) of instructions to simplify the design of the processor.
A common theme in processor design is that instructions work in one register and one memory location. Two operands mean that this style can load memory for registration, store a register in memory, and many common binary operations, such as adding memory for registration, comparing a register into memory, etc. This topic in practice works so well that little is needed for instructions that work with several memory cells, and its regularity makes the "central" part of processor processing easier to implement. The specified movl instruction is suitable for this topic, so there is only one memory operand.
So, the real answer is that winning for such an instruction does not justify the technique.
Most processor designs have now been around for over 20 years, and transistors are now relatively cheap. As a result, instruction sets for almost all of these machines have become more complex, often including some instructions relating to several memory operands. But these instructions are an exception, not a rule.
source share