新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第1天-ARM匯編指令MOV/MVN

        第1天-ARM匯編指令MOV/MVN

        作者: 時間:2016-11-26 來源:網絡 收藏

        MOV : 傳送

        (Move)

        本文引用地址:http://www.104case.com/article/201611/321991.htm
        MOV{條件}{S} , dest = op_1MOV從另一個寄存器、被移位的寄存器、或一個立即值裝載一個值到目的寄存器。你可以指定相同的寄存器來實現 NOP 指令的效果,你還可以專門移位一個寄存器:

        MOVR0, R0; R0 = R0... NOP 指令
        MOVR0, R0, LSL#3; R0 = R0 * 8
        如果 R15 是目的寄存器,將修改程序計數器或標志。這用于返回到調用代碼,方法是把連接寄存器的內容傳送到 R15:

        MOV PC, R14 ; 退出到調用者 MOVS PC, R14 ; 退出到調用者并恢復標志位


        MVN : 傳送取反的值

        (MoveNegative)

        MVN{條件}{S} , dest = !op_1

        MVN從另一個寄存器、被移位的寄存器、或一個立即值裝載一個值到目的寄存器。不同之處是在傳送之前位被反轉了,所以把一個被取反的值傳送到一個寄存器中。這是邏輯非操作而不是算術操作,就是二進制的取反,比如二進制是0B11001100,取反就是0B00110011,轉換為10進制就是,這個取反的值加 1 才是它的取負的值:

        MVN R0, #4 ; R0 = -5 MVN R0, #0 ; R0 = -1


        關鍵詞: ARM匯編指令MOVMV

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 唐河县| 呼玛县| 河间市| 东乡县| 厦门市| 庄河市| 惠东县| 沭阳县| 宝鸡市| 永丰县| 南乐县| 衡阳县| 陇西县| 本溪| 通州市| 龙井市| 南乐县| 武汉市| 城口县| 白朗县| 泾川县| 大方县| 贵阳市| 镇平县| 扎赉特旗| 维西| 黎平县| 嘉善县| 舟曲县| 乐安县| 区。| 德清县| 定安县| 晋江市| 冕宁县| 玛纳斯县| 威海市| 阆中市| 汪清县| 青冈县| 县级市|