24531904_j
24531904_j 24531904_j
BTS ─ Bit Test and Set オペコード 命令 説明 0F AB BTS r/m16,r16 選択したビットを CF フラグにストアし、セットする。 0F AB BTS r/m32,r32 選択したビットを CF フラグにストアし、セットする。 0F BA /5 ib BTS r/m16,imm8 選択したビットを CF フラグにストアし、セットする。 0F BA /5 ib BTS r/m32,imm8 選択したビットを CF フラグにストアし、セットする。 説明 ビッ ト ・ベース・オペランド ( 第 1 オペラン ド ) によって指定されるビット ・ スト リング 内で、 ビット・オフセット・オペランド( 第 2 オペラン ド ) に よ っ て指定さ れる ビ ッ ト 位 置のビッ トを選択し、 そのビッ トの値をCF フラグにストアし、 ビッ ト ・ スト リング内の 選択したビ ッ ト を 1 にセットする。 ビット・ベース・オペランドには、 レジスタまたはメ モリ ・ ロケーションを使用できる。 ビッ ト ・ オフセッ ト ・ オペランドには、 レジスタま たは即値を使用で き る。 ビ ッ ト ・ ベー ス ・ オペラ ン ド がレ ジ ス タ を指定している場合は、 この命令はビット・オフセット・オペランドの( レジスタ ・サイズに従って) 16 または 32 の剰余を と り、 それぞれ 16 または 32 ビッ トのレジスタで任意のビッ ト位置を選択で きるようにしている。 ビッ ト ・ベース ・ オペランドがメモリ ・ ロケーションを指定して いる場合は、 こ のオペラ ン ド は対象のビ ッ ト ・ ス ト リ ングのビ ッ ト ・ ベー ス ( 指定さ れた バイ ト のビッ ト 0) を含むメモ リ内のバイ ト のア ド レスを表している。 したがって、 オフ セッ ト ・オペランドは、 レジスタ ・オフセッ トの場合は -231 から 231 - 1 までの範囲の ビ ッ ト 位置を、 また即値オフセッ ト の場合は 0 から 31 までの範囲のビット位置を選択す る。 一部のアセンブ ラ は、 即値ビ ッ ト ・ オ フ セ ッ ト ・ フ ィ ー ル ド を メ モ リ ・ オペラ ン ド の デ ィ スプレ ー スメ ン ト ・ フ ィ ール ド と 組み合わせて使用して、 31 より大きい即値ビッ ト ・ オ フ セ ッ ト をサポ ー ト してい る。 こ のア ド レ ス指定機構の詳細は、 3:400 ページの 「BT—Bit Test」 を参照のこ と。 操作 CF ← Bit(BitBase, BitOffset) Bit(BitBase, BitOffset) ← 1; 影響を受けるフラグ CF フラグに選択されたビッ トのセッ ト される前の値がストアされる。 OF、 SF、 ZF、 AF、 PF フ ラ グは未定義。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 3:406 第 3 巻 : IA-32 基本命令リファレンス
BTS ─ Bit Test and Set ( 続き ) 保護モード例外 #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 モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メ ン ト が合わないメモ リ 参照を行っ た場合。 第 3 巻 : IA-32 基本命令リファレンス 3:407
- Seite 367 und 368: 表 5-3. リソース別に編成
- Seite 369 und 370: 表 5-3. リソース別に編成
- Seite 371 und 372: 5.3.5 依存関係表で参照さ
- Seite 373 und 374: 5.4 サポートに関する表 表
- Seite 375 und 376: 表 5-5. 命令クラス ( 続き )
- Seite 377 und 378: 表 5-5. 命令クラス ( 続き )
- Seite 379 und 380: 表 5-5. 命令クラス ( 続き )
- Seite 381: 第 II 部 : IA-32命令セット
- Seite 384 und 385: ま たは浮動小数点命令を
- Seite 386 und 387: • rel16 および rel32 - アセ
- Seite 388 und 389: • レ ジ ス タ名は暗黙に
- Seite 390 und 391: 図 1-1. BIT[EAX,21] のビット
- Seite 392 und 393: 1.2.7 仮想 8086 モード例外
- Seite 394 und 395: AAD ─ ASCII Adjust AX Before Divi
- Seite 396 und 397: AAS ─ ASCII Adjust AL After Subtr
- Seite 398 und 399: ADC ─ Add with Carry ( 続き )
- Seite 400 und 401: ADD ─ Add ( 続き ) 保護モー
- Seite 402 und 403: AND ─ Logical AND ( 続き ) 保
- Seite 404 und 405: ARPL ─ Adjust RPL Field of Segmen
- Seite 406 und 407: BOUND ─ Check Array Index Against
- Seite 408 und 409: BSF ─ Bit Scan Forward ( 続き )
- Seite 410 und 411: BSR ─ Bit Scan Reverse ( 続き )
- Seite 412 und 413: BT ─ Bit Test オペコード 命
- Seite 414 und 415: BTC ─ Bit Test and Complement オ
- Seite 416 und 417: BTR ─ Bit Test and Reset オペ
- Seite 420 und 421: CALL ─ Call Procedure オペコ
- Seite 422 und 423: CALL ─ Call Procedure ( 続き )
- Seite 424 und 425: CALL ─ Call Procedure ( 続き )
- Seite 426 und 427: CALL ─ Call Procedure ( 続き )
- Seite 428 und 429: CALL ─ Call Procedure ( 続き )
- Seite 430 und 431: CBW/CWDE ─ Convert Byte to Word/C
- Seite 432 und 433: CLC ─ Clear Carry Flag オペコ
- Seite 434 und 435: CLI ─ Clear Interrupt Flag オペ
- Seite 436 und 437: CLTS—Clear Task-Switched Flag in
- Seite 438 und 439: CMOVcc—Conditional Move オペコ
- Seite 440 und 441: CMOVcc—Conditional Move ( 続き
- Seite 442 und 443: CMP—Compare Two Operands オペ
- Seite 444 und 445: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 446 und 447: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 448 und 449: CMPXCHG—Compare and Exchange (
- Seite 450 und 451: CMPXCHG8B—Compare and Exchange 8
- Seite 452 und 453: CPUID—CPU Identification オペ
- Seite 454 und 455: CPUID—CPU Identification ( 続き
- Seite 456 und 457: CPUID—CPU Identification ( 続き
- Seite 458 und 459: CWDE—Convert Word to Doubleword
- Seite 460 und 461: DAS—Decimal Adjust AL after Subtr
- Seite 462 und 463: DEC—Decrement by 1 ( 続き ) #AC
- Seite 464 und 465: DIV—Unsigned Divide ( 続き ) FI
- Seite 466 und 467: ENTER—Make Stack Frame for Proced
BTS ─ Bit Test and Set ( 続き )<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) アライメン ト ・ チェ ッ クがイネーブルにされていて、 現行<br />
特権レベルが 3 のときにアライメントが合わないメモリ参<br />
照を行った場合。<br />
実アドレス・モード例外<br />
#GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
仮想 8086 モード例外<br />
#GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />
イ メ ン ト が合わないメモ リ 参照を行っ た場合。<br />
第 3 巻 : IA-32 基本命令リファレンス 3:407