所以我正在教大会,我们有一个任务是找到从内存读取和从缓存中读取之间的时间差。我们必须通过创建2个循环并计时来做到这一点。 (一个从主内存中读取,另一个从缓存中读取)。事情是,我不知道,也找不到任何告诉我如何从缓存或主内存读取的任何内容= /。你们能帮我吗?我在MASM32中做这个。我了解如何使环路和最良好的汇编语言,但我就是不能让它读=/我如何故意从主内存读取缓存?
编辑:
我有一个问题,我已经做到了这一点。 ..
mov ecx, 100 ;loop 100 times
xor eax, eax ;set eax to 0
_label:
mov eax, eax ;according to me this is read memory is that good?
dec ecx ;dec loop
jnz _label ;if still not equal to 0 goes again to _label
......那会好吗?
编辑2:
那好吧,我不打算撬,我很欣赏你的帮助,我只是有一个问题,因为这是两个回路我必须做的。我需要比较它们,我一直在寻找一个计时器指令,但我还没有找到任何我找到的只有:timeGetTime,GetTickCount和性能计数器但据我了解这些说明返回系统时间不是循环完成所需的时间。有没有办法实际做我想要的?或者我需要考虑另一种方式?
此外,要从第二个循环中的不同寄存器读取(不从缓存中读取的),如果我给出各种“mov”指令,可以吗?还是我完全脱离基地?
对不起所有这些问题,但再次感谢您的帮助。