24531904_j
24531904_j 24531904_j
OR—Logical Inclusive OR ( 続き ) 保護モード例外 #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(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:678 第 3 巻 : IA-32 基本命令リファレンス
OUT—Output to Port オペコード 命令 説明 E6 ib OUT imm8, AL AL にあるバイトを imm8I/O ポート・アドレスに出力する。 E7 ib OUT imm8, AX AX にあるワードを imm8I/O ポート・アドレスに出力する。 E7 ib OUT imm8, EAX EAX にあるダブルワードを imm8I/O ポート・アドレスに出力する。 EE OUT DX, AL AL にあるバイトを DX にある I/O ポート・アドレスに出力する。 EF OUT DX, AX AX にあるワードを DX にある I/O ポート・アドレスに出力する。 EF OUT DX, EAX EAX にあるダブルワードを DX にある I/O ポート・アドレスに出力 する。 説明 値を第 2 オペラン ド ( ソース ・ オペランド ) からデスティネーション ・ オペランド ( 第 1 オペラン ド ) で指定された I/O ポー トにコピーする。 ソース ・ オペランドには、 アクセ スされるポートのサイズ(8、 16、 または 32 ビッ ト ) に応じてそれぞれ AL、 AX、 または EAX レジスタを使用できる。 デスティネーション・オペランドには、 バイト即値または DX レジスタを使用でき る。 バイ ト 即値を使用する と、 I/O ポー ト ・アドレス 0 ~ 255 を アクセスできる。 ソース ・ オペランド としてDX レジスタを使用すると、 I/O ポー ト 0 ~ 65,535 をアクセスするこ とができる。 8 ビットのI/O ポー トにアクセスする場合は、 ポー ト ・サイズはオペコードによって決ま る。 16 ビッ トまたは32 ビッ トのI/O ポー トにアクセスする場合は、 ポー ト ・サイズはオ ペラン ド ・ サイズ属性によ って決まる。 マシン ・ コ ー ド ・ レベルでは、 I/O 命令は、 8 ビッ トのI/O ポー ト をアクセスするときは 短くなる。 この場合は、 ポート ・アドレスの上位8ビットは0 になる。 この命令は、 プロセッサの I/O ア ド レ ス空間にある I/O ポー トのアクセスだけに有用で ある。 I/O トランザクションは、すべての先行するデータ・メモリ操作の後で実行される。これ 以降のデータ・メモリ操作は、I/O トランザクションを通ることができない。 Itanium ベース・システム環境では、I/O ポートの参照は、IOBase レジスタで指定され る 64 ビット仮想アドレスに、4K バイト仮想ページ当たり 4 ポートずつマッピングされ る。オペレーティング・システムは、Itanium アーキテクチャの TLB を利用して、任意 の 4 つの I/O ポートへのアクセス許可を付与または拒否できる。I/O ポート空間は、オペ レーティング・システム・コードによって、任意の 64 ビット物理メモリ・ロケーショ ンにマッピングされる。CFLG.io = 1 かつ CPL > IOPL の場合は、TSS を参照して、I/O 許可を与えるかどうかを決定する。CFLG.io = 0 または CPL
- Seite 640 und 641: LEA—Load Effective Address オペ
- Seite 642 und 643: LEAVE—High Level Procedure Exit
- Seite 644 und 645: LES—Load Full Pointer 「LDS/LES/
- Seite 646 und 647: LGDT/LIDT—Load Global/Interrupt D
- Seite 648 und 649: LGS—Load Full Pointer 「LDS/LES/
- Seite 650 und 651: LLDT—Load Local Descriptor Table
- Seite 652 und 653: LMSW—Load Machine Status Word オ
- Seite 654 und 655: LOCK—Assert LOCK# Signal Prefix
- Seite 656 und 657: LODS/LODSB/LODSW/LODSD—Load Strin
- Seite 658 und 659: LODS/LODSB/LODSW/LODSD—Load Strin
- Seite 660 und 661: LOOP/LOOPcc—Loop According to ECX
- Seite 662 und 663: LSL—Load Segment Limit ( 続き )
- Seite 664 und 665: LSS—Load Full Pointer 「LDS/LES/
- Seite 666 und 667: LTR—Load Task Register ( 続き )
- Seite 668 und 669: MOV—Move ( 続き ) デスティ
- Seite 670 und 671: MOV—Move ( 続き ) #GP( セレ
- Seite 672 und 673: MOV—Move to/from Control Register
- Seite 674 und 675: MOV—Move to/from Debug Registers
- Seite 676 und 677: MOVS/MOVSB/MOVSW/MOVSD—Move Data
- Seite 678 und 679: MOVSX—Move with Sign-Extension
- Seite 680 und 681: MOVZX—Move with Zero-Extend オ
- Seite 682 und 683: MUL—Unsigned Multiplication of AL
- Seite 684 und 685: NEG—Two's Complement Negation オ
- Seite 686 und 687: NOP—No Operation オペコード
- Seite 688 und 689: NOT—One's Complement Negation (
- Seite 692 und 693: OUT—Output to Port ( 続き ) 操
- Seite 694 und 695: OUTS/OUTSB/OUTSW/OUTSD—Output Str
- Seite 696 und 697: OUTS/OUTSB/OUTSW/OUTSD—Output Str
- Seite 698 und 699: POP—Pop a Value from the Stack
- Seite 700 und 701: POP—Pop a Value from the Stack (
- Seite 702 und 703: POP—Pop a Value from the Stack (
- Seite 704 und 705: POPA/POPAD—Pop All General-Purpos
- Seite 706 und 707: POPF/POPFD—Pop Stack into EFLAGS
- Seite 708 und 709: PUSH—Push Word or Doubleword onto
- Seite 710 und 711: PUSH—Push Word or Doubleword onto
- Seite 712 und 713: PUSHA/PUSHAD—Push All General-Pur
- Seite 714 und 715: PUSHF/PUSHFD—Push EFLAGS Register
- Seite 716 und 717: RCL/RCR/ROL/ROR-—Rotate ( 続き
- Seite 718 und 719: RCL/RCR/ROL/ROR-—Rotate ( 続き
- Seite 720 und 721: RDMSR—Read from Model Specific Re
- Seite 722 und 723: RDPMC—Read Performance-Monitoring
- Seite 724 und 725: RDTSC—Read Time-Stamp Counter (
- Seite 726 und 727: REP/REPE/REPZ/REPNE /REPNZ—Repeat
- Seite 728 und 729: RET—Return from Procedure オペ
- Seite 730 und 731: RET—Return from Procedure ( 続
- Seite 732 und 733: RET—Return from Procedure ( 続
- Seite 734 und 735: ROL/ROR—Rotate 「RCL/RCR/ROL/ROR
- Seite 736 und 737: SAHF—Store AH into Flags オペ
- Seite 738 und 739: SAL/SAR/SHL/SHR—Shift ( 続き )
OR—Logical Inclusive OR ( 続き )<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 />
#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />
イ メン ト が合わないメモ リ 参照が行われた場合。<br />
3:678 第 3 巻 : IA-32 基本命令リファレンス