作业帮 > 综合 > 作业

解释一下下面这段程序,越具体越好……谢谢啦!DLY PROC NEAR PUSH CX PUSH DX MOV DX,1

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 21:34:22
解释一下下面这段程序,越具体越好……谢谢啦!DLY PROC NEAR PUSH CX PUSH DX MOV DX,10000
DLY PROC NEAR
PUSH CX
PUSH DX
MOV DX,10000
DL1:
MOV CX,6801
DL2:
LOOP DL2
DEC DX
JNZ DL1
POP DX
POP CX
RET
DLY ENDP
DLY PROC NEAR ;定义函数
PUSH CX ;cx入栈保存
PUSH DX ;dx入栈保存
MOV DX,10000 ;dx装入10000,也就是dx=10000
DL1:;标号,也就是一个记号
MOV CX,6801 ;将cx中存入6801
DL2:;标号
LOOP DL2 ;执行这条语句的时候,程序会现判断cx的值是不是0,如果是0就继续向下执行.如果不是0就将cx的值减一,然后跳转到DL2这个位置执行.然后一直循环,知道cx的值减到0为止.我们看到cx的初始值是6801.也就是要循环6801次.
DEC DX ;将dx的值减一
JNZ DL1 ;如果dx的值减一后不是0,就跳到DL1处执行,如果是0,就继续向下执行
POP DX ;将之前保存的dx值还原到dx
POP CX ;将之前保存的cx值还原到cx
RET ;返回主程序
DLY ENDP ;函数结束
说白了这个就是一个延时程序,它就是让cpu空转一段时间.