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.

BT ─ Bit Test<br />

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

0F A3 BT r/m16,r16 選択したビットを CF フラグにストアする。<br />

0F A3 BT r/m32,r32 選択したビットを CF フラグにストアする。<br />

0F BA /4 ib BT r/m16,imm8 選択したビットを CF フラグにストアする。<br />

0F BA /4 ib BT r/m32,imm8 選択したビットを CF フラグにストアする。<br />

説明<br />

ビッ ト ・ベース・オペランド ( 第 1 オペラン ド ) によって指定されるビット ・ スト リング<br />

内で、 ビット・オフセット・オペランド( 第 2 オペラン ド ) に よ っ て指定さ れる ビ ッ ト 位<br />

置のビッ トを選択し、 そのビッ トの値をCF フラグにストアする。 ビッ ト ・ベース ・ オペ<br />

ランドには、 レジスタまたはメモリ ・ ロケーションを使用できる。 ビッ ト ・ オフセッ ト ・<br />

オペラン ド には、 レジスタ または即値を使用でき る。 ビ ッ ト ・ ベース ・ オペラン ド がレ<br />

ジ ス タ を指定している場合は、 こ の命令は ビ ッ ト ・ オ フ セ ッ ト ・ オペラ ン ド の ( レジス<br />

タ・サイズに従って) 16 または 32 の剰余を と り 、 それぞれ 16 または 32 ビッ トのレジス<br />

タ で任意のビ ッ ト 位置を選択で き る よ う にしている。 ビ ッ ト ・ ベー ス ・ オペラ ン ド がメ<br />

モ リ ・ ロ ケ ー シ ョ ンを指定している場合は、 こ のオペラ ン ド は対象のビ ッ ト ・ ス ト リ ン<br />

グのビ ッ ト ・ ベース ( 指定さ れたバイ ト のビ ッ ト 0) を含むメモ リ内のバイ ト のア ド レス<br />

を表している。 したがって、 オフセッ ト ・ オペランド は、 レジスタ ・ オフセッ トの場合<br />

は -231 から 231 - 1 までの範囲のビ ッ ト 位置を、 また即値オフセ ッ ト の場合は 0 から 31 ま<br />

での範囲のビ ッ ト 位置を選択する。<br />

一部のアセンブ ラ は、 即値ビ ッ ト ・ オ フ セ ッ ト ・ フ ィ ー ル ド を メ モ リ ・ オペラ ン ド の<br />

デ ィ スプレ ー スメ ン ト ・ フ ィ ール ド と 組み合わせて使用して、 31 より大きい即値ビッ<br />

ト・オフセットをサポートしている。その場合は、アセンブラによって、即値ビット・<br />

オフセッ トの下位3 または 5 ビッ ト (16 ビッ ト ・オペランドの場合は3、 32 ビッ ト ・オ<br />

ペラン ドの場合は 5) が即値ビット・オフセット・フィールドにストアされ、上位ビット<br />

はシ フ ト され、 ア ド レス指定モー ド のバイ ト ・ デ ィ スプレ ー ス メ ン ト と 組み合わされる。<br />

プロセッサは、 0 でな く て も 、 上位ビ ッ ト を無視す る。<br />

メ モ リ 内の ビ ッ ト をア ク セスする と き は、 プ ロ セ ッ サは、 以下の関係を使用して、 32<br />

ビッ トのオペランド ・サイズのメモリ ・アドレスから始まる 4 バイ ト をアクセスできる。<br />

実効アドレス + (4 * (BitOffset DIV 32))<br />

ま たは、 以下の関係を使用して、 16 ビッ ト ・ オペランドのメモリ ・アド レスから始まる<br />

2 バイ ト をアクセスできる。<br />

実効アドレス + (2 * (BitOffset DIV 16))<br />

該当す る ビ ッ ト に到達する のに 1 バイ ト だけのア ク セスで足 り る と き で も 、上記の操作に<br />

差し支えはない。 このビ ッ ト ・ ア ド レス指定方式を使用する と きは、 ソ フ ト ウ ェアはア ド<br />

レス ・ スペー ス ・ ホ ールに近いメモ リ 領域の参照を避ける よ う にする こ と。 特に、 メモ<br />

リ・マップドI/O レジスタへの参照は避けなければならない。 その代わりに、 ソフトウェ<br />

アにMOV 系の命令を使用してそれらのアドレスからロードまたはそれらのアドレスにス<br />

ト アさせ、 レジスタ形式のこれらの命令を使用してデータを操作する よ う にする。<br />

操作<br />

CF ← Bit(BitBase, BitOffset)<br />

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

CF フラグに選択されたビッ トの値がスト アされる。 OF、 SF、 ZF、 AF、 PF フラグは未<br />

定義。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!