我是汇编语言的初学者.我已经了解到以下指令无效,因为它不能同时具有源和目标作为内存引用.我想知道原因.
movl (%eax) (%ebx)
Run Code Online (Sandbox Code Playgroud) 我想知道这是否允许组装
movl (%edx) (%eax)
Run Code Online (Sandbox Code Playgroud)
我猜想它会访问第一个操作数的内存,然后放入第二个操作数的内存,类似* a = * b,但是我没有看到任何处理此类的示例,因此我猜想它是不允许的。另外,有人告诉我这是不允许的
leal %esi (%edi)
Run Code Online (Sandbox Code Playgroud)
这是为什么?最后,还有其他类似的功能我不应该被禁止。