24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

SBB—Integer Subtraction with Borrow ( 続き ) 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 保護モード例外 #GP(0) デステ ィ ネー シ ョ ンが書き込み不可能なセグメ ン ト にある 場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタの内容がNULL セグメ ン ト ・ セ レ ク タ の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 仮想 8086 モード例外 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:730 第 3 巻 : IA-32 基本命令リファレンス

SCAS/SCASB/SCASW/SCASD—Scan String オペコード 命令 説明 AE SCAS ES:(E)DI AL を ES:(E)DI のバイトと比較し、ステータス・フラグを設定する。 AF SCAS ES:DI AX を ES:DI のワードと比較し、ステータス・フラグを設定する。 AF SCAS ES:EDI EAX を ES:EDI のダブルワードと比較し、ステータス・フラグを設 定する。 AE SCASB AL を ES:(E)DI のバイトと比較し、ステータス・フラグを設定する。 AF SCASW AX を ES:DI のワードと比較し、ステータス・フラグを設定する。 AF SCASD EAX を ES:EDI のダブルワードと比較し、ステータス・フラグを設 定する。 説明 ソース ・オペランドで指定されたバイト、 ワード、 またはダブルワードを、 それぞれ AL、 AX、 または EAX レジスタの値と比較し、 結果に従ってEFLAGS レジスタのス テータス ・ フラグを設定する。 ソース ・ オペランドは、 アドレス ES:EDI のメモリ ・ ロ ケーションを指定する ( オペラン ド ・ サイズ属性が 16 の場合は、 DI レジスタがソース ・ イ ンデ ッ ク ス ・ レ ジ ス タ と して使用 さ れる )。 ES セグメン ト は、 セグメン ト ・ オーバラ イド ・プリフィックスでオーバライドできない。 SCASB、 SCASW、 SCASD ニーモニッ クは、 それぞれ SCAS 命令のバイ ト 版、 ワ ー ド 版、 ダブルワー ド版のシノニムである。 これらのニーモニッ クは使い方が簡単であるが、 タ イプ ・ チェ ッ クやセグメント ・ チェ ッ クの機能を持たない (SCAS 命令では、 命令の中で "ES:EDI" を明示的に指定しなければならない ) 比較後、 EDI レジスタは EFLAGS レジスタ内のDF フ ラ グの設定に従っ て自動的に イ ン クリメントまたはデクリメントされる。 (DF フラグが0 である場合は、 EDI レジスタは インク リ メン ト される。 DF フラグが1 である場合は、 EDI レジスタはデクリメント され る。 ) EDI レ ジ ス タ は、 バイ ト 操作の場合は 1、 ワー ド操作の場合は 2、 ダブルワー ド操 作の場合は 4、 それぞれインク リ メン ト またはデク リ メン ト される。 SCAS、 SCASB、 SCASW、 SCASD 命令は、 前に REP プリフィックスを付けると、 ECX バイ ト、 ワー ド、 またはダブルワー ドのブロ ッ ク比較を行う こ とができる。 しかし通常 は、 こ れ ら の命令は、 次の比較が行われる前にス テ ー タ ス ・ フ ラ グの設定に基づいてあ る処置を行うループ構造体で使用される こ との方が多い。 REP プ リ フ ィ ッ ク スの説明に ついては、 3:713 ページの 「REP/REPE/REPZ/REPNE/REPNZ—Repeat String Operation Prefix」 を参照のこ と。 操作 IF (byte cmparison) THEN temp ← AL − SRC; SetStatusFlags(temp); THEN IF DF = 0 THEN (E)DI ← 1; ELSE (E)DI ← -1; FI; ELSE IF (word comparison) THEN temp ← AX − SRC; SetStatusFlags(temp) THEN IF DF = 0 THEN DI ← 2; 第 3 巻 : IA-32 基本命令リファレンス 3:731

SBB—Integer Subtraction with Borrow ( 続き )<br />

追加の Itanium ベース・システム環境例外<br />

Itanium アーキテクチャ ・<br />

レジスタ ・ フォルト<br />

Itanium アーキテクチャ ・<br />

メモリ ・ フォル ト<br />

保護モード例外<br />

#GP(0) デステ ィ ネー シ ョ ンが書き込み不可能なセグメ ン ト にある<br />

場合。<br />

メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

DS、 ES、 FS、 または GS レジスタの内容がNULL セグメ<br />

ン ト ・ セ レ ク タ の場合。<br />

#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが<br />

イネーブルにされていて、 アライメントが合わないメモリ<br />

参照が行われた場合。<br />

実アドレス・モード例外<br />

#GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

#SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

仮想 8086 モード例外<br />

NaT レ ジ ス タ参照アボ ー ト 。<br />

VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、<br />

データ TLB フォルト、 代替データTLB フォルト、 デー<br />

タ・ページ不在フォルト、 データNaT ページ参照アボー<br />

ト、 データ・キー・ ミス・フォルト、 データ・キー許可<br />

フォルト、 データ・アクセス権フォルト、 データ・アクセ<br />

ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ<br />

ルト。<br />

#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />

イ メン ト が合わないメモ リ 参照が行われた場合。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!