新聞中心

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

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

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

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

        本文引用地址:http://www.104case.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可完成對通用寄存器中的內容進行循環(huán)右移的操作,按操作數所指定的數量向右循環(huán)移位,左端用右端移出的位來填充。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。顯然,當進行32位的循環(huán)右移操作時,通用寄存器中的值不改變。

        操作示例:

        MOV R0, R1, ROR#2;將R1中的內容循環(huán)右移兩位后傳送到R0中。

        5、RRX操作

        RRX操作的格式為:

        通用寄存器,RRX操作數

        RRX可完成對通用寄存器中的內容進行帶擴展的循環(huán)右移的操作,按操作數所指定的數量向右循環(huán)移位,左端用進位標志位C來填充。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

        操作示例:

        MOV R0, R1, RRX#2;將R1中的內容進行帶擴展的循環(huán)右移兩位后傳送到R0中。


        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 陵川县| 深泽县| 崇左市| 棋牌| 白山市| 油尖旺区| 犍为县| 武乡县| 淮南市| 普兰县| 乌拉特中旗| 青田县| 芜湖市| 江达县| 太保市| 台东县| 山丹县| 德令哈市| 西丰县| 营口市| 时尚| 贵州省| 湖北省| 高淳县| 五台县| 黔江区| 长丰县| 灵武市| 建湖县| 商南县| 峡江县| 马关县| 九江市| 会泽县| 佛教| 金寨县| 长岛县| 湄潭县| 化德县| 泰宁县| 安徽省|