arm指令全稱及功能

arm指令全稱及功能

ID:33904933

大?。?84.00 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-03-01

arm指令全稱及功能_第1頁(yè)
arm指令全稱及功能_第2頁(yè)
arm指令全稱及功能_第3頁(yè)
arm指令全稱及功能_第4頁(yè)
arm指令全稱及功能_第5頁(yè)
資源描述:

《arm指令全稱及功能》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、指令格式:指令{條件}{S}{目的Register},{OP1},{OP2}"{}"中的內(nèi)容可選。即,可以不帶條件只有目的寄存器,或只有目的寄存器和操作數(shù)1,也可以同時(shí)包含所有選項(xiàng)。“S”決定指令的操作是否影響CPSR中條件標(biāo)志位的值,當(dāng)沒(méi)有S時(shí)指令不更新CPSR中條件標(biāo)志位的值助記符英文全稱示例、功能跳轉(zhuǎn)指令BBranch跳轉(zhuǎn)指令BLabel;程序無(wú)條件跳轉(zhuǎn)到標(biāo)號(hào)Label處執(zhí)行BLBranchwithLink帶返回的跳轉(zhuǎn)指令BLLabel;當(dāng)程序無(wú)條件跳轉(zhuǎn)到標(biāo)號(hào)Label處執(zhí)行時(shí),同時(shí)將當(dāng)前的PC值保存到R14中BLXBranchwithLinkandexchange

2、帶返回和狀態(tài)切換的跳轉(zhuǎn)指令BLXLabel;從ARM指令集跳轉(zhuǎn)到指令中所指定的目標(biāo)地址,并將處理器的工作狀態(tài)有ARM狀態(tài)切換到Thumb狀態(tài),該指令同時(shí)將PC的當(dāng)前內(nèi)容保存到寄存器R14中BXBranchandexchange帶狀態(tài)切換的跳轉(zhuǎn)指令BXLabel;跳轉(zhuǎn)到指令中所指定的目標(biāo)地址,目標(biāo)地址處的指令既可以是ARM指令,也可以是Thumb指令數(shù)據(jù)處理MOVMove數(shù)據(jù)傳送MOVR1,R0,LSL#3;將寄存器R0的值左移3位后傳送到R1MVNMoveNOT數(shù)據(jù)非傳送MVNR0,#0;將立即數(shù)0取反傳送到寄存器R0中,完成后R0=-1CMPCompare比較指令CMP

3、R1,R0;將寄存器R1的值與寄存器R0的值相減,并根據(jù)結(jié)果設(shè)置CPSR的標(biāo)志位CMNComparenegative負(fù)數(shù)比較指令CMNR1,R0;將寄存器R1的值與寄存器R0的值相加,并根據(jù)結(jié)果設(shè)置CPSR的標(biāo)志位TSTTest位測(cè)試指令TSTR1,#0xffe;將寄存器R1的值與立即數(shù)0xffe按位與,并根據(jù)結(jié)果設(shè)置CPSR的標(biāo)志位TEQTestequivalence相等測(cè)試指令TEQR1,R2;將寄存器R1的值與寄存器R2的值按位異或,并根據(jù)結(jié)果設(shè)置CPSR的標(biāo)志位ADDAdd加法運(yùn)算指令A(yù)DDR0,R2,R3,LSL#1;R0=R2+(R3<<1)ADCAddwit

4、hcarry帶進(jìn)位加法ADCSR2,R6,R10;R2=R6+R10+!C,且更新CPSR的進(jìn)位標(biāo)志位SUBSubtract減法運(yùn)算指令SUBR0,R1,#256;R0=R1–256SBCSubtractwithcarry帶進(jìn)位減法指令SUBSR0,R1,R2;R0=R1-R2-!C,并根據(jù)結(jié)果設(shè)置CPSR的進(jìn)位標(biāo)志位RSBReversesubtract逆向減法指令RSBR0,R1,R2;R0=R2–R1RSCReversesubtractwithcarry帶進(jìn)位逆向減法指令RSCR0,R1,R2;R0=R2–R1-!CANDAnd邏輯與操作指令A(yù)NDR0,R0,#3;該

5、指令保持R0的0、1位,其余位清零。ORROR邏輯或操作指令ORRR0,R0,#3;該指令設(shè)置R0的0、1位,其余位保持不變。EORExclusiveOR邏輯異或操作指令EORR0,R0,#3;該指令反轉(zhuǎn)R0的0、1位,其余位保持不變。BICBitclear位清除指令BICR0,R0,#0b1011;該指令清除R0中的位0、1、和3,其余的位保持不變。CLZCountleftzero計(jì)算操作數(shù)最高端0的個(gè)數(shù)乘加指令MULMultiply32位乘法指令MULR0,R1,R2;R0=R1×R2MLAMultiplyandaccumulate32位乘加指令MLASR0,R1,R

6、2,R3;R0=R1×R2+R3,同時(shí)設(shè)置CPSR中的相關(guān)條件標(biāo)志位SMULLSignedmultiplylong64位有符號(hào)數(shù)乘法指令SMULLR0,R1,R2,R3;R0=(R2×R3)的低32位R1=(R2×R3)的高32位SMLALSignedmullandaccumulatel64位有符號(hào)數(shù)乘加指令SMLALR0,R1,R2,R3;R0=(R2×R3)的低32位+R0;R1=(R2×R3)的高32位+R1UMULLUnsignedmultiplylong64位無(wú)符號(hào)數(shù)乘法指令UMULLR0,R1,R2,R3;R0=(R2×R3)的低32位;R1=(R2×R3)的

7、高32位UMLALUnsignedmul&accumulatelon64位無(wú)符號(hào)數(shù)乘法指令UMLALR0,R1,R2,R3;R0=(R2×R3)的低位+R0;R1=(R2×R3)的高32位+R1PSR訪問(wèn)MRSMovePSRtoregister程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令MRSR0,CPSR;傳送CPSR的內(nèi)容到R0MSRMoveregistertoPSR通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令MSRCPSR_c,R0;傳送R0的內(nèi)容到SPSR,但僅僅修改CPSR中的控制位域加載/存儲(chǔ)指令LDRLoadword字?jǐn)?shù)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。