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.

BOUND ─ Check Array Index Against Bounds<br />

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

62 /r BOUND r16,m16&16 r16 ( 配列インデックス ) が m16&16 の指定範囲内かどうかを確認す<br />

る。<br />

62 /r BOUND r32,m32&32 r32 ( 配列インデックス ) が m16&16 の指定範囲内かどうかを確認す<br />

る。<br />

説明<br />

第 1 オペラン ド ( 配列イ ンデ ッ ク ス ) が第 2 オペラン ド ( 範囲オペラ ン ド ) によって指定<br />

される配列の下限か ら 上限 ま での範囲内であるか ど う か判定する。 配列イ ンデ ッ ク ス は、<br />

レ ジ ス タ内の符号付き 整数である。 範囲オペラ ン ド は、 オペラ ン ド ・ サイズ属性が 32 の<br />

場合は 1 対の符号付き ダブルワ ー ド 整数を、 オペラ ン ド ・ サイ ズ属性が 16 の場合は 1 対<br />

の符号付き ワ ー ド 整数を示すメモ リ ・ ロケーシ ョ ンである。 第 1 のダブルワー ド ( または<br />

ワード ) が配列の下限であ り 、 第 2 のダブルワー ド ( またはワー ド ) が配列の上限である。<br />

配列イ ンデ ッ ク ス は下限よ り 大きいか等し く なければな ら ず、 かつ上限にバイ ト 単位の<br />

オペラン ド ・ サイズを加算した値よ り小さいか等し く なければならない。 インデッ クス<br />

が上下限の範囲内でない場合は、 BOUND 範囲外例外 (#BR) が報告される。 ( この例外が<br />

発生した と き は、 セ ー ブ さ れた リ タ ー ン命令ポ イ ン タが BOUND 命令を指している。 )<br />

上下限範囲デ ー タ構造 ( 配列の上下限を内容 と する 2 つのワ ー ド またはダブルワ ー ド )<br />

は、 通常、 配列自体の直前に置いて、 配列の先頭か ら の一定のオ フ セ ッ ト で上下限をア<br />

ドレス指定できるようにする。 配列のアドレスはすでにレジスタにストアされているの<br />

で、 上記の よ う な慣行に よ っ て、 配列の上下限の実効ア ド レ ス を得るために余分なバ<br />

ス・サイクルを避けられる。<br />

操作<br />

IF (ArrayIndex < LowerBound OR ArrayIndex > (UppderBound + OperandSize/8]))<br />

(* Below lower bound or above upper bound *)<br />

THEN<br />

#BR;<br />

FI;<br />

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

なし。<br />

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

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

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

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

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

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

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

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

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

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

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

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

ルト。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!