18.arm处理器指令系统-灵活的二源操作数分析_第1页
18.arm处理器指令系统-灵活的二源操作数分析_第2页
18.arm处理器指令系统-灵活的二源操作数分析_第3页
已阅读5页,还剩2页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、北风网项目培训ARM处理器指令系统(9)讲师:韩老师 (北风网 )嵌入式系统设计(嵌入式ARM处理器编程)ARM数据处理指令机器码格式 mov r1,r2,lsl #2 指令机器码 0 xe1a01102Cond:指令的条件码。Opcode:指令操作码。S:操作是否影响cpsr,S=0不影响,S=1影响。Rn:包含第一个操作数的寄存器编码。Rd:目标寄存器编码。Operand2:第2操作数、RmI :用于区别Operand2是立即数(I=1),还是寄存器移位(I=0)Shift amount :移位数Shift : 移位方式 寄存器, 可选择是否增加移位操作.移位值可以是: 5 bit 无符号

2、整数放在另一个寄存器的低字节用于常数乘法 立即数8 bit ,大小范围0-255。右移偶数位允许直接加载32-bit 常数到寄存器中。结果操作数1BarrelShifter操作数2ALU桶型移位器:第二个操作数DestinationCF0DestinationCFLSL : Logical Left ShiftASR: Arithmetic Right Shift(无符号数)乘2除2,并保留符号位DestinationCF.0DestinationCFLSR : Logical Shift RightROR: Rotate Right(无符号数)除2位轮换DestinationRRX: Rot

3、ate Right Extended位轮换,从 CF到MSB都参与操作CF桶型移位器没有任何一条ARM 指令可包括一个32 bit的立即数所有的ARM指令都是32 bits固定长度数据处理指令格式中,第二个操作数有12位4 bit 移位值 (0-15)乘于2,得到一个范围在0-30,步长为 2的移位值。记住一条准则: “最后8位一定要移动偶数位”.07118immed_8ShifterRORrotx2Quick Quiz: 0 xe3a004ffMOV r0, #?MOV r0,#0 xff000000立即数 (1)Examples:下列命令中,汇编器把立即数转换为移位操作::MOV r0,#

4、4096; uses 0 x40 ror 26 ADD r1,r2,#0 xFF0000; uses 0 xFF ror 16也可使用 MVN来进行位反转 MOV r0, #0 xFFFFFFFF ; assembles to MVN r0,#0立即数不能使用上述方法产生,否则将导致错误。031ror #0 range 0-0 xff000000 step 0 x01000000 ror #8 range 0-0 x000000ff step 0 x00000001 range 0-0 x000003fc step 0 x00000004 ror #30 000000000000000000000000000000000000000000000000000000000000000000000000立即数 (2)为允许装载大常数,汇编器提供了一条伪指令:LDR rd, =const它可能汇编成下列指令:MOV or MVN。或LDR 指令,从数据池(Literal pools)读取常数。For exampleLDR r0,=0 xFF=MOV r0,#0 xFFLDR r0,=0

温馨提示

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

评论

0/150

提交评论