ARM指令需要注意的幾點問題

2021-05-22 13:14:25 字數 899 閱讀 9967

1、對於bx 分支並且轉換狀態指令,需要注意 在指令最低位確定分支處的**型別(arm=1,thumb=0),因此我們可以通過指令修改最後一位,使bx指令等效轉化成由具有bl功能的其它幾條指令。

adrl r0,thumbfun+1;無論字對齊還是半字對齊,最低位都為零,而轉換處理器狀態需要設定最低位,因此進入thumb需該最低位進入arm則不需要。

bx r0;跳轉到ro位置,並通過設定其最低位修改處理器工作狀態。

2、再者要注意塊傳送指令的增減狀態,及ldm,stm 在與r15及^搭配使用時需要注意的指標回寫問題。

3、adr、adrl偽指令的偏移情況,需要重視,這條指令的偏移是相對於程式和暫存器的,往往是體現目的位址相對於本指令pc的偏移量。

4、pc的變化情況也是乙個相當值得注意的問題,見以下鏈結

5、import ******, 若在鏈結時沒有對應的符號,則在

b ******;此處跳轉位址將變為該指令的位址,從而程式死在這裡

其它情況下 ******為 零。

6、要靈活運用assert及info指令為**排錯。

7、對立即數操作的問題值得重視,http://blog.csdn.net/liukun321/archive/2010/05/13/5588380.aspx

8、ldr偽指令,中的偏移是相對於literal pool的。顧偏移範圍最大不能超過4k。

9、swi的進入及返回。http://blog.csdn.net/liukun321/archive/2010/05/09/5571478.aspx

學習程式設計需要注意的幾點

1 不要死記硬背語法 程式開發的語法 規範特別多,不可能全記下來,只要知道有這麼乙個功能即可,需要的時候再翻書或查詢幫助。這樣省時省力,可以將更多的時間和精力用在技術的提高上。2 多動手,多練習 死讀書是成不了程式設計高手的!只有多練習,多上機編寫程式,才能在實踐中提高對程式設計的認識。3 遇到問題...

Object c block需要注意的幾點問題

摘自 date 2015 12 4 1.block定義 1 說明 a.block是oc中的一種資料型別,在ios開發中被廣泛使用 b.是block的特有標記 c.block的實現 包含在 之間 d.大多情況下,以內聯inline函式的方式被定義和使用 e.block與c語言的函式指標有些相似,但使用...

jquery的 on 函式需要注意的幾點

jquery 的.on 函式允許元素通過 的方式繫結事件,也就是說,子元素通過事件冒泡,把事件傳遞到父元素上進行處理。這也就允許了對動態建立元素的事件繫結。對於.on 函式,有以下幾點值得注意 使用.on函式可以對動態建立的,暫時不存在的元素繫結事件,比如說頁面有乙個 列表,列表裡面的 是通過aja...