16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

CMPS/CMPSB/CMPSW/CMPSD—Compare String Operands<br />

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

A6 CMPS DS:(E)SI, ES:(E)DI アドレス DS:(E)SI のバイトをアドレス ES:(E)DI のバイトと比<br />

較し、結果に従ってステータス・フラグをセットする。<br />

A7 CMPS DS:SI, ES:DI アドレス DS:SI のワードをアドレス ES:DI のバイトと比較し、<br />

結果に従ってステータス・フラグをセットする。<br />

A7 CMPS DS:ESI, ES:EDI アドレス DS:ESI のダブルバイトをアドレス ES:EDI のバイトと<br />

比較し、結果に従ってステータス・フラグをセットする。<br />

A6 CMPSB アドレス DS:(E)SI のバイトをアドレス ES:(E)DI のバイトと比<br />

較し、結果に従ってステータス・フラグをセットする。<br />

A7 CMPSW アドレス DS:SI のバイトをアドレス ES:DI のバイトと比較し、<br />

結果に従ってステータス・フラグをセットする。<br />

A7 CMPSD アドレス DS:ESI のバイトをアドレス ES:EDI のバイトと比較<br />

し、結果に従ってステータス・フラグをセットする。<br />

説明<br />

第 1 ソース・オペランドで指定されるバイト、 ワード、 またはダブルワードを第2 ソー<br />

ス ・ オペラン ド で指定されるバイ ト 、 ワ ー ド 、 またはダブルワ ー ド と比較し、 結果に<br />

従って EFLAGS レジスタ内のステータス ・ フラグをセッ トする。 第1 ソース ・ オペラン<br />

ドは、 アドレスDS:ESI のメモリ ・ ロケーションを指定する。 第2 ソース ・オペランド<br />

は、 ア ド レス ES:EDI の メ モ リ ・ ロ ケ ー シ ョ ン を指定す る。 オペラ ン ド ・ サイ ズ属性が<br />

16 の場合は、 SI レジスタがソース ・ インデックス ・ レジスタとして使用され、 DI レジ<br />

スタがデスティネーション・インデックス・レジスタとして使用される。 DS セグメン ト<br />

はセグメン ト ・ オーバライ ド ・ プ リ フ ィ ッ クスでオーバライ ド もできるが、 ES セグメン<br />

トはオーバライドできない。<br />

CMPSB、 CMPSW、 CMPSD ニーモニッ クは、 それぞれ CMPS 命令のバイ ト 、 ワ ー ド 、<br />

ダブルワ ー ド ・ バー ジ ョ ンの別名である。 これら のニーモニ ッ ク は使い方が簡単である<br />

が、 タ イプ ・ チ ェ ッ ク やセグメ ン ト ・ チ ェ ッ ク は実行で きない。 CMPS 命令では、<br />

"DS:ESI" と "ES:EDI" を命令の中で明示的に指定しなければな ら ない。<br />

比較の後、 EFLAGS レジスタ内のDF フラグの設定に従って、 ESI と EDI レジスタが自<br />

動的に イ ン ク リ メ ン ト ま たはデ ク リ メ ン ト さ れる。 (DF フラグが0 の場合は ESI と EDI<br />

レジスタはインクリメント され、 DF フラグが1 の場合はデ ク リ メ ン ト される。 ) これら<br />

のレジスタは、 バイ ト操作の場合は 1、 ワー ド操作の場合は 2、 ダブルワー ド操作の場合<br />

は 4 それぞれイン ク リ メン ト またはデク リ メン ト される。<br />

CMPS、 CMPSB、 CMPSW、 CMPSD 命令は、 前に REP プリフィックスを付けると、 ECX<br />

バイ ト、 ワー ド、 またはダブルワー ドのブロ ッ ク比較を行える。 ただし、 これらの命令<br />

は、 次の比較が行われる前にステ ー タ スの設定に基づいてなん らかの処置を行 う LOOP<br />

構成体で使用される方が多い。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!