2011-03-28 17 views

回答

1

(%edx,%eax,1)是對應於EDX的操作數地址+ EAX * 1

換言之,該指令是lea,這僅僅是爲了eax += edx

0

的lea指令(加載有效地址)的附加聲明等效用於以與間接尋址相同的方式計算地址並保存結果地址,而不是讀取地址中的內容。在AT & T語法的情況下,(%edx,%eax,1)表示(%edx +%eax * 1)。正如Laurent G所述,在這種情況下,它相當於增加%edx,%eax。但是,通過使用其他因素(括號前的位移和1以外的數字),您可以執行稍微複雜的數學運算。

這種類型的尋址通常用於處理數組,但是lea指令不會驗證生成的地址是否有效,因此您可以將其用作短路方法來執行需要多條指令的計算。