Interrupt handlers on the ARM evaluation board

The interrupt handler's address should be stored at location 0x18.

The ARM SDK User Guide gives code to dispatch interrupts by priority using software.

You can write an interrupt handler in C with the special declaration __irq:

extern int flag = 0;

__irq void handler1(void)
{
flag = 1;
}

The __irq declaration causes the compiler to preserve all registers and to exit the function using interrupt handler linkage (setting PC to LR-4 and retstoring CPSR).