在我正在参加的一个vocatinal课程中,我们使用类似下面的子程序作为时间延迟。
push ax
push bx
mov ax, 1000
B---> mov bx, FFFF
A---> nop
dec bx
jnz (A)
dec ax
jnz (B)
pop bx
pop ax
ret
其中(1000)和(FFFF)是流量,十六进制,4位数值。
我希望有人可以帮我准确地计算一下这个程序。 (EX:10秒)如果可能的话,请包括我班级和我要使用的等式。
答案 0 :(得分:0)
为了使用此代码进行计时,您需要知道循环本身的持续时间;有多种方法可以做到这一点:
使用Software Developer Manuals查找每条指令的时间。
使用rdtsc
指令测量时钟周期
在任何一种情况下,您都需要除以CPU的时钟频率,以秒为单位获得时间。