16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

LEA—Load Effective Address<br />

オペコード 命令 説明<br />

8D /r LEA r16,m m の実効アドレスをレジスタ r16 にストアする。<br />

8D /r LEA r32,m m の実効アドレスをレジスタ r32 にストアする。<br />

説明<br />

第 2 オペラン ド ( ソース・オペランド ) の実効ア ド レ ス を計算し、 第 1 オペラン ド ( デス<br />

ティネーション・オペランド ) にス トアする。 ソース ・ オペラン ド は、 プロセッサのア<br />

ドレス指定モードの1 つで指定 さ れたメ モ リ ・ ア ド レ ス ( オフセッ ト部) である。 デス<br />

テ ィ ネ ー シ ョ ン ・ オペラ ン ド は、 汎用レ ジ ス タ である。 こ の命令が実行す る処理は、 以<br />

下の表に示す よ う に、 ア ド レ ス ・ サ イ ズ属性お よ びオペラ ン ド ・ サ イ ズ属性に よ っ て変<br />

わ る。 こ の命令のオペラ ン ド ・ サ イ ズ属性は選択 さ れたレ ジ ス タ に よ っ て決 ま り 、 ア ド<br />

レス・サイズ属性はコード ・セグメントの属性によって決まる。<br />

表 1-16. LEA のアドレスとオペランド・サイズ<br />

オペランド・<br />

サイズ<br />

アセンブ ラ が異な る と 、 ソ ー ス ・ オペラ ン ド のサイ ズ属性 と 記号参照に基づいて、 使用<br />

されるアルゴリズムが変わる場合もある。<br />

操作<br />

アドレス・<br />

サイズ<br />

IF OperandSize = 16 AND AddressSize = 16<br />

THEN<br />

DEST ← EffectiveAddress(SRC); (* 16-bit address *)<br />

ELSE IF OperandSize = 16 AND AddressSize = 32<br />

THEN<br />

temp ← EffectiveAddress(SRC); (* 32-bit address *)<br />

DEST ← temp[0..15]; (* 16-bit address *)<br />

ELSE IF OperandSize = 32 AND AddressSize = 16<br />

THEN<br />

temp ← EffectiveAddress(SRC); (* 16-bit address *)<br />

DEST ← ZeroExtend(temp); (* 32-bit address *)<br />

ELSE IF OperandSize = 32 AND AddressSize = 32<br />

THEN<br />

DEST ← EffectiveAddress(SRC); (* 32-bit address *)<br />

FI;<br />

FI;<br />

影響を受けるフラグ<br />

なし。<br />

実行される処理<br />

16 16 16 ビットの実効アドレスが計算され、要求された 16 ビット・レジスタのデ<br />

スティネーションにストアされる。<br />

16 32 32 ビットの実効アドレスが計算される。そのアドレスの下位 16 ビットが要<br />

求された 16 ビット・レジスタのデスティネーションにストアされる。<br />

32 16 16 ビットの実効アドレスが計算される。16 ビット・アドレスはゼロ拡張さ<br />

れ、要求された 32 ビット・レジスタのデスティネーションにストアされる。<br />

32 32 32 ビットの実効アドレスが計算され、要求された 32 ビット・レジスタのデ<br />

スティネーションにストアされる。<br />

3:628 第 3 巻 : IA-32 基本命令リファレンス

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!