N是你写程序时自己设置的,可以为任何整数。
设CPU的时钟频率为5MHs,试编写一个延时1ms的程序。
DEL_1MS: MOV CX, N ;4*1 这里的4是指指令MOV CX, N 执行一次需要4个时钟周期,1为执行次数
NEXT: NOP ;3*N 与上面相同 3 为时钟周期 N为执行次数
NOP ;3*N 与上面相同
LOOP NEXT ;17/5( 循环/不循环)17的意思是循环没结束时 执行LOOP NEXT 指令需要17个时钟周期,循环结束时 LOOP NEXT指令需要5个时钟周期
所以总时钟周期数 = 4+3N+3N+17(N-1)+5
时钟周期 = 1/CPU 的时钟频率 = 1/5M =0.2us
那么总共需要的时间就是 0.2 * (4+3N+3N+17(N-1)+5) us
延时为1ms的话 就是 令0.2 * (4+3N+3N+17(N-1)+5) = 1000us
解出N就行了。解出来N = 218 因为时钟周期数只能是整数。
希望能帮到你。
温馨提示:答案为网友推荐,仅供参考