Addl指令说明

时间:2015-08-10 09:58:35

标签: assembly

我正在学习汇编语言而且不能自己解决练习。

假设以下值存储在指定的存储器地址和寄存器中:

enter image description here

现在,我们有一条指示:

addl %ecx(%eax)

对于我来说,存储在%ecx中的附加值的平均值存储结果,其值存储在内存地址(%eax)中,位于内存地址(%eax)中。

该练习的正确答案是: 值0x100和目标地址0x100。

据我所知,右操作数是目标地址,但我们是如何通过计算%ecx + (%eax)得到0x100的值?

1 个答案:

答案 0 :(得分:2)

首先,我讨厌AT& T语法,这就是你在这里......除此之外。

EAX包含0x1000x100中包含0xFF个值。

ECX包含0x1

0x1 + 0xFF = 0x100。到目前为止一切都很好。

然后将最终结果放入EAX指向的地址。因此,(0X100) == 0x100

我认为你大部分都在那里。