rdmsr
読み:リード-エムエスアー
外語:rdmsr: ReaD MSR(Model Specific Register)

 Pentium 4以降あるいはAthlon 64以降で利用できるMSR取得用の特権命令(RING 0)。
目次

情報

概要
 ECXレジスターにMSRのアドレスを指定しrdmsr命令を実行すると、EDX:EAXレジスターに64ビットでMSRの内容がロードされる。
 レジスターの内容の上位32ビットがEDX、下位32ビットがEAXに入る。
 読み出すレジスター長が64ビットに満たない場合は、上位ビットは未定義で返される。

特徴

条件
 この命令は特権レベル0で実行する必要があり、さもなくば一般保護例外(#GP)が生成される。
 また未定義のアドレスをECXに指定した場合も、同様に一般保護例外(#GP)が生成される注意。

存在確認
 この命令の存在は、EAXレジスターに1を代入してCPUID命令を実行し、EDXレジスターに得られたフラグのビット5(MSR)が1かどうかで確認できる。
 命令が存在しない古いプロセッサーで実行すると、無効オペコード例外(#UD)が生成される。

再検索