arm學習小知識點彙總

2021-06-19 00:00:20 字數 1242 閱讀 4433

有什麼錯誤希望大家指出來,一起學習;

1.詳細說明arm有哪幾種工作模式,並說明什麼情況下進入相應的工作模式執行。

答:arm 一共有 7 種工作模式:

user(使用者):

mode number :0b10000

正常程式執行的模式;不能切換到其它模式

system(系統):

mode number :0b11111

屬於特權模式;特權模式間可通過暫存器cpsr切換模式

執行具有特權操作的系統任務(基於armv4架構及以上)

supervisor(管理):

mode number :0b10011

屬於特權模式,也屬於異常模式;特權模式間可通過暫存器cpsr切換模式

一種對當前工作系統的保護模式

abort(中止):

mode number :0b10111

屬於特權模式,也屬於異常模式;特權模式間可通過暫存器cpsr切換模式

資料中止:段錯誤的最低層

指令預取中止:是取到非法指令時,在執行階段發現指令被標記,執行指令中止

undefined(未定義):

mode number :0b11011

屬於特權模式,也屬於異常模式;特權模式間可通過暫存器cpsr切換模式

支援硬體協處理器的軟體**

interrupt(中斷):

mode number :0b10010

屬於特權模式,也屬於異常模式;特權模式間可通過暫存器cpsr切換模式

被使用於各種中斷相應

fast interrupt(快速中斷):

mode number :0b10001

屬於特權模式,也屬於異常模式;特權模式間可通過暫存器cpsr切換模式

支援告訴資料傳輸程式或告訴通道程式的執行;

2.簡述arm指令和thumb指令的區別。

答:(1).arm指令都是32位,thumb指令都是16位的

(2).arm指令功能強大,絕大多數的指令支援條件執行,eg:mcr;thumb指令除了跳轉指令支援條件執行,其它都不支援

(3).arm指令能訪問某些特殊暫存器(cpsr);thumb指令不能訪問

3.簡述暫存器r13,r14,r15的用途。

答:r13(sp):堆疊指標暫存器;用於棧相關操作

r14(lr):連線暫存器;當執行bl子程式呼叫指令時,lr中得到pc的備份

r15(pc):程式計數器;用於控制程式中指令的執行順序,其指向下下條指令

小知識點彙總

1 為什麼乙個數的各位數之和可以被3整除時,這個數就可以被3整除 設乙個n位數number,從個位起每一位為a1 an 則number a1 a2 10 a3 10 2 an 10 n 1 1 先證必要性 如果number的各位數之和是3的倍數,則a1 a2 an 3k k為正整數 2 由 2 得a...

小知識點彙總

按位運算 按位取反,單目運算子,例 10 按位與 都為 1 則為 1 按位或 有 1 則為 1 按位異或 不一樣為 1 1 按位左移 乘2的1次方 1 按位右移 左邊補 符號位值,相當於除2的一次方 char 1 short 2 int 4 long 4 long long 8 double 8 f...

Cocos Creator小知識點彙總

hexobj.color new cc.color 255,255,255,60 如上設定透明度,會報錯should not set alpha via color set opacity please 正確設定透明度的方式為 hexobj.opacity 90 另外諸如hexobj.color.s...