zxj123

zxj123

0个粉丝

92

问答

0

专栏

0

资料

zxj123  发布于  2012-12-24 15:24:23
采纳率 0%
92个问答
3894

ARM的六大类指令集--- 移位指令(操作)

 
ARM微处理器内嵌的桶型移位器(Barrel Shifter),支持数据的各种移位操作,移位操作在ARM指令集中不作为单独的指令使用,它只能作为指令格式中是一个字段,在汇编语言中表示为指令中的选项。例如,数据处理指令的第二个操作数为寄存器时,就可以加入移位操作选项对它进行各种移位操作。移位操作包括如下6种类型,ASL和LSL是等价的,可以自由互换:

    —  LSL  逻辑左移

—       ASL  算术左移

—  LSR  逻辑右移

—  ASR  算术右移

—  ROR  循环右移

—  RRX  带扩展的循环右移

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中。
我来回答
回答1个
时间排序
认可量排序

wobuowy

0个粉丝

5

问答

0

专栏

0

资料

wobuowy 2013-12-04 03:42:01
认可0
希望大家发表自己的看法!我先赞成一下











[img]static/image/common/sigline.gif[/img]
12V8A开关电源适配器
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区