24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

RDTSC—Read Time-Stamp Counter ( 続き ) 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト #GP(0) PSR.si が 1 または CR4.TSD が 1 で、 CPL が 0 より大きい 場合。 保護モード例外 #GP(0) CR4 レジスタのTSD フラグがセット されていて、 CPL が 0 よ り 大き い場合。 /*For the IA-32 System Environment only*/ 実アドレス・モード例外 #GP CR4 レジスタのTSD フ ラ グがセ ッ ト さ れた場合。 /*For the IA-32 System Environment only*/ 仮想 8086 モード例外 NaT レ ジ ス タ参照アボ ー ト 。 #GP(0) CR4 レジスタのTSD フ ラ グがセ ッ ト さ れた場合。 /*For the IA-32 System Environment only*/ 3:712 第 3 巻 : IA-32 基本命令リファレンス

REP/REPE/REPZ/REPNE/REPNZ—Repeat String Operation Prefix オペコード 命令 説明 F3 6C REP INS r/m8, DX ECX のバイトをポート DX から ES:[EDI] に入力する。 F3 6D REP INS r/m16,DX ECX のワードをポート DX から ES:[EDI] に入力する。 F3 6D REP INS r/m32,DX ECX のダブルワードをポート DX から ES:[EDI] に入力する。 F3 A4 REP MOVS m8,m8 ECX のバイトを DS:[ESI] から ES:[EDI] に転送する。 F3 A5 REP MOVS m16,m16 ECX のワードを DS:[ESI] から ES:[EDI] に転送する。 F3 A5 REP MOVS m32,m32 ECX のダブルワードを DS:[ESI] から ES:[EDI] に転送する。 F3 6E REP OUTS DX,r/m8 ECX のバイトを DS:[ESI] からポート DX に出力する。 F3 6F REP OUTS DX,r/m16 ECX のワードを DS:[ESI] からポート DX に出力する。 F3 6F REP OUTS DX,r/m32 ECX のダブルワードを DS:[ESI] からポート DX に出力する。 F3 AC REP LODS AL ECX のバイトを DS:[ESI] から AL にロードする。 F3 AD REP LODS AX ECX のワードを DS:[ESI] から AX にロードする。 F3 AD REP LODS EAX ECX のダブルワードを DS:[ESI] から EAX にロードする。 F3 AA REP STOS m8 ES:[EDI] にある ECX のバイトを AL で埋める。 F3 AB REP STOS m16 ES:[EDI] にある ECX のワードを AX で埋める。 F3 AB REP STOS m32 ES:[EDI] にある ECX のダブルワードを EAX で埋める。 F3 A6 REPE CMPS m8,m8 ES:[EDI] と DS:[ESI] にある一致していないバイトを探す。 F3 A7 REPE CMPS m16,m16 ES:[EDI] と DS:[ESI] にある一致していないワードを探す。 F3 A7 REPE CMPS m32,m32 ES:[EDI] と DS:[ESI] にある一致していないダブルワードを探す。 F3 AE REPE SCAS m8 ES:[EDI] で始まる AL でないバイトを探す。 F3 AF REPE SCAS m16 ES:[EDI] で始まる AX でないワードを探す。 F3 AF REPE SCAS m32 ES:[EDI] で始まる EAX でないダブルワードを探す。 F2 A6 REPNE CMPS m8,m8 ES:[EDI] と DS:[ESI] にある一致しているバイトを探す。 F2 A7 REPNE CMPS m16,m16 ES:[EDI] と DS:[ESI] にある一致しているワードを探す。 F2 A7 REPNE CMPS m32,m32 ES:[EDI] と DS:[ESI] にある一致しているダブルワードを探す。 F2 AE REPNE SCAS m8 ES:[EDI] で始まる AL を探す。 F2 AF REPNE SCAS m16 ES:[EDI] で始まる AX を探す。 F2 AF REPNE SCAS m32 ES:[EDI] で始まる EAX を探す。 説明 カウンタ ・ レジスタ (ECX) に指定された回数か、 ま たは ZF フラグの指定された条件が満 たされな く なる ま で、 ス ト リ ング命令を繰り返す。 REP ( リピート )、 REPE ( 等しい間は リピート )、 REPNE ( 等し く ない間は リ ピ ー ト )、 REPZ ( ゼロの間はリピー ト )、 REPNZ ( ゼロでない間は リ ピー ト ) の各ニーモニ ッ ク は、 ス ト リ ング命令の 1 つに付加できるプ リフィックスである。 REP プリフィックスは、 INS、 OUTS、 MOVS、 LODS、 STOS 命令 に付加する こ と ができ、 REPE、 REPNE、 REPZ、 REPNZ プリフィックスは、 CMPS およ び SCAS 命令に付加で き る。 (REPZ プリフィックスと REPNZ プリフィックスは、 それぞ れ REPE プリフィックスと REPNE プリフィックスのシノニム形式である。 ) 非ス ト リ ン グ命令と と も に使用する と、 REP プ リ フ ィ ッ ク スの行動は未定義である。 REP プリフィックスは、 一度には1 つのス ト リ ン グ命令だけ に適用 さ れる。 命令ブ ロ ッ クを繰り返すには、 LOOP 命令 ま たは その他のルー プ構造体を使用する。 第 3 巻 : IA-32 基本命令リファレンス 3:713

REP/REPE/REPZ/REPNE/REPNZ—Repeat String Operation Prefix<br />

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

F3 6C REP INS r/m8, DX ECX のバイトをポート DX から ES:[EDI] に入力する。<br />

F3 6D REP INS r/m16,DX ECX のワードをポート DX から ES:[EDI] に入力する。<br />

F3 6D REP INS r/m32,DX ECX のダブルワードをポート DX から ES:[EDI] に入力する。<br />

F3 A4 REP MOVS m8,m8 ECX のバイトを DS:[ESI] から ES:[EDI] に転送する。<br />

F3 A5 REP MOVS m16,m16 ECX のワードを DS:[ESI] から ES:[EDI] に転送する。<br />

F3 A5 REP MOVS m32,m32 ECX のダブルワードを DS:[ESI] から ES:[EDI] に転送する。<br />

F3 6E REP OUTS DX,r/m8 ECX のバイトを DS:[ESI] からポート DX に出力する。<br />

F3 6F REP OUTS DX,r/m16 ECX のワードを DS:[ESI] からポート DX に出力する。<br />

F3 6F REP OUTS DX,r/m32 ECX のダブルワードを DS:[ESI] からポート DX に出力する。<br />

F3 AC REP LODS AL ECX のバイトを DS:[ESI] から AL にロードする。<br />

F3 AD REP LODS AX ECX のワードを DS:[ESI] から AX にロードする。<br />

F3 AD REP LODS EAX ECX のダブルワードを DS:[ESI] から EAX にロードする。<br />

F3 AA REP STOS m8 ES:[EDI] にある ECX のバイトを AL で埋める。<br />

F3 AB REP STOS m16 ES:[EDI] にある ECX のワードを AX で埋める。<br />

F3 AB REP STOS m32 ES:[EDI] にある ECX のダブルワードを EAX で埋める。<br />

F3 A6 REPE CMPS m8,m8 ES:[EDI] と DS:[ESI] にある一致していないバイトを探す。<br />

F3 A7 REPE CMPS m16,m16 ES:[EDI] と DS:[ESI] にある一致していないワードを探す。<br />

F3 A7 REPE CMPS m32,m32 ES:[EDI] と DS:[ESI] にある一致していないダブルワードを探す。<br />

F3 AE REPE SCAS m8 ES:[EDI] で始まる AL でないバイトを探す。<br />

F3 AF REPE SCAS m16 ES:[EDI] で始まる AX でないワードを探す。<br />

F3 AF REPE SCAS m32 ES:[EDI] で始まる EAX でないダブルワードを探す。<br />

F2 A6 REPNE CMPS m8,m8 ES:[EDI] と DS:[ESI] にある一致しているバイトを探す。<br />

F2 A7 REPNE CMPS m16,m16 ES:[EDI] と DS:[ESI] にある一致しているワードを探す。<br />

F2 A7 REPNE CMPS m32,m32 ES:[EDI] と DS:[ESI] にある一致しているダブルワードを探す。<br />

F2 AE REPNE SCAS m8 ES:[EDI] で始まる AL を探す。<br />

F2 AF REPNE SCAS m16 ES:[EDI] で始まる AX を探す。<br />

F2 AF REPNE SCAS m32 ES:[EDI] で始まる EAX を探す。<br />

説明<br />

カウンタ ・ レジスタ (ECX) に指定された回数か、 ま たは ZF フラグの指定された条件が満<br />

たされな く なる ま で、 ス ト リ ング命令を繰り返す。 REP ( リピート )、 REPE ( 等しい間は<br />

リピート )、 REPNE ( 等し く ない間は リ ピ ー ト )、 REPZ ( ゼロの間はリピー ト )、 REPNZ<br />

( ゼロでない間は リ ピー ト ) の各ニーモニ ッ ク は、 ス ト リ ング命令の 1 つに付加できるプ<br />

リフィックスである。 REP プリフィックスは、 INS、 OUTS、 MOVS、 LODS、 STOS 命令<br />

に付加する こ と ができ、 REPE、 REPNE、 REPZ、 REPNZ プリフィックスは、 CMPS およ<br />

び SCAS 命令に付加で き る。 (REPZ プリフィックスと REPNZ プリフィックスは、 それぞ<br />

れ REPE プリフィックスと REPNE プリフィックスのシノニム形式である。 ) 非ス ト リ ン<br />

グ命令と と も に使用する と、 REP プ リ フ ィ ッ ク スの行動は未定義である。<br />

REP プリフィックスは、 一度には1 つのス ト リ ン グ命令だけ に適用 さ れる。 命令ブ ロ ッ<br />

クを繰り返すには、 LOOP 命令 ま たは その他のルー プ構造体を使用する。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!