正在經歷手臂異常處理的基礎知識,並且懷疑: (我以中止異常爲例) 讓我們假設處理器在用戶模式下運行。手臂異常處理機制
當例外發生時,處理器將保存當前pc
到abort_mode LR
和CPSR
中止模式SPSR
和執行跳轉到向量地址爲中止,所以PC
現在將包含向量地址爲中止。
所以我在這裏得到的是流程轉移到中止模式(有電腦中止矢量)之前。 CPU以下任務將執行: 「當前pc
到abort_mode LR
和CPSR
中止模式SPSR
然後執行跳轉到爲中止向量地址」,如上面提到的。 在哪種模式下以及從哪裏執行指令以執行上述任務?
準確地說你的問題是什麼? – tangrs 2013-05-09 07:47:48
@tangrs,請看看你現在是否得到我。 – user2333014 2013-05-09 13:21:18
ARM內部的*微代碼可以完成所有這些工作。 **注意:** ARM中的向量表是'code',而不是指向'code'的指針。通常某些分支或'ldr pc,= abort_handler'位於向量表中。數據中止有一個小*孔*,有兩條指令可用。 FIQ結束了,不必跳。 – 2013-05-09 14:01:18