新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 常用 ARM指令集及匯編

        常用 ARM指令集及匯編

        作者: 時間:2016-11-10 來源:網絡 收藏
        一、 ARM處理器的尋址方式

        二、指令集學習

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

        (一) ARM 指令集

        1. 指令格式

        2. 條件碼

        3. ARM 存儲器訪問指令

        1) LDR/ STR -加載 /存儲指令

        2) LDM/ STM -多寄存器加載 /存儲指令

        3) SWP -寄存器和存儲器交換指令

        4. ARM 數據處理指令

        1) 數據傳送指令

        a) MOV -數據傳送指令

        b) MVN -數據非傳送指令

        2) 算術邏輯運算指令

        a) ADD -加法運算指令

        b) SUB -減法運算指令

        c) RSB- 逆向減法指令

        d) ADC -帶進位加法指令

        e) SBC -帶進位減法指令

        f) RSC -帶進位逆向減法指令

        g) AND -邏輯“與”

        h) ORR -邏輯“或”

        i) EOR -邏輯“異或

        j) BIC -位清除指令

        3) 比較指令

        a) CMP -比較指令

        b) CMN -負數比較指令

        c) TST -位測試指令

        d) TEQ -相等測試指令

        4) 乘法指令

        a) MUL - 32位乘法指令

        b) MLA - 32位乘加指令

        c) UMULL - 64位無符號乘法指令

        d) UMLAL - 64位無符號乘加指令

        e) SMULL - 64位有符號乘法指令

        f) SMLAL - 64位有符號乘加指令

        5. ARM 分支指令

        1) B -分支指令

        2) BL -帶連接的分支指令

        3) BX -帶狀態切換的分支指令

        6. ARM 協處理器指令

        1) CDP -協處理器數據操作指令

        2) LDC -協處理器數據讀取指令

        3) STC -協處理器數據寫入指令

        4) MCR - ARM處理器到協處理器的數據傳送指令

        5) MRC -協處理器到 ARM處理器的數據傳送指令

        7. ARM 雜項指令

        1) SWI -軟中斷指令

        2) MRS -讀狀態寄存器指令

        3) MSR -寫狀態寄存器指令

        8. ARM 偽指令

        1) ADR -小范圍的地址讀取偽指令

        2) ADRL -中等范圍的地址讀取偽指令

        3) LDR -大范圍的地址讀取偽指令

        4) NOP -空操作偽指令

        (二) Thumb 指令集

        1. Thumb 指令集和 ARM指令集的區別

        2. Thumb 存儲器訪問指令

        1) LDR/ STR -加載 /存儲指令

        2) PUSH/ POP -寄存器入棧 /出棧指令

        3) LDMIA/ STMIA -多寄存器加載 /存儲指令

        3. Thumb 數據處理指令

        1) 數據傳送指令

        a) MOV -數據傳送指令

        b) MVN -數據非傳送指令

        c) NEG -數據取負指令

        2) 算術邏輯運算指令

        a) ADD -加法運算指令

        b) SUB -減法運算指令

        c) ADC -帶進位加法指令

        d) SBC -帶進位減法指令

        e) MUL -乘法運算指令

        f) AND -邏輯“與”

        g) ORR -邏輯“或”

        h) EOR -邏輯“異或”

        i) BIC -位清除指令

        j) ASR -算術右移指令

        k) LSL -邏輯左移指令

        l) LSR -邏輯右移指令

        m) ROR -循環右移指令

        3) 比較指令

        a) CMP -比較指令

        b) CMN -負數比較指令

        c) TST -位測試指令

        4. Thumb 分支指令

        1) B -分支指令

        2) BL -帶連接的分支指令

        3) BX -帶狀態切換的分支指令

        5. Thumb 雜項指令

        1) SWI -軟中斷指令

        6. Thumb 偽指令

        1) ADR -小范圍的地址讀取偽指令

        2) LDR -大范圍的地址讀取偽指令

        3) NOP -空操作偽指令



        關鍵詞: ARM指令集匯

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汝城县| 长子县| 郸城县| 平阴县| 时尚| 花垣县| 虞城县| 汪清县| 长乐市| 秦安县| 濮阳县| 赤城县| 波密县| 长葛市| 临夏市| 旺苍县| 寻甸| 香港 | 申扎县| 旌德县| 宁波市| 黎平县| 界首市| 白河县| 即墨市| 河南省| 思茅市| 富宁县| 商洛市| 白河县| 桐梓县| 隆安县| 赤水市| 姚安县| 余庆县| 福建省| 新郑市| 曲周县| 汶川县| 法库县| 禄丰县|