EXCEPTIONS(异常)包含的范围特别广泛,除了 System&User 模式,其他的都叫异常。
上图为 S3C2440 的官方异常向量表。
当出现某种对应的异常时,跳到对应的地址(norflash/sram)执行,这是由硬件决定的。所以,要写引导程序的汇编码的时候一定要注意按照这个地址来写。
本篇要讲的中断(IRQ)属于 EXCEPTIONS 的一种,当外部硬件引发某种中断时,硬件会自动跳转到 0x00000018去执行程序。所以,可以在地址0x00000018处用跳转指令,跳转到中断处理程序去处理中断。
关于中断的处理过程请参考这篇文章,站在巨人的肩膀上: