汇编程序延迟?

时间:2010-06-10 17:03:29

标签: assembly x86

我想知道如何在PC上的汇编程序16位上执行延迟(Timer)。 谢谢你的帮忙, 常态。

操作系统:Windows

CODE:

 delay:
     inc bx
     cmp bx,WORD ptr[time]
     je delay2
     jmp delay
 delay2:
     inc dx
     cmp dx,WORD ptr[time2]
     je delay3
     jmp delay
     mov bx,0
 delay3:
     inc cx
     cmp cx,WORD ptr[time3]
     je Finish_delay
     jmp delay

它不能正常工作我需要不那么复杂的代码

1 个答案:

答案 0 :(得分:0)

为什么不插入特殊的NO-OP指令?或者,您可以通过插入一个总是错误预测了一定次数的分支指令并将其与您的体系结构的分支惩罚相乘来计算延迟。这可能是准确的+ - 1个循环。