arm暫存器只有名字沒有位址,不像特殊功能暫存器有特定的實體地址,所以儲存在arm暫存器裡面的資料可以是任何資料(位址(特殊功能暫存器的位址)或資料(特殊功能暫存器儲存的資料))
資料處理指令(mov, add, sub, and, orr, eor, bic等):
資料處理指令大都 遵循以下格式(個別除外如b, cmp):
指令名稱 ,
s, 影響nzc
n = rd[31]
if (rd==0) z=1 else z=0
rd, 通用暫存器
operand:
立即數 mov r0, #100
注意立即數的合法性
暫存器 mov r0, r1
暫存器移位之後的值 mov r0, r1,lsl #3
這裡operand中的暫存器方式,如暫存器 mov r0, r1,這裡的r1不能帶中括號,因為這些資料處理暫存器是在處理器內部運算的,資料處理指令直接操作的就是暫存器裡面的資料
單暫存器載入儲存指令
因為資料的運算在處理器中執行,而資料位於記憶體中,所以使用的時候處理器需要對記憶體進行操作,處理器將資料從記憶體載入到暫存器的指令為ldr,從暫存器儲存到記憶體的指令為str
載入儲存指令就是c語言中的指標操作
比如這麼兩條指令
mov r0, #0x48000000 @告訴處理器去記憶體哪個地方取值
ldr r1, [r0] @將記憶體0x48000000開始的4位元組資料載入r1
這兩條指令就相當於r1 = *((unsigned char *)0x48000000),將通用暫存器加上中括號就是相當於通用暫存器裡面的資料是指向記憶體的某個位址
關於Estimation的隨筆
estimation有很多流派。從數字的選擇上來看 有的人喜歡用1,2,3,4,5。有的人喜歡用2,4,8,16。有的人喜歡1,2,3,5,8。從單位的選擇上來看 有的人喜歡用 點 有的人喜歡用 ideal day 有的人喜歡用 ideal hour 我個人喜歡用2,3,4,5,單位喜歡用 real...
關於hession 隨筆
今天遇到乙個問題,糾結了很久也沒有解決,情況是這樣的,我這個專案使用的是 hession 通訊。我做的業務很簡單,只是新加了乙個介面 這 個介面是廣告那一塊的,資料庫在之前的專案裡面都沒有使用到addb,所以需要在spring的配置裡面新增addb jdbc.xml 總結 在這樣的專案中,遇到這樣的...
關於ARM的ROM RAM區別
關於arm的rom ram arm架構和 型微控制器的乙個顯著區別就是 arm 的資料和 是統一編址的,二者可使用相同的指令訪問 微控制器是分別編址的,使用不同的指令訪問。現在的增強型微控制器雖然內部ram空間也不小,但 只能老老實實在 flash中執行,ram中只能存放資料,想在其中執行程式想都別...