我正在尝试使用MSVC样式的内联汇编测试RDRAND和RDSEED中的错误。如果我没记错的话,一个失败的标志存储在一个寄存器中,但我不记得是哪一个。我在英特尔的网站上看到了一个例子
asm volatile ("rdrand %0; setc %1"
: "=r" (*rand), "=qm" (ok));
其中“= qm”和“ok”表示如果不等于1则失败,但我对GCC风格的内联汇编比较不熟悉,所以我不知道“= qm”是什么意思,我还没有能够搞清楚。如何确定MSVC样式内联汇编的成功与否?
提前致谢。