日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常用ARM指令总结(未完待续)

發(fā)布時(shí)間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用ARM指令总结(未完待续) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ARM指令集介紹

7種工作模式,2種工作狀態(tài)

ARM指令的種類,共有7類指令,可以完成存儲器訪問,數(shù)據(jù)運(yùn)算,程序跳轉(zhuǎn),處理器控制,以及幫助編程的偽指令等。

數(shù)據(jù)處理指令大致分為三類:
a.數(shù)據(jù)傳送指令
b.算數(shù)邏輯運(yùn)算指令
c.比較指令

數(shù)據(jù)處理指令只能對寄存器的內(nèi)容進(jìn)行操作,而不能對內(nèi)存中的數(shù)據(jù)進(jìn)行操作。所有的ARM數(shù)據(jù)處理指令均可以選擇使用S后綴,并影響狀態(tài)標(biāo)志。

數(shù)據(jù)傳送指令
MOV 指令可將8位圖立即數(shù)或寄存器傳送到目標(biāo)寄存器,可用移位運(yùn)算等操作

同類型的指令還有MVN,它可以實(shí)現(xiàn)數(shù)據(jù)的 非傳遞 ,即把操作數(shù)取反后送至目標(biāo)寄存器

MOV指令與LDR指令都是往目標(biāo)寄存器中傳送數(shù)據(jù),但是它們有什么區(qū)別嗎?
MOV指令用于將數(shù)據(jù)從一個(gè)寄存器傳送到另一個(gè)寄存器中,或者將一個(gè)常數(shù)傳送到一個(gè)寄存器中,但是不能訪問內(nèi)存。LDR指令用于從內(nèi)存在洪讀取數(shù)據(jù)放入寄存器中。

算術(shù)邏輯指令

部分算數(shù)運(yùn)算符
ADD 加法運(yùn)算
ADC 帶進(jìn)位的加法運(yùn)算
SUB 減法運(yùn)算
RSB 逆向減法運(yùn)算
SBC 帶進(jìn)位的減法運(yùn)算
RSC 帶進(jìn)位逆向減法運(yùn)算

部分邏輯運(yùn)算符

AND 邏輯與運(yùn)算
ORR 邏輯或運(yùn)算
EOR 邏輯異或運(yùn)算
BIC 位清除運(yùn)算

比較運(yùn)算符:
CMP: 數(shù)值比較
CMN: 負(fù)數(shù)比較
TST: 位測試
TEQ: 相等測試

乘法指令:
32 * 32 位乘法指令; MUL
32 * 32 位乘加指令; MLA
32 * 32 位結(jié)果為64位的乘/乘加指令。

MUL R3,R2,R1 ;
R3=R1 * R2

MLA R3,R2,R1,R0 ;
R3=R2 *R1 +R0

跳轉(zhuǎn)指令:
B: 分支指令
BL :帶鏈接的分支指令
BX:帶狀態(tài)切換的分支指令

ARM偽指令有四條
a.小范圍地址讀取指令:ADR
b.中等范圍地址讀取指令:ADRL
c.大等范圍地址讀取指令:LDR
d.空操作指令:NOP

地址表達(dá)式

總結(jié)

以上是生活随笔為你收集整理的常用ARM指令总结(未完待续)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。