64,654
社区成员
发帖
与我相关
我的任务
分享
void delay(int a){
int sum=0;
for(int i=1;i<=a;++i)
for(int j=1;j<3500;++j)
for(int k=1;k<100000;++k);
sum++;
}
这是怎么实现延时的,又怎么判断????好像不用这个函数也行。#include<iostream>
#include<ctime>
int main()
{
using namespace std;
cout<<"Enter the delay time,in seconds:";
float secs;
cin>>secs;
clock_t delay=secs*CLOCKS_PER_SEC;
cout<<"strating:\a\n";
clock_t start=clock();
while(clock()-start<delay)
;
cout<<"done\a\n:";
return 0;
}
;延时0.5s子程序DELAY如下:
DELAY PROC
PUSH CX
PUSH DX
MOV DX,50;0.5 s=500 ms
DL500:;50 ms =50,000 us
MOV CX,2801
DL10MS:;50,000 us/2801=17.850767583006069260978222063549 us-->9.4 period
LOOP DL10MS;17/5 period
DEC DX;2
JNZ DL500;4
POP DX
POP CX
RET
DELAY ENDP