(It doesn't matter which compiler you are using, Basic, C or assembler).
By default the interrupts are not nested. When an interrupt is
executed, all other interrupts (if any) are disabled automatically.
When the interrupt terminates, the other interrupts are automatically
enabled again. When the interrupts are enabled again, if there are
pending interrupts, the order of their execution is the order you can
see in the datasheet of the AVR "Interrupt/Interrupt Vectors in ....).
The interrupt vector with the lower address in the program memory has
the higher priority.
You can have nested interrupts if you use the assembly instruction SEI
in your interrupt service routine. If a second interrupt occurs while
the first interrupt is executed then the first interrupt will be
interrupted and the second interrupt will be serviced. When the second
interrupt is over, the execution will go back to the first interrupt
service routine. If you use nested interrupts make sure the stack
is big enough. Nested interrupts are an advanced topic and are difficult
to debug. (Don't use them).