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.

OUT—Output to Port<br />

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

E6 ib OUT imm8, AL AL にあるバイトを imm8I/O ポート・アドレスに出力する。<br />

E7 ib OUT imm8, AX AX にあるワードを imm8I/O ポート・アドレスに出力する。<br />

E7 ib OUT imm8, EAX EAX にあるダブルワードを imm8I/O ポート・アドレスに出力する。<br />

EE OUT DX, AL AL にあるバイトを DX にある I/O ポート・アドレスに出力する。<br />

EF OUT DX, AX AX にあるワードを DX にある I/O ポート・アドレスに出力する。<br />

EF OUT DX, EAX EAX にあるダブルワードを DX にある I/O ポート・アドレスに出力<br />

する。<br />

説明<br />

値を第 2 オペラン ド ( ソース ・ オペランド ) からデスティネーション ・ オペランド ( 第 1<br />

オペラン ド ) で指定された I/O ポー トにコピーする。 ソース ・ オペランドには、 アクセ<br />

スされるポートのサイズ(8、 16、 または 32 ビッ ト ) に応じてそれぞれ AL、 AX、 または<br />

EAX レジスタを使用できる。 デスティネーション・オペランドには、 バイト即値または<br />

DX レジスタを使用でき る。 バイ ト 即値を使用する と、 I/O ポー ト ・アドレス 0 ~ 255 を<br />

アクセスできる。 ソース ・ オペランド としてDX レジスタを使用すると、 I/O ポー ト 0 ~<br />

65,535 をアクセスするこ とができる。<br />

8 ビットのI/O ポー トにアクセスする場合は、 ポー ト ・サイズはオペコードによって決ま<br />

る。 16 ビッ トまたは32 ビッ トのI/O ポー トにアクセスする場合は、 ポー ト ・サイズはオ<br />

ペラン ド ・ サイズ属性によ って決まる。<br />

マシン ・ コ ー ド ・ レベルでは、 I/O 命令は、 8 ビッ トのI/O ポー ト をアクセスするときは<br />

短くなる。 この場合は、 ポート ・アドレスの上位8ビットは0 になる。<br />

この命令は、 プロセッサの I/O ア ド レ ス空間にある I/O ポー トのアクセスだけに有用で<br />

ある。<br />

I/O トランザクションは、すべての先行するデータ・メモリ操作の後で実行される。これ<br />

以降のデータ・メモリ操作は、I/O トランザクションを通ることができない。<br />

Itanium ベース・システム環境では、I/O ポートの参照は、IOBase レジスタで指定され<br />

る 64 ビット仮想アドレスに、4K バイト仮想ページ当たり 4 ポートずつマッピングされ<br />

る。オペレーティング・システムは、Itanium アーキテクチャの TLB を利用して、任意<br />

の 4 つの I/O ポートへのアクセス許可を付与または拒否できる。I/O ポート空間は、オペ<br />

レーティング・システム・コードによって、任意の 64 ビット物理メモリ・ロケーショ<br />

ンにマッピングされる。CFLG.io = 1 かつ CPL > IOPL の場合は、TSS を参照して、I/O<br />

許可を与えるかどうかを決定する。CFLG.io = 0 または CPL

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!