Si j'ai une instruction IA32 comme ce qui suit:Question sur instruction de Ica, IA32
lea 0x4(x1, x2, x3), %eax
Que x1, x2 et x3 représentent? Merci.
Si j'ai une instruction IA32 comme ce qui suit:Question sur instruction de Ica, IA32
lea 0x4(x1, x2, x3), %eax
Que x1, x2 et x3 représentent? Merci.
Si vous voulez dire "qu'est-ce que c'est," suivez le lien dans le commentaire de Greg. Si votre question concerne la syntaxe et que vous connaissez la syntaxe Intel (mais pas la syntaxe AT & T), x1 est la base, x2 est l'index et x3 est l'échelle (avec 0x4 étant le déplacement). Ainsi,
lea 0x4(x1,x2,x3),%eax
équivaut à
lea eax,[x1+x3*x2+4]
Voir this article sur SourceForge pour en savoir plus.
Ils sont une base registre, un indice registre, et une étendue de mesure. Ainsi, il est utile pour calculer l'adresse d'un élément d'une base matrice des éléments de taille échelle en position index, soit dans C:
base[index]
où échelle sera 1 pour un char tableau, 2 pour un court tableau, ... sur des compilateurs C typiques pour x86.
duplication possible de [x86 asm: Quel est le but de l'instruction LEA?] (Http://stackoverflow.com/questions/1658294/x86-asm-whats-the-purpose-of-the-lea-instruction) –