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.

SGDT/SIDT—Store Global/Interrupt Descriptor Table Register<br />

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

0F 01 /0 SGDT m GDTR を m にストアする。<br />

0F 01 /1 SIDT m IDTR を m にストアする。<br />

説明<br />

グローバル・ ディスク リプタ ・ テーブル ・ レジスタ (GDTR) または割り込みディスクリ プタ ・ テーブル ・ レジスタ (IDTR) をデスティネーション・オペランドにストアする。 デ<br />

スティネーション・オペランドは、 6 バイ ト のメモリ ・ ロケーシ ョ ンを指定する。 オペ<br />

ランド ・ サイズ属性が 32 ビ ッ ト であ る場合は、 レ ジ ス タ の 16 ビッ トのリ ミッ ト ・<br />

フィールドがメモリ ・ロケーションの下位2バイ ト にス ト アされ、 32 ビッ トのベース・<br />

アドレスが上位4バイ ト にス ト アされる。 オペランド ・ サイズ属性が 16 ビッ トである場<br />

合は、 範囲が下位 2 バイ ト にス ト アされ、 24 ビットのベース・アドレスが3 ~ 5 バイ ト<br />

目にス ト アされ、 6 バイ ト目は 0 で埋められる。<br />

SGDT 命令お よ び SIDT 命令は、 オペレーティング・システム・ ソフトウェアだけに有用<br />

であるが、 アプ リ ケーシ ョ ン ・ プログラムで使用でき る。<br />

操作<br />

IF Itanium System Environment THEN IA-32_Intercept(INST,SGDT/SIDT);<br />

IF instruction is IDTR<br />

THEN<br />

IF OperandSize = 16<br />

THEN<br />

DEST[0:15] ← IDTR(Limit);<br />

DEST[16:39] ← IDTR(Base); (* 24 bits of base address loaded; *)<br />

DEST[40:47] ← 0;<br />

ELSE (* 32-bit Operand Size *)<br />

DEST[0:15] ← IDTR(Limit);<br />

DEST[16:47] ← IDTR(Base); (* full 32-bit base address loaded *)<br />

FI;<br />

ELSE (* instruction is SGDT *)<br />

IF OperandSize = 16<br />

THEN<br />

DEST[0:15] ← GDTR(Limit);<br />

DEST[16:39] ← GDTR(Base); (* 24 bits of base address loaded; *)<br />

DEST[40:47] ← 0;<br />

ELSE (* 32-bit Operand Size *)<br />

DEST[0:15] ← GDTR(Limit);<br />

DEST[16:47] ← GDTR(Base); (* full 32-bit base address loaded *)<br />

FI;<br />

FI;<br />

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

なし。<br />

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

IA-32_Intercept SIDT および SGDT 命令での命令イ ン タ ーセプ ト 。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!