Assembly x86汇编:查找在非常技术\特定条件下可能中断的循环示例

Assembly x86汇编:查找在非常技术\特定条件下可能中断的循环示例,assembly,x86,emu8086,Assembly,X86,Emu8086,在我前面的问题()中,有人展示了在非常特定的条件下可以破坏的小代码: safe: rdrand jc safe 这段代码显然不适用于我正在使用的模拟器,但我真的很喜欢这个想法。所以我想看看是否有人知道类似的东西,可以在emu8086上工作。谢谢 通过使用运行相同循环的其他内核(或不以RDRAND返回值为条件的内核)耗尽硬件RNG,“中断” 这甚至只在一些具有RDRAND特性的CPU上可能实现,不包括第一代的IvyBridge emu8086模拟单核8086,因此没有多个核可

在我前面的问题()中,有人展示了在非常特定的条件下可以破坏的小代码:

safe: 
    rdrand 
    jc safe
这段代码显然不适用于我正在使用的模拟器,但我真的很喜欢这个想法。所以我想看看是否有人知道类似的东西,可以在emu8086上工作。谢谢

通过使用运行相同循环的其他内核(或不以RDRAND返回值为条件的内核)耗尽硬件RNG,“中断”

这甚至只在一些具有RDRAND特性的CPU上可能实现,不包括第一代的IvyBridge

emu8086模拟单核8086,因此没有多个核可以同时运行。它也没有任何类似的共享资源。我不认为有任何类似的情况

除了RDRAND,现代x86可能会运行一个对时间敏感的循环,该循环检查背对背
rdtsc
结果之间的间隔(时间戳计数器),或者使用
rdtsc
来计时长链
imul
的延迟。然后,来自同一物理核上的另一个逻辑核(超线程)的竞争可能会破坏它。这会给你同样的共享资源效果。或者,甚至以原子方式增加内存位置的争用可能对物理核心之间的争用很敏感

然而,这些想法对于8086仍然是无用的。它不做SMP,只做单处理器系统。甚至没有类似的想法可以工作在8086,除非你考虑像设备中断之类的事情。e、 g.对中断控制器进行编程,以频繁触发计时器中断