news 2026/6/10 9:42:03

ARM 汇编指令:ROR

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ARM 汇编指令:ROR

ARM 汇编指令:ROR

ROR是 ARM 汇编中的循环右移(Rotate Right)指令。它执行按位右移操作,并将从右侧移出的位重新插入到左侧(高位)。

基本语法

ROR{S}{cond} Rd, Rm, #imm ROR{S}{cond} Rd, Rm, Rs

工作方式

对于 32 位寄存器:

  • 将操作数向右移动指定的位数
  • 从右侧移出的位(低位)重新插入到左侧(高位)
  • 形成循环移位

示例

MOV R0, #0x0000000F ; R0 = 0000 0000 0000 0000 0000 0000 0000 1111 ROR R1, R0, #4 ; R1 = 1111 0000 0000 0000 0000 0000 0000 0001 ; 右移4位,移出的"1111"补到左边

两种形式

1. 立即数移位

ROR R1, R0, #8 ; 将 R0 循环右移 8 位,结果存入 R1
  • 移位位数:1-31(0 相当于 ROR #32)

2. 寄存器移位

ROR R1, R0, R2 ; 将 R0 循环右移 R2 中指定的位数
  • R2 的低 8 位指定移位位数(0-255)

特殊标志位影响(使用 S 后缀时)

RORS R1, R0, #4 ; 循环右移并更新标志位
  • C 标志(Carry):设置为最后移出的位(原始的最低位)
  • N 标志(Negative):设置结果最高位的值
  • Z 标志(Zero):结果为 0 时设置

常见用途

1. 位操作

; 交换字节顺序的另一种方法 MOV R0, #0x12345678 ROR R0, R0, #16 ; R0 = 0x56781234

2. 加密算法

; 在轮函数中使用(如某些哈希函数) EOR R0, R0, R1 ROR R0, R0, #7

3. 数据重组

; 重新排列位模式 MOV R0, #0b10110011 ROR R0, R0, #3 ; 得到 0b01110110

与相关指令对比

指令名称操作示例
ROR循环右移右移,移出的位补到左边0b1001 ROR 2 = 0b0110
RRX带扩展循环右移右移1位,C标志移入最高位R1, R0, RRX
ASR算术右移右移,符号位填充0b1001 ASR 2 = 0b1110
LSR逻辑右移右移,0填充0b1001 LSR 2 = 0b0010
LSL逻辑左移左移,0填充0b1001 LSL 2 = 0b0100

注意事项

  1. 当移位位数为 0 时,实际上执行 ROR #32
  2. 循环移位常用于实现某些算法的轮函数
  3. 在 ARMv6T2 及以上架构中,移位位数可以是任何立即数
  4. ROR 常用于位域提取或循环缓冲区实现

ROR 指令在密码学算法、哈希函数、数据编码/解码和位操作中特别有用,因为它能保持所有位的信息(不丢失任何位)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 11:27:19

大模型必备技能:RAG技术详解与实战,含学习资料,建议收藏

RAG虽然是最早应用的技术,也在不断的进化,AI系统的好坏,RAG的质量几乎起着决定性作用。优秀的RAG系统召回率几乎能做到100%,准确率能做到99%以上。本文来聊聊这些新技术。 RAG(检索增强生成)的5种文本分块…

作者头像 李华
网站建设 2026/5/31 12:47:42

Android 13源码下载

参考文章 https://blog.csdn.net/devnn/article/details/131868022?spm1001.2014.3001.5506 清华源不可用时使用 rootDESKTOP-1VVCCHG:/home/zhd/aosp_13# repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60 Downloading Repo source …

作者头像 李华
网站建设 2026/6/8 0:53:36

2025年十大高风险漏洞及其在实际攻击中的应用

2025 年的网络安全形势出现了前所未有的严重漏洞激增,仅上半年就披露了超过 21,500个CVE,与2024年相比增长了16-18%。其中,有一部分漏洞因其异常严重、在实际环境中被积极利用以及可能导致企业范围内的安全漏洞而脱颖而出。这项综合分析考察了…

作者头像 李华
网站建设 2026/6/9 21:22:13

2026爆火AI论文神器限时公开:9款一键生成覆盖毕业期刊职称

深夜改稿,导师的夺命连环批注让你濒临崩溃? 离毕业、职称、期刊投稿截止日期只剩最后72小时,初稿还是一片空白?别慌!2026年最新一波AI论文写作神器已限时集结,专为“急救”而生!本文将为你深度揭…

作者头像 李华
网站建设 2026/5/30 10:42:51

【拯救HMI】工业HMI新手学习路径:30天系统化入门与实操蓝图

刚接触工业自动化,面对HMI这个又涉及硬件、软件、通讯还有设计的领域,确实容易不知道从哪里开始。别担心,这里有一份为期30天的渐进式学习路径,结合理论和动手实践,帮你从零开始,系统地把HMI工程师的核心技…

作者头像 李华
网站建设 2026/5/19 14:08:45

qmlRegisterType 详解

qmlRegisterType 是 Qt QML 中将 C 类注册到 QML 系统中的核心函数&#xff0c;它建立了 C 类型与 QML 类型系统之间的桥梁。基本用法1. 最简单的注册#include <QQmlApplicationEngine> #include <QQmlContext> #include <QQuickItem>// 注册到默认模块&…

作者头像 李华