有什麼錯誤希望大家指出來,一起學習;
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...