急,在线等!关于8086/8088汇编语言的延迟子程序

程序如下:

DELAY: PUSH CX ;延时子程序
MOV CX, 0100H
DL1: PUSH AX
POP AX
LOOP DL1
POP CX
RET

为什么要用AX进栈出栈的操作来实现延时呢?用其他语句行吗?上面这个子程序实际上延迟了多长时间?老师说执行一个语句需要10毫秒。谢谢各位
其实我是想问为什么要用进栈出栈而不用加加减减?都使用来凑时间,用别的语句不行吗?或者用无操作的NOP不是更好么?又能占时间还不用占用CPU资源来处理操作~~
还有那本身循环的那条LOOP算不算循环的一部分?谢谢!

延时时间和你设的频率有关,这里把PUSH AX POP AX循环100次,在乘以循环周期就是延时时间,至于用AX,BX无关紧要,只要最后恢复现场就好。
当然没问题,++——一样可以,NoP也没问题,LOOP也算时间
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答