ARM的5种移位指令
0 2022-05-24

1、LSL(或ASL)

LSL(或ASL)的格式为:

通用寄存器,LSL(或ASL) 操作数

LSL(或ASL)可完成对通用寄存器中的内容进行逻辑(或算术)的左移操作,按操作数所指定的数量向左移位,低位用零来填充。 其中,操作数可以是通用寄存器,也可以是立即数(0~31)。

操作示例

MOV R0, R1, LSL #2 ;将R1中的内容左移两位后传送到R0 中。

2、LSR

LSR的格式为:

通用寄存器,LSR 操作数

LSR可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用零来填充。其中,操作数可以 是通用寄存器,也可以是立即数(0~31)。

操作示例:

MOV R0, R1, LSR #2 ;将R1中的内容右移两位后传送到R0 中,左端用零来填充。

3、ASR

ASR的格式为:

通用寄存器,ASR 操作数

ASR可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用第31位的值来填充。其中,操作数可以是通用寄存器,也可以是立 即数(0~31)。

操作示例:

MOV R0, R1, ASR #2 ;将R1中的内容右移两位后传送到R0 中,左端用第31位的值来填充。

4、ROR

ROR的格式为:

通用寄存器,ROR 操作数

ROR可完成对通用寄存器中的内容进行循环右移的操作,按操作数所指定的数量向右循环移位,左端用右端移出的位来填充。其中,操作数可以是通用寄存器,也 可以是立即数(0~31)。显然,当进行32位的循环右移操作时,通用寄存器中的值不改变。

操作示例:

MOV R0, R1, ROR #2 ;将R1中的内容循环右移两位后传送到R0 中。

5、RRX

RRX的格式为:

通用寄存器,RRX 操作数

RRX可完成对通用寄存器中的内容进行带扩展的循环右移的操作,按操作数所指定的数量向右循环移位,左端用进位标志位C来填充。其中,操作数可以是通用寄 存器,也可以是立即数(0~31)。

操作示例:

MOV R0, R1, RRX #2 ;将R1中的内容进行带扩展的循环右移两位 后传送到R0中。 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 掉电保护在嵌入式系统中的设计应用

      在嵌入式系统设计过程中,系统的掉电保护越来越受到重视。本文介绍的方法是在用ARM7系列芯片S3C4510B和μClinux构建的嵌入式平台上实现的。整个掉电

    6小时前
  • 基于单片机的多气体检测系统设计

      摘要:采用气体传感器阵列采集气体信息,通过以AT89C51和ADC0809组成的核心单元进行数据采集和数据处理,以LED显示器显示结果,实现了对多种气体的识

    6小时前
  • 基于嵌入式CPU S3C2440的VGA显示系统设计

      摘要:基于VGA接口时序,以高性能视频D/A芯片ADV7120为核心。实现了基于嵌入式CPUS3C2440的VGA显示子系统。系统一方面利用S3C2440自

    6小时前
  • μC/OS-Ⅱ源代码的分析及移植

      现在,大家不仅拥有放在桌上处理文档、进行工作管理的通用计算机,而且也可能拥有从大到小的各种使用嵌入式技术的电子产品。随着电子产品的智能化,智能手机、物联网、

    9小时前
  • STC12C5A60S2单片机引脚图

    [导读]P0.0—P0.7(39—32):P0口是一个漏极开路型准双向I/O口。在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了

    昨天
  • 51单片机C中关于.c文件和.h文件

    [导读]1)h文件作用1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明;2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如:

    昨天
  • 51单片机特殊功能寄存器有多少?如何设置?

    [导读]MCS-51单片机特殊功能寄存器是怎样设置的?答:MCS-51单片机内的I/O口锁存器、定时器、串行口缓冲器以及各种控制寄存器和状态寄存器都以特殊功能寄

    昨天
  • AT89S52单片机的最小系统

    [导读]AT89S52单片机的最小系统图:

    昨天
  • 一个5 V单电源供电的宽带低噪声放大器的设计

      随着社会生产力的发展,人们迫切地要求能够远距离随时随地迅速而准确地传送多媒体信息。于是,无线通信技术得到了迅猛的发展,技术也越来越成熟。而宽带放大器是上述通

    昨天
  • Linux设备驱动之input子系统(驱动代码和测试程序)

      对于输入类设备如键盘、鼠标、触摸屏之类的Linux驱动,内核提供input子系统,使得这类设备的处理变得非常便捷。总体上来讲,input子系统由三部分组成:

    昨天
  • 应用C51单片机的8个注意点

      1)C忌讳绝对定位。常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作用域,编译

    昨天
  • 基于ARM7微处理器LPC2148 接口的3.2 寸液晶触摸屏

      0引言  人机交互界面的种类较多,如键盘、数码管显示器、液晶显示器及带触摸的液晶屏等。决定人机交互接口方式的主要因素是成本和实际应用的需要。近十年来,液晶触

    07-01
下载排行榜
更多
广告