为什么外部中断0加延时函数去抖动后要将中断请求标志IE0置零,不置零会怎样

//-----头文件引用-----
#include
#include
#include

sbit led7 = P1^7;
sbit led8 = P1^6;

//sbit key17 = P3^2;
//sbit key18 = P3^3;

bit intflag0;
bit intflag1;

//-----延时子程序-----
void delay(unsigned int t )

{
unsigned int k,j;
for(k=0;k<t;k++)

{
for(j=0;j<10000;j++);

if(intflag1==0)
{
for(j=0;j<10000;j++);
for(j=0;j<10000;j++);
}
}
}

void int0() interrupt 0
{
intflag0 =!intflag0;
delay(8);
IE0 = 0;
}

void int1() interrupt 2
   {
             intflag1 =!intflag1;
             delay(8);
             IE1 = 0;
         }       

//-----主函数-----
void main()
{
EA = 1;
EX0 = 1;
IT0 = 1;

EX1 = 1;
IT1 = 1;

while(1)
{

 if(intflag0==1)
 {
  led7 =    0;
    led8 =  0;
    delay(20);  
    led7 =  1;
    led8 =  1;
    delay(20);
 }
 else
 {
    led7 =  1;
    led8 =  0;
    delay(20);  
    led7 =  0;
    led8 =  1;
    delay(20);
 }


}

}