8

プロセッサ (Intel Core i3) の Intel の乱数発生器から乱数を取得する必要があります。私はライブラリを使用したくありません。C++ でアセンブラ ペーストを使用したいのですが、どのレジスタと命令を使用すればよいかわかりません。

4

2 に答える 2

11

サポートされている CPU (現在、Ivy Bridge および Haswell Intel CPU のみ)で命令を呼び出すRDRANDと、ランダムな値が指定されたレジスタに配置されます。たとえば、これによりランダムな 64 ビット値が得られます。

RDRAND %rax

成功すると、キャリー ビットがセットされます。詳細については、Intel のBull Mountain ソフトウェア実装ガイドを参照してください。(「ブル マウンテン」は Intel のハードウェア RNG のコードネームです。)

于 2012-07-10T05:32:38.327 に答える