我写了一个小的随机数字程序,它利用 RDTSC 给我随机性。我使用 FASM 在 Linux Mint 17 上编写了它。
问题是,它在 AMD FX 64 位 PC 上完美运行,但在 Windows 8 和 Linux Mint 下,英特尔赛扬上网本(64 位)上的确切代码失败(或挂起)(我双启动,所以我调整了Win 8 的代码)
这里可能是什么问题?这基本上是代码;
again:
rdtsc
and eax,1111b
cmp eax,10
jae again
;things to do with the random digit
我调试了一下,发现罪魁祸首隐藏在这部分代码中。但我也看不出有什么问题。它在我的 AMD PC 上完美运行。英特尔 CPU 是否默认禁用 RDTSC?