C语言pause函数的有关问题

C语言pause函数的问题
void pause(int time)
{
  int t1;
  int t2;
  union REGS in;
  union REGS out;
  in.h.ah=0x2c;
  int86(0x21,&in,&out);
  t1=t2=100*out.h.dh+out.h.dl;
  while(t2-t1<time)
  {
  int86(0x21,&in,&out);
  t2=100*out.h.dh+out.h.dl;
  if(t2<t1)
  t2+=6000;
  }
}
 这段程序到底具体什么意思,请高手指点!

------解决方案--------------------
暂停函数啊
------解决方案--------------------
当执行这个pause函数时,最主要的部分就是循环部分
C/C++ code

while(t2-t1<time)
{
  int86(0x21,&in,&out);
  t2=100*out.h.dh+out.h.dl;
  if(t2<t1)
  t2+=6000;
}

------解决方案--------------------
该函数进行不断循环而实现暂停效果
------解决方案--------------------
VC的话,改用
#include <windows.h> 
Sleep(毫秒数);