arm指令移位指令

arm指令移位指令arm指令移位指令LSL逻辑左移ASL算术左移LSR逻辑右移ASR算术右移ROR循环右移RRX带扩展的循环右移ASL和LSL是等同的,可以自由互换。你可以用一个立即值(从0到31)指定移位数量,或用包含在0和31之间的一个值的寄存器指定移位数量。 逻辑或算术左移(LSL)MOVR1,#1

大家好,又见面了,我是你们的朋友全栈君。



arm指令移位指令


LSL 逻辑左移 ASL 算术左移 LSR 逻辑右移 ASR 算术右移 ROR 循环右移 RRX 带扩展的循环右移ASLLSL 是等同的,可以自由互换。

你可以用一个立即值(从 0 到 31)指定移位数量,或用包含在 0 和 31 之间的一个值的寄存器指定移位数量。

 

逻辑或算术左移(LSL)

MOV R1, #12

MOV R0, R1, LSL#2

                                    R0 是 48。 这些指令形成的总和是R0 = #12, LSL#2 等同于 BASIC 的 R0 = 12 << 2

  – – – – – – – – – – – – – – — – – – – — – 参考:

逻辑或算术左移

(Logical or ArithmeticShift Left)

  Rx, LSL #n    or
  Rx, ASL #n    or
  Rx, LSL Rn    or
  Rx, ASL Rn

接受 Rx 的内容并按用‘n’或在寄存器 Rn 中指定的数量向高有效位方向移位。最低有效位用零来填充。除了概念上的第 33 位(就是被移出的最小的那位)之外丢弃移出最左端的高位,如果逻辑类指令中 S 位被设置了,则此位将成为从桶式移位器退出时进位标志的值。

考虑下列:

  MOV    R1, #12
  MOV    R0, R1, LSL#2

在退出时,R0 是 48。 这些指令形成的总和是 R0 = #12, LSL#2 等同于 BASIC 的R0 = 12 << 2

 

逻辑右移

(Logical ShiftRight)

  Rx, LSR #n    or
  Rx, LSR Rn

它在概念上与左移相对。把所有位向更低有效位方向移动。如果逻辑类指令中 S 位被设置了,则把最后被移出最右端的那位放置到进位标志中。它同于 BASIC 的register = value >>> shift

 

算术右移

(Arithmetic ShiftRight)

  Rx, ASR #n    or
  Rx, ASR Rn

类似于 LSR,但使用要被移位的寄存器(Rx)的第 31 位的值来填充高位,用来保护补码表示中的符号。如果逻辑类指令中 S 位被设置了,则把最后被移出最右端的那位放置到进位标志中。它同于 BASIC 的register = value >> shift

 

循环右移

(Rotate Right)

  Rx, ROR #n    or
  Rx, ROR Rn

循环右移类似于逻辑右移,但是把从右侧移出去的位放置到左侧,如果逻辑类指令中 S 位被设置了,则同时放置到进位标志中,这就是位的‘循环’。一个移位量为 32 的操作将导致输出与输入完全一致,因为所有位都被移位了 32 个位置,又回到了开始时的位置!

 

带扩展的循环右移

(Rotate Right with extend)

  Rx, RRX

这是一个 ROR#0 操作,它向右移动一个位置 – 不同之处是,它使用处理器的进位标志来提供一个要被移位的 33 位的数量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137693.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月5日 下午6:20
下一篇 2022年5月5日 下午6:20


相关推荐

  • uat环境停不了数据库「建议收藏」

    uat环境停不了数据库「建议收藏」uat环境使用shutdownimmediate关闭数据库时,无响应,于是查alert日志,看到如下错误:bash-3.2$tail-200falert_UAT.logSunJul1422:14:18201…

    2026年4月17日
    5
  • 关于协方差矩阵的理解

    关于协方差矩阵的理解在 主成分分析 中 我们用到了协方差矩阵 但当时并没有对其进行深入的讨论 为此 本文将针对协方差矩阵做一个详细的介绍 其中包括协方差矩阵的定义 数学意义以及计算公式的推导

    2026年3月16日
    1
  • 小波去噪「建议收藏」

    小波去噪「建议收藏」小波去噪方法就是一种建立在小波变换多分辨分析基础上的新兴算法,其基本思想是根据噪声与信号在不同频带上的小波分解系数具有不同强度分布的特点,将各频带上的噪声对应的小波系数去除,保留原始信号的小波分解系数,然后对处理后的系数进行小波重构,得到纯净信号。    相比于以往的其他去噪方法,小波变换在低信噪比情况下的去噪效果较好,去噪后的语音信号识别率较高,同时小波去噪方法对时变信号和突变信号的

    2022年6月15日
    39
  • minicom指令_minicom配置及说明

    minicom指令_minicom配置及说明平时总是要用到这我并不太喜欢的minicom,可就总是忘记一切东西,先记下来吧。安装:sudoapt-getinstallminicom配置:注意一定要在root下或用sudo,不然做的配置不会被保存输入:sudominicom-s这时会弹出提示:ConfigurationFilenamesandpaths文件名和路径Filetransferprotocols文件传输协议Ser…

    2022年6月7日
    43
  • [LeetCode]Remove Duplicates from Sorted Array

    [LeetCode]Remove Duplicates from Sorted Array

    2022年1月27日
    48
  • 飞牛虚拟机部署OpenClaw详细教程

    飞牛虚拟机部署OpenClaw详细教程

    2026年3月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号