leal(%eax,%ecx,4), %edx
正如我从我的计算机系统书籍中阅读的那样,如果假设 $eax 包含 x 值并且 %ecx 包含 y,那么上面的意思是,x+4y 放入 %edx。
那么如果是
movl(%eax,%ecx,4), %edx
,那么上面的表情不就是同一个吗?
据我所知, leal 创建可以引用的地址,而不是像 movl 那样自己引用,但是
当我看到leal(%eax,%ecx,4), %edx
将等于放入x+4y
寄存器edx
时,t it mean that it 'referenced'
%eax and
%ecx` 并提取值 x 和 y 用于计算?
- 不是“()”表示“引用”吗?