rdmsr
読み:リード-エムエスアー
外語:rdmsr: ReaD MSR(Model Specific Register)
Pentium 4以降あるいはAthlon 64以降で利用できるMSR取得用の特権命令(RING 0)。
情報
- オペコード: 0F 32
- ニーモニック: rdmsr
- クロック数: ?
- 動作: EDX:EAX ← MSR[ECX]
概要
ECXレジスターにMSRのアドレスを指定しrdmsr命令を実行すると、EDX:EAXレジスターに64ビットでMSRの内容がロードされる。
レジスターの内容の上位32ビットがEDX、下位32ビットがEAXに入る。
読み出すレジスター長が64ビットに満たない場合は、上位ビットは未定義で返される。
特徴
条件
この命令は特権レベル0で実行する必要があり、さもなくば一般保護例外(#GP)が生成される。
また未定義のアドレスをECXに指定した場合も、同様に一般保護例外(#GP)が生成される注意。
存在確認
この命令の存在は、EAXレジスターに1を代入してCPUID命令を実行し、EDXレジスターに得られたフラグのビット5(MSR)が1かどうかで確認できる。
命令が存在しない古いプロセッサーで実行すると、無効オペコード例外(#UD)が生成される。
再検索