0

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

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

其中“=qm”和“ok”如果不等于1则表示失败,但是我对GCC风格的内联汇编比较陌生,所以不知道“=qm”是什么意思,一直想不通出来。如何确定 MSVC 样式的内联汇编中的成功或失败?

提前致谢。

4

0 回答 0