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