【问题标题】:Shift right and Add in one command右移并添加一个命令
【发布时间】:2016-09-21 02:09:01
【问题描述】:

我正在学习 ARM Cortex 的汇编语言,但遇到以下问题:

写一行汇编指令进行以下计算: 对 R2 的内容应用算术右移,然后添加 R1 和 R2 的内容并将结果存储在 R0 中。

我将算术右移理解为:

ASR R0, R2, #9

添加很简单:

ADD R0, R1, R2

但我不确定如何将这些组合成一个命令。 到目前为止,我从一个示例中得出了以下内容,我看到该示例看起来好像他们以类似的方式在一行上执行两个命令:

ASR R0, R2, #9, [ADD R1, R2]

我知道这可能是错误的,所以谁能向我解释一下应该怎么做?

【问题讨论】:

  • add 与移位的输入操作数一起使用。它不工作的其他方式。 davespace.co.uk/arm/introduction-to-arm/barrel-shifter.html
  • @PeterCordes,类似于:ADD R0, R1, R2, ASR #9?
  • 这几乎与我链接的页面上的示例之一完全一样,所以是的,我认为这是有效的语法。你应该检查它是否组装好了。

标签: assembly arm cortex-m3 cortex-m


【解决方案1】:

看来你现在走在了正确的轨道上。

add rd, rn, rm, asr #n

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多