原创 屌絲學arm彙編-04-ldr的使用小結

ldr作爲用法在arm中比較常見,爲了搞清楚其區別今天特意寫了一個demo,貼出來把心得記下來。 ADS1.2的工程 代碼路徑:http://download.csdn.net/download/losting_boy/9620660 /

原创 屌絲學arm彙編-05-編譯器如何利用pc指針生成PIC(位置無關碼)

首先來2個問題 1.編譯器如何處理僞指令,例如ldr。首先僞指令不是真實的指令,這樣說有些模糊。僞指令的執行者不是arm cpu,而是編譯器。這個描述準確點,但是編譯器只是把僞 指令做了轉化,轉化成arm指令,最終還是有arm cpu來執

原创 屌絲學arm彙編-06-thumb模式下ldr和bl一起使用需要注意的

</pre>1.arm在thumb模式下,pc = pc + 4;但是bl指令在thumb的指令爲4byte,這個是個特殊情況,如果我在bl指令之前獲取pc的指針,那麼其值是否會仍然遵守pc = pc + 4?<p></p><p>2.b

原创 屌絲學arm彙編-03-arm模式和cpsr

1.ARM有7種模式和37個寄存器【引用了一些網上的現有的比較好的圖片,向圖片作者致敬】 以上圖標黑色部分爲共用的部分。USR和SYS共用同一個寄存器集。 (1)共同寄存器集合:R0-R7,PC,CPSR (2)除了USR/SYSTE

原创 屌絲學arm彙編-02-冒泡排序

接觸arm彙編有了一段時間了,綜合一下,打算用arm彙編寫一個排序算法,貼下代碼: count equ 10 sploc equ 0x9000 area example13,code,readonly entry start

原创 屌絲學arm彙編-01-TST指令

一.指令說明 格式:TST{條件}{P} <op 1>, <op 2> 描述:TST 位測試指令 說明:TST 來檢查是否設置了特定的位。操作數 1 是要測試的數據字而操作數 2 是一個位掩碼,TST指令將操作數1與操作數2做邏