相关疑难解决方法(0)

为什么一条指令在汇编中不能包含两个内存引用?

我是汇编语言的初学者.我已经了解到以下指令无效,因为它不能同时具有源和目标作为内存引用.我想知道原因.

movl (%eax) (%ebx)  
Run Code Online (Sandbox Code Playgroud)

x86 assembly

6
推荐指数
1
解决办法
852
查看次数

为什么不允许在内存之间移动?

我想知道这是否允许组装

 movl (%edx) (%eax) 
Run Code Online (Sandbox Code Playgroud)

我猜想它会访问第一个操作数的内存,然后放入第二个操作数的内存,类似* a = * b,但是我没有看到任何处理此类的示例,因此我猜想它是不允许的。另外,有人告诉我这是不允许的

 leal %esi (%edi)
Run Code Online (Sandbox Code Playgroud)

这是为什么?最后,还有其他类似的功能我不应该被禁止。

x86 assembly

3
推荐指数
2
解决办法
574
查看次数

什么x86指令需要两个(或更多)内存操作数?

我以为没有.但是,我在这里看到,

具有两个存储器操作数的指令极为罕见

我找不到任何可以解释什么指令的内容,尽管很少见.有什么例外?

x86 assembly instructions machine-instruction

3
推荐指数
1
解决办法
668
查看次数

标签 统计

assembly ×3

x86 ×3

instructions ×1

machine-instruction ×1