ARM指令集--ldr、mov與str的用法與區別
阿新 • • 發佈:2018-11-05
ARM指令集–ldr、mov與str的用法與區別
ARM 是 RISC 結構,因此只能使用精簡指令。
1. mov的用法
在ARM體系中,mov只能用於資料在暫存器之間的移動或者往暫存器中寫入立即數。格式如下:mov{條件}{s} 目的暫存器,源運算元
MOV R1,R2 ;R1=R2
- 1
2. ldr的用法
LDR是將記憶體中的數載入到暫存器,LDR可以載入立即數。格式如下:LDR 目的暫存器,源
LDR R1,=0xE0000000 ;R1=0xE0000000
LDR R1,0xE0000000 ;將記憶體中地址為0xE0000000的內容載入到R1
LDR R1,[R0] ;將R0中的數所指定的地址的內容傳輸到R1
- 1
- 2
- 3
3. str的用法
STR是將暫存器中的數字載入記憶體。格式如下:STR{條件} 源暫存器,<儲存器地址>
STR R1,[R0] ;將R1中的內容傳輸到R0中的數所指定的地址的記憶體中去
- 1
- 2
4. 他們之間的區別
mov 只能用於暫存器之間的傳輸,傳輸立即數時有條件限制,只能裝載通過偶數次移位能得到的立即數。
str/ldr 可以用於暫存器與記憶體之間的資料交換,STR是將暫存器中的數載入記憶體,LDR是將記憶體中的數載入到暫存器,LDR可以載入立即數。
並且LDR在往暫存器中載入立即數時,不受立即數的限制,而mov受其限制。
參考文獻:
- http://blog.chinaunix.net/uid-20769502-id-112379.html
- http://blog.sina.com.cn/s/blog_61b313a30101huxd.html
轉自HorizontalView的部落格:http://blog.csdn.net/horizontalview/article/details/50773740