2011-06-02 70 views
0

如果我有一個像下面的IA32指令:關於產品lea指令,IA32

lea 0x4(x1, x2, x3), %eax 

什麼X1,X2和X3代表什麼? 謝謝。

+2

[x86 asm:LEA指令的目的是什麼?](http://stackoverflow.com/questions/1658294/x86-asm-whats-the-purpose-of-the-lea-instruction) – 2011-06-02 02:57:33

回答

4

如果您的意思是「什麼是lea for」,請點擊Greg的評論中的鏈接。

如果您的問題是有關語法並熟悉Intel語法(但不是AT語法),x1是基礎,x2是索引,x3是比例(其中0x4是位移)。因此,

lea 0x4(x1,x2,x3),%eax 

相當於

lea eax,[x1+x3*x2+4] 

參見在SourceForge this article更多。

0

它們是寄存器,索引寄存器和規模值。所以,這是一種在C計算陣列大小規模的元件的基的元素的地址在位置索引,即有用:

base[index] 

其中規模將是1的用於char array,2 for a short array,... on x86的典型C編譯器。