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.

LODS/LODSB/LODSW/LODSD—Load String Operand<br />

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

AC LODS DS:(E)SI アドレス DS:(E)SI のバイトを AL にロードする。<br />

AD LODS DS:SI アドレス DS:SI のワードを AX にロードする。<br />

AD LODS DS:ESI アドレス DS:ESI のダブルワードを EAX にロードする。<br />

AC LODSB アドレス DS:(E)SI のバイトを AL にロードする。<br />

AD LODSW アドレス DS:SI のワードを AX にロードする。<br />

AD LODSD アドレス DS:ESI のダブルワードを EAX にロードする。<br />

説明<br />

ソース ・オペランドから AL、 AX、 または EAX レジスタに、 バイト、 ワード、 またはダ<br />

ブルワー ド をロー ド する。 ソース ・ オペラン ド は、 ア ド レス DS:ESI のメモリ ・ ロケー<br />

ションである( オペラン ド ・ サイズ属性が 16 の場合は、 SI レジスタがソース ・ インデッ<br />

ク ス ・ レ ジ ス タ と して使用 さ れる )。 DS セグメン ト は、 セグメン ト ・ オーバライ ド ・ プ<br />

リフィックスでオーバライドできる。<br />

LODSB、 LODSW、 LODSD ニーモニッ クは、 それぞれ LODS 命令のバイ ト 版、 ワ ー ド<br />

版、 ダブルワ ー ド 版のシ ノ ニムであ る (LODS 命令では、 命令の中で "DS:ESI" を明示的<br />

に指定しなければならない )。<br />

バイ ト、 ワー ド、 またはダブルワー ドがメモリ ・ ロケーシ ョ ンから AL、 AX、 または<br />

EAX レジスタに転送された後、 ESI レジスタはEFLAGS レジスタ内のDF フラグの設定<br />

に従って自動的にイン ク リ メン ト またはデク リ メン ト される。 (DF フラグが0 である場<br />

合は、 ESI レジスタはインク リメント される。 DF フラグが1 である場合は、 ESI レジス<br />

タはデク リ メン ト される。 ESI レ ジ ス タ は、 バイ ト 操作の場合は 1、 ワー ド操作の場合は<br />

2、 ま たダブルワ ー ド の場合は 4、 それぞれインク リ メン ト またはデク リ メン ト される。<br />

LODS、 LODSB、 LODSW、 LODSD 命令は、 前に REP プリフィックスを付けると、 ECX<br />

バイ ト、 ワー ド、 またはダブルワー ドのブロ ッ ク ・ ロー ド を行える。 しかし通常は、 レ<br />

ジスタ に転送されたデー タ を次の転送が行われる前に さ ら に処理する必要があるので、<br />

こ れ ら の命令は LOOP 構成体で使用される方が多い。 REP プリフィックスの説明につい<br />

ては、 3:713 ページの 「REP/REPE/REPZ/REPNE/REPNZ—Repeat String Operation Prefix」<br />

を参照のこ と。<br />

操作<br />

IF (byte load)<br />

THEN<br />

AL ← SRC; (* byte load *)<br />

THEN IF DF = 0<br />

THEN (E)SI ← 1;<br />

ELSE (E)SI ← -1;<br />

FI;<br />

ELSE IF (word load)<br />

THEN<br />

AX ← SRC; (* word load *)<br />

THEN IF DF = 0<br />

THEN SI ← 2;<br />

ELSE SI ← -2;<br />

FI;<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!