Having trouble with interrupts.

I am using an Arduino Demilanove and I want to use pins D9-D13 as 5 interrupt lines.

My code currently looks something like this

int mask = 0;
void setup() {
   PCICR |= (1 << PCIE0);
   PCMSK0 |= (1 <<PCINT1) | (1 <<PCINT2) | (1 <<PCINT3) | (1 <<PCINT4) | (1 <<PCINT5);
   interrupts();
   Serial.begin(9600);
}

ISR ( PCINT0_vect ) {
    mask = PORTB;
    Serial.println(mask,BIN);
}

I eventually want to use mask to mask out the PORTB bits to see what has set off the interrupt, but I am just simply monitoring the value using the serial monitor right now.

When I set off the interrupt on that pin, the serial monitor prints, but it prints all 0s. I am supplying a 1, then a 0. It only displays 0.

I am expecting it to output 10 since PB1 is the bit changing.

Anyone know what I am doing wrong?

I am not sure but, use byte data type for mask instead of int. Remove the interrupts() function as far as I know in Arduino interrupts enabled at background. Don't use delay and millis in interrupt vector.