ARM指令集.doc_第1页
ARM指令集.doc_第2页
ARM指令集.doc_第3页
ARM指令集.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM指令集单寄存器加载助记符说明操作条件码位置LDR Rd,addressing 加载字数据Rdaddressing,addressing索引LDRcondLDRB Rd,addressing 加载无符号字节数据Rdaddressing,addressing索引LDRcondBLDRT Rd,addressing以用户模式加载字数据Rdaddressing,addressing索引LDRcondTLDRBT Rd, addressing 以用户模式加载无符号字节数据Rdaddressing,addressing索引LDRcondBTLDRH Rd, addressing 加载无符号半字数据Rdaddressing,addressing索引LDRcondHLDRSB Rd, addressing 加载有符号字节数据Rdaddressing,addressing索引LDRcondSBLDRSH Rd, addressing加载有符号半字数据 Rdaddressing,addressing索引 LDRcondSH 单寄存器存储助记符说明操作条件码位置STR Rd, addressing 存储字数据addressingRd,addressing索引STRcondSTRB Rd,addressing 存储字节数据addressingRd,addressing索引STRcondBSTRT Rd,addressing 以用户模式存储字数据addressingRd, addressing索引STRcondTSTRBT Rd,addressing 以用户模式存储字节数据addressingRd,addressing索引STRcondBTSTRH Rd,addressing 存储半字数据addressing Rd,addressing索引STRcondH多寄存器存取助记符说明操作条件码位置LDMmode Rn!,reglist 多寄存器加载reglistRn.,Rn回写等LDMcondmodeSTMmode Rn!,reglist 多寄存器存储Rn.reglist,Rn回写等STMcondmode数据块传送存储堆栈操作压栈说明数据块传送加载堆栈操作出栈说明STMDASTMED空递减LDMDALDMFA满递减STMIASTMEA空递增LDMIALDMFD满递增STMDBSTMFD满递减LDMDBLDMEA空递减STMIBSTMFA满递增LDMIBLDMED空递增寄存器和存储器交换指令助记符说明操作条件码位置SWP Rd,Rm,Rn 寄存器和存储器字数据交换RdRn,RnRm (RnRd或Rm)SWPcondSWPB Rd,Rm,Rn 寄存器和存储器字节数据交换RdRn,RnRm (RnRd或Rm)SWPcondB数据传送助记符说明操作条件码位置MOV Rd,operand2数据传送Rdoperand2 MOVcondSMVN Rd,operand2数据非传送Rd(operand2)MVNcondS算术运算助记符说明操作条件码位置ADD Rd, Rn, operand2加法运算指令RdRn+operand2ADDcondSSUB Rd, Rn, operand2减法运算指令RdRn-operand2SUBcondSRSB Rd, Rn, operand2逆向减法指令Rdoperand2-RnRSBcondSADC Rd, Rn, operand2带进位加法RdRn+operand2+CarryADCcondSSBC Rd, Rn, operand2带进位减法指令RdRn-operand2-(NOT)CarrySBCcondSRSC Rd, Rn, operand2带进位逆向减法指令Rdoperand2-Rn-(NOT)CarryRSCcondS逻辑运算指令助记符说明操作条件码位置AND Rd, Rn, operand2逻辑与操作指令RdRn & operand2ANDcondSORR Rd, Rn, operand2逻辑或操作指令RdRn | operand2ORRcondSEOR Rd, Rn, operand2逻辑异或操作指令RdRn operand2EORcondSBIC Rd, Rn, operand2位清除指令RdRn & (operand2)BICcondS比较指令助记符说明操作条件码位置CMP Rn, operand2比较指令标志N、Z、C、VRn-operand2CMPcondCMN Rn, operand2负数比较指令标志N、Z、C、VRn+operand2CMNcondTST Rn, operand2位测试指令标志N、Z、C、VRn & operand2TSTcondTEQ Rn, operand2相等测试指令标志N、Z、C、VRn operand2TEQcond乘法指令助记符说明操作条件码位置MUL Rd,Rm,Rs32位乘法指令RdRm*Rs (RdRm)MULcondSMLA Rd,Rm,Rs,Rn32位乘加指令RdRm*Rs+Rn (RdRm)MLAcondSUMULL RdLo,RdHi,Rm,Rs64位无符号乘法指令(RdLo,RdHi) Rm*Rs UMULLcondSUMLAL RdLo,RdHi,Rm,Rs64位无符号乘加指令(RdLo,RdHi) Rm*Rs+(RdLo,RdHi)UMLALcondSSMULL RdLo,RdHi,Rm,Rs64位有符号乘法指令(RdLo,RdHi) Rm*RsSMULLcondSSMLAL RdLo,RdHi,Rm,Rs64位有符号乘加指令(RdLo,RdHi) Rm*Rs+(RdLo,RdHi)SMLALcondS分支指令助记符说明操作条件码位置B label分支指令PClabelBcondBL label带链接的分支指令LRPC-4,PClabelBLcondBX Rm带状态切换的分支指令PClabel,切换处理器状态BXcond协处理器指令助记符说明操作条件码位置CDP coproc,opcode1,CRd,CRn,CRm,opcode2协处理器数据操作指令取决于协处理器CDPcondLDCLcoproc, CRd, 协处理器数据读取指令取决于协处理器LDCcondLSTCL coproc, CRd,协处理器数据写入指令取决于协处理器STCcondLMCR coproc,opcode1,Rd,CRn,CRm,opcode2ARM寄存器到协处理器寄存器的数据传送指令取决于协处理器MCRcondMRC coproc,opcode1,Rd,CRn,CRm,opcode2协处理器寄存器到ARM寄存器到的数据传送指令取决于协处理器MCRcond杂项指令助记符说明操作条件码位置SWI immed_24软中断指令产生软中断,处理器进入管理模式SWIcondMRS Rd,psr读状态寄存器指令Rdpsr,psr为CPSR或SPSRMRScondMSR psr_fields,Rd/#immed_8r写状态寄存器指令psr_fieldsRd/#immed_8r,psr为CPSR或SPSRMSRcondADR伪指令:小范围的地址读取ADRL伪指令:中等范围的地址读取LDR伪指令:大范围的地址读取NOP伪指令:空操作伪指令Thumb指令集单寄存器访问指令助记符说明操作影响标志LDR/STR Rd,addressing 加载/存储字数据RdRn,#immed_54,Rd、Rn为R0R7无LDRH/STRH Rd,addressing 加载/存储无符号半字数据RdRn,#immed_52,Rd、Rn为R0R7无LDRB/STRB Rd,addressing加载/存储无符号字节数据RdRn,#immed_51,Rd、Rn为R0R7无LDRSH Rd,addressing 加载有符号半字数据RdRn,Rm,Rd、Rn、Rm为R0R7无LDRSB Rd,addressing加载有符号字节数据RdRn,Rm,Rd、Rn、Rm为R0R7无PUSH和POP寄存器入栈及出栈指令PUSHR0-R7,LR;将低寄存器R0R7全部入栈,LR也入栈POPR0-R7,PC;将堆栈中的数据弹出到低寄存器R0R7及PC中LDMIA和STMIA多寄存器加载/存储指令LDMIAR0!,R2-R7;加载R0指向的地址上的多字数据,保存到R2R7中 R0的值更新。STMIAR1!,R2-R7 ;将R2R7的数据存储到R1指向的地址上,R1值更新数据传送指令助记符操作影响标志MOV Rd,#exprRdexpr,Rd为R0R7影响N、ZMOV Rd,RmRdRm,Rd、Rm均可为R0R15Rd和Rm均为R0R7时,影响N、Z,清零C、V MVN Rd,RmRd(Rm) ,Rd、Rm均为R0R7影响N、ZNEG Rd,RmRd(-Rm) ,Rd、Rm均为R0R7影响N、Z、C、VADD指令将两个数据相加,结果保存到Rd寄存器中SUB指令将两个数据相减,结果保存到Rd寄存器中ADC指令将Rm的值相加,再加上CPSR中的C条件标志位,结果保存到Rd寄存器SBC指令用寄存器Rd减去Rm,再减去CPSR中的C条件标志位的非,结果保存到Rd寄存器MUL乘法指令用寄存器Rd乘以Rm,结果保存到Rd寄存器AND指令将寄存器Rd的值与寄存器Rm的值按位作逻辑“与”操作,结果保存到Rd寄存器中ORR指令将寄存器Rd的值与寄存器Rn的值按位作逻辑“或”操作,结果保存到Rd寄存器中EOR指令将寄存器Rd的值与寄存器Rn的值按位作逻辑“异或”操作,结果保存到Rd寄存器中BIC指令将寄存器Rd的值与寄存器Rm的值的反码作逻辑“与”操作,结果保存到Rd寄存器中ASR指令将数据算术右移,将符号位拷贝到左侧空出的位,移位结果保存到Rd寄存器中LSL指令将数据逻辑左移,空位清零,移位结果保存到Rd寄存器中LSR指令将数据逻辑右移,空位清零,移位结果保存到Rd寄存器中ROR指令将数据循环右移,寄存器右侧移出的位放入左侧空出的位上移位结果保存到Rd寄存器中CMP指令使用寄存器Rn的值减去第二个操作数的值,根据操作的结果更新CPSR中的N、Z、C和V标志位CMN指令使用寄存器Rn的值加上寄存器Rm的值,根据操作的结果更新CPSR中的N、Z、C和V标志位TST指令将寄存器Rn的值与寄存器Rm的值按位作逻辑“与”操作,根据操作的结果更新CPSR中的N、Z、C和V标志位Thumb分支指令助记符说明操作条件码位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论