凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ARM指令详细介绍之第2操作数operand2

已有 3744 次阅读| 2015-12-26 15:11 |个人分类:linux技术

2操作数operand22种形式

(1)       立即数型——#<32位立即数>

#<32位立即数>是取指为数字常量的表达式。但并不是所有32位立即数都是有效的,有效的立即数必须可由一个8位的立即数循环右移偶数位得到。这个问题再立即数寻址中已有详细的介绍。

(2)       寄存器型——Rm{#<shift>}

Rm是第2操作数寄存器,可对它进行移位或循环移位。<shift>用来指定移位类型和移位位数。移位位数可以是是5位立即数或寄存器。

汇编格式

根据第2操作数的类型,其汇编格式分为以下2种:

<op>{<cond>}{S}Rd,Rn,#<32位立即数>

<op>{<cond>}{S}Rd,Rn,Rm{<shift>}

数据处理中R15的使用

R15作为特殊的寄存器,控制程序的运行地址,同时它也作为一般寄存器,但使用时必须注意细节问题。寄存器R15可用源操作数,但不能用来指定移位位数。在使用寄存器指定移位位数的情况下,3个源操作数不能是R15.R15用作源操作数时,3级流水线操作使得真实PC值为当前指令的地址加8字节。

R15用作目的寄存器时,指令的功能相当于某种形式的转移指令,执行转移到结果对应的地址执行程序,常用来作为子程序返回。

R15作为目的寄存器且使用了后缀S,即设置了S位,则将当前模式的SPSR拷贝到CPSR,着可能影响到中断使能标志位和处理器操作模式。这种机制自动恢复PCCPSR,是实现异常返回的标准方式。因为在用户及系统模式没有SPSR,在这2种模式下这种形式的指令无效,如果使用,则指令执行的结果是不可预知的,但汇编器在汇编时并不发生警告。

数据处理指令表如图所示:

凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 06:47 , Processed in 0.014495 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部