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

程序如下:DELAY:PUSHCX;延时子程序MOVCX,0100HDL1:PUSHAXPOPAXLOOPDL1POPCXRET为什么要用AX进栈出栈的操作来实现延时呢?... 程序如下:

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

为什么要用AX进栈出栈的操作来实现延时呢?用其他语句行吗?上面这个子程序实际上延迟了多长时间?老师说执行一个语句需要10毫秒。谢谢各位
其实我是想问为什么要用进栈出栈而不用加加减减?都使用来凑时间,用别的语句不行吗?或者用无操作的NOP不是更好么?又能占时间还不用占用CPU资源来处理操作~~
还有那本身循环的那条LOOP算不算循环的一部分?谢谢!
展开
 我来答
AfreetDa
2010-06-16 · TA获得超过1466个赞
知道小有建树答主
回答量:1430
采纳率:0%
帮助的人:667万
展开全部
延时时间和你设的频率有关,这里把PUSH AX POP AX循环100次,在乘以循环周期就是延时时间,至于用AX,BX无关紧要,只要最后恢复现场就好。
当然没问题,++——一样可以,NoP也没问题,LOOP也算时间
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式