leal(%eax,%ecx,4), %edx
,因为我是从我的计算机系统的书,读 如果$ EAX包含x值和%ECX含有Y, 那么上面的方法可以去看场地,X + 4Y投入%EDX。装配莱亚尔和MOVL差异
然后,如果它是
movl(%eax,%ecx,4), %edx
,然后isn`t的同一个与上述利尔表达?
据我所知,莱亚尔创建一个可以参考的,而不是由自己喜欢引用MOVL地址,但
,当我看到leal(%eax,%ecx,4), %edx
等于把x+4y
到edx
寄存器,然后 没有按t it mean that it 'referenced'
%EAX and
%ecx`和提取值x和y用于计算?
- doesn't it“()”means'referenced'??
然后我能问你一件事?如果%eax具有不是地址的整数值呢?那么如果它是leal,错误发生?虽然它对movl无关紧要? – Swen
'leal'不知道它是否是一个地址,它只是计算一个值。另一方面,movl会尝试从地址中读取一个值,并会注意它是否无效(不可访问)。 –