新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Thumb指令集之:Thumb數據處理指令

        Thumb指令集之:Thumb數據處理指令

        作者: 時間:2013-09-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257041.htm

        11.4.13比較指令CMN

        (1)編碼格式

        比較指令CMN的編碼格式如圖11.19所示。

        圖11.19CMN指令的編碼格式

        比較指令CMN將一個寄存器的值和另一個寄存器的值取負做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

        (2)指令的語法格式

        CMNRn>,Rm>

        ①Rn>

        操作數寄存器。用于存放指令的第一個操作數。

        ②Rm>

        操作數寄存器。用于存放指令的第二個操作數。

        (3)指令操作的偽代碼

        Alu_out=Rn+Rm

        NFlag=alu_out[31]

        ZFlag=ifalu_out==0then1else0

        CFlag=NOTBorrowFrom(Rn+Rm)

        VFlag=OverflowFrom(Rn+Rm)

        (4)對應的指令

        CMNRn>,Rm>

        11.4.14比較指令CMP(1)

        (1)編碼格式

        比較指令CMP(1)的編碼格式如圖11.20所示。

        圖11.20CMP(1)指令的編碼格式

        比較指令CMP(1)將一個寄存器的值和8位立即數做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

        (2)指令的語法格式

        CMPRn>,#immed_8>

        ①Rn>

        操作數寄存器。

        ②immed_8>

        8位常數。將與寄存器Rn>的值做比較。

        (3)指令操作的偽代碼

        Alu_out=Rn–immed_8

        NFlag=alu_out[31]

        ZFlag=ifalu_out==0then1else0

        CFlag=NOTBorrowFrom(Rn–immed_8)

        VFlag=OverflowFrom(Rn–immed_8)

        (4)對應的指令

        CMPRn>,#immed_8>

        11.4.15比較指令CMP(2)

        (1)編碼格式

        比較指令CMP(2)的編碼格式如圖11.21所示。

        圖11.21CMP(2)指令的編碼格式

        比較指令CMP(2)將兩個寄存器的值做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

        (2)指令的語法格式

        CMPRn>,Rm>

        ①Rn>

        操作數寄存器,存放比較的第一個操作數。

        ②Rm>

        操作數寄存器,存放比較的第二個操作數。

        (3)指令操作的偽代碼

        alu_out=Rn–Rm

        NFlag=alu_out[31]

        ZFlag=ifalu_out==0then1else0

        CFlag=NOTBorrowFrom(Rn-Rm)

        VFlag=OverflowFrom(Rn-Rm)

        (4)對應的指令

        CMPRn>,Rm>



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 穆棱市| 梓潼县| 方城县| 永胜县| 凤山县| 临湘市| 花莲县| 绥阳县| 嘉定区| 普格县| 抚顺市| 高安市| 榆社县| 蓬安县| 安塞县| 阿拉尔市| 吉首市| 旺苍县| 凌云县| 隆安县| 合江县| 鹤壁市| 禹城市| 仙游县| 蒙阴县| 盘山县| 顺义区| 汕尾市| 土默特左旗| 光泽县| 花莲县| 新津县| 吉林省| 梁平县| 依兰县| 双牌县| 涪陵区| 吴桥县| 兴和县| 安溪县| 南丹县|