#define DDRB (*(volatile unsigned char *)(0x17 + 0x20)) /* Registrador de direção dos dados da porta B*/
#define PORTB (*(volatile unsigned char *)(0x18 + 0x20))/* Registrador de dados */ 
#define IRQ0 __vector_1
#define IRQ1 __vector_2
#define SIGNAL __attribute__ ((signal))
#define GIMSK (*(volatile unsigned char *)(0x3B + 0x20))
#define SREG (*(volatile unsigned char *) (0x3F + 0x20))

void IRQ0 (void) SIGNAL;

void IRQ0 (void)
{
  int i;
  
  PORTB = ~PORTB;

  for(i = 0; i < 0xffff; i++);
  PORTB = PORTB;
  for(i = 0; i < 0xffff; i++);

}

void IRQ1 (void) SIGNAL;

void IRQ1 (void)
{
  IRQ0();
}

int main (void) {
  
  GIMSK = 0xC0;
  SREG = 0x80;

  DDRB = 0Xff; 

  while (1);

  
  return 0;
}