想了好几天都想不明白,由于x86内部总线总线的限制,指令集里不允许双内存操作数,目的操作数只能是存储单元,含寄存器和内存单元,但是push指令是目的操作数隐形的堆栈内存,却支持源操作数为内存单元,是双内存操作数,何解呢?