打印

M3 的汇编指令格式问题

[复制链接]
2067|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seawwh|  楼主 | 2010-12-11 10:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近想在IAR环境下使用嵌入汇编,发现同一条指令可以下面三种格式,不知区别如何?

  __asm(" ror    r0, r0, r1   \n");
  __asm(" ror.w r0, r0,r1   \n");
  __asm(" rors   r0, r0,r1   \n");

经察看反汇编看1,2 两行相同4字节长度,3行的指令2字节长度,执行结果也是一样。
请同行帮忙看看。
沙发
airwill| | 2010-12-11 10:41 | 只看该作者
谁说是一样的呢?

第一, 第二倒确实是一样的 thumb2 指令, ror 和 ror.w 是一样的,  32 bit 指令 .w 就是这么定义的.
rors 则不同, 是 thumb 指令, 这条指令与上面的指令的不同之处, 除了长度 16 bit 外, 还影响状态寄存器.

使用特权

评论回复
板凳
sunligong| | 2010-12-11 10:51 | 只看该作者
高见啊

使用特权

评论回复
地板
香水城| | 2010-12-11 13:40 | 只看该作者
哈哈,要多看书才好,不然要闹笑话,:D

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

368

帖子

0

粉丝