检查内联汇编中的RDRAND或RDSEED故障

时间:2018-04-02 22:39:58

标签: c++ assembly x86 inline-assembly rdrand

我正在尝试使用MSVC样式的内联汇编测试RDRAND和RDSEED中的错误。如果我没记错的话,一个失败的标志存储在一个寄存器中,但我不记得是哪一个。我在英特尔的网站上看到了一个例子

    asm volatile ("rdrand %0; setc %1"
    : "=r" (*rand), "=qm" (ok));

其中“= qm”和“ok”表示如果不等于1则失败,但我对GCC风格的内联汇编比较不熟悉,所以我不知道“= qm”是什么意思,我还没有能够搞清楚。如何确定MSVC样式内联汇编的成功与否?

提前致谢。

0 个答案:

没有答案