久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM匯編指令集之八——移位指令(操作)

ARM匯編指令集之八——移位指令(操作)

作者: 時間:2016-11-09 來源:網絡 收藏
1、LSL(或ASL)操作

LSL(或ASL)操作的格式為:

本文引用地址:http://cqxgywz.com/article/201611/317605.htm

通用寄存器,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中。


評論


技術專區

關閉