gpt4 book ai didi

ARM-V7-A ADD指令结合LSL

转载 作者:行者123 更新时间:2023-12-05 02:41:09 25 4
gpt4 key购买 nike

add r1, r1, r0, lsl #3

我不确定用这条指令执行的操作。这是否意味着:

  1. 将r0和r1相加,取结果左移3位,然后将结果存入r1或
  2. 将 r1 和(r0 左移 3 位)相加,然后将结果保存在 r1 中

提前致谢。

最佳答案

Thumb 和 Thumb-2 指令集中的大多数算术和逻辑指令都采用三个参数。第一个是目标寄存器,第二个是第一个操作数(也是一个寄存器),第三个是灵活的第二个操作数。 (如果省略目标寄存器,则第一个操作数用作目标。)

几乎在所有情况下,灵活的第二个操作数可以是:

  • 注册
  • 应用了移位或轮换的寄存器,其中可用的移位是
    • ASR #n(算术右移)
    • LSL #n(逻辑左移)
    • LSR #n(逻辑右移)
    • ROR #n(向右循环)
    • RRX(通过进位向右循环一位)
  • 格式为#constant 的常量,其中#constant 可以是:
    • 可以通过将 8 位值左移 32 位字中的任意位数产生的任何常量
    • 0x00XY00XY 形式的任何常数
    • 0xXY00XY00 形式的任何常数
    • 0xXYXYXYXY 形式的任何常数

因此在您的情况下,r0, lsl #3add 指令的第二个操作数,因此移位在 add 之前执行。

有关详细信息,请参阅 ARM developer documentation .

关于ARM-V7-A ADD指令结合LSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68224927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com