轉(zhuǎn)移指令
【跳轉(zhuǎn)指令】
B 跳轉(zhuǎn)指令
BL 帶返回的跳轉(zhuǎn)指令
BLX 帶返回和狀態(tài)切換的跳轉(zhuǎn)指令
BX 帶狀態(tài)切換的跳轉(zhuǎn)指令
程序狀態(tài)寄存器訪問(wèn)指令
1、【MRS指令】
MRS 通用寄存器,程序狀態(tài)寄存器(CPSR或SPSR)
MRS R0,CPSR ;傳送CPSR的內(nèi)容到R0
MRS R0,SPSR ;傳送SPSR的內(nèi)容到R0
2、【MSR指令】
MSR 程序狀態(tài)寄存器(CPSR或SPSR)_< 域 >,操作數(shù)
MSR CPSR,R0 ;傳送R0的內(nèi)容到CPSR
MSR SPSR,R0 ;傳送R0的內(nèi)容到SPSR
加載/存儲(chǔ)指令
ARM 微處理器支持加載/存儲(chǔ)指令用于在寄存器和存儲(chǔ)器之間傳送數(shù)據(jù),加載指令用于將存儲(chǔ)器中的數(shù)據(jù)傳送到寄存器,存儲(chǔ)指令則完成相反的操作。
1、【LDR指令】
LDR 目的寄存器,< 存儲(chǔ)器地址 >
LDR指令用于從存儲(chǔ)器中將一個(gè)32位的字?jǐn)?shù)據(jù)傳送到目的寄存器中。
LDR R0,[R1] ;將存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0。
LDR R0,[R1,R2] ;將存儲(chǔ)器地址為R1+R2的字?jǐn)?shù)據(jù)讀入寄存器R0。
LDR R0,[R1,#8] ;將存儲(chǔ)器地址為R1+8的字?jǐn)?shù)據(jù)讀入寄存器R0。
LDR R0,[R1,R2] ! ;將存儲(chǔ)器地址為R1+R2的字?jǐn)?shù)據(jù)讀入寄存器R0,并將新地址R1+R2寫(xiě)入R1。
LDR R0,[R1,#8] ! ;將存儲(chǔ)器地址為R1+8的字?jǐn)?shù)據(jù)讀入寄存器R0,并將新地址R1+8寫(xiě)入R1。
LDRB 和 LDRH 指令大家可以百度。
2、【STR指令】
STR 源寄存器,< 存儲(chǔ)器地址 >
STR指令用于從源寄存器中將一個(gè)32位的字?jǐn)?shù)據(jù)傳送到存儲(chǔ)器中。該指令在程序設(shè)計(jì)中比較常用,且尋址方式靈活多樣,使用方式可參考指令LDR。
STR R0,[R1],#8 ;將R0中的字?jǐn)?shù)據(jù)寫(xiě)入以R1為地址的存儲(chǔ)器中,并將新地址R1+8寫(xiě)入R1。
STR R0,[R1,#8] ;將R0中的字?jǐn)?shù)據(jù)寫(xiě)入以R1+8為地址的存儲(chǔ)器中。
STRB 和 STRH指令大家可以百度。
-
寄存器
+關(guān)注
關(guān)注
31文章
5423瀏覽量
123412 -
Linux
+關(guān)注
關(guān)注
87文章
11465瀏覽量
212825 -
程序
+關(guān)注
關(guān)注
117文章
3824瀏覽量
82444 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1029瀏覽量
21718
發(fā)布評(píng)論請(qǐng)先 登錄
多寄存器Load/Store內(nèi)存訪問(wèn)指令
單寄存器的Load/Store指令詳解

數(shù)據(jù)傳送指令之程序狀態(tài)寄存器指令簡(jiǎn)述
淺談單寄存器數(shù)據(jù)傳送指令
指令指針寄存器和指針寄存器差異性在哪兒

評(píng)論