title: explain this code
body: <p>can anyone please explain this code?</p>
  
  <pre><code>#include &lt;avr/io.h&gt;
  #include &lt;avr/interrupt.h&gt;
  #include &lt;avr/signal.h&gt;
  
  char n = 0;
  char FLAG =0x00;
  char FLAG2 =0x00;
  
  char RST=0x00;
  unsigned char minutes_save [20];
  unsigned char seconds_save [20];
  int seconds, minutes, shift, count;
  
  
  
  
  void init(void)
  {
  
      DDRB = 0xff;
      DDRA  =0xff;
      MCUCR = 0x0F;
      GICR = 0xC0;
      TCCR2 = 0x05;
      ASSR = 0x08;
      TCNT2 = 0x00;
      sei();
  }
  
  
  SIGNAL(SIG_INTERRUPT0)
  
  {   
  
      if (FLAG == 0x00)
          TIMSK = 0x40;
  
      if (FLAG == 0x01)
          TIMSK = 0x00;
  
      FLAG = FLAG ^ 1;
  
  }
  </code></pre>