lea (%edx,%eax,1),%eax
有人知道(%edx,%eax,1)
的用法吗?
答案 0 :(得分:1)
(%edx,%eax,1)
是对应于edx + eax * 1
换句话说,指令为lea
,这只是一个等同于eax += edx
的加法语句
答案 1 :(得分:0)
看看GAS address operand syntax,它似乎就是你要找的东西。
答案 2 :(得分:0)
lea指令(Load Effective Address)用于以与间接寻址相同的方式计算地址,并保存结果地址而不是读取地址中的内容。在AT& T语法的情况下,(%edx,%eax,1)表示(%edx +%eax * 1)。在这种情况下,正如Laurent G所述,它相当于add%edx,%eax。但是,通过使用其他因素(括号前的位移和1以外的数字),您可以进行稍微复杂的数学运算。
这种类型的寻址通常用于处理数组,但是lea指令不会验证结果地址是否有效,因此您可以将其用作短路方式来执行需要多个指令的计算。