解释下这个延迟程序
发布网友
发布时间:2022-05-14 05:58
我来回答
共1个回答
热心网友
时间:2023-10-06 01:31
8086?...古董阿
还是根据晶振算,一个指令周期是几个时钟周期我就不知道了,试验下看看
51的话,如果是12MHz的晶振,一个时钟周期就是1/12微秒,一个指令周期是12*1/12=1微秒
这个程序延迟102410次,也就是延迟102.41ms
看来你的晶振是100/102.41*12=11.72MHz?
DELAY PROC
MOV BL, 10
AGAIN: MOV CX, 2801H
WAIT: LOOP WAIT 循环2801H次,就是10241次
DEC BL BL-1
JNZ AGAIN 如果BL=0,跳到AGAIN
RET
DELAY ENDP
总共循环次数为BL*CX=10*2801H=102410次