新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM匯編指令學(xué)習(xí)之開篇

        ARM匯編指令學(xué)習(xí)之開篇

        作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
        指令集學(xué)習(xí)

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

        (一)ARM

        指令集

        1.指令格式

        2.條件碼

        3.ARM

        存儲器訪問指令

        1)LDR/ STR

        -加載/存儲指令

        2)LDM/ STM

        -多寄存器加載/存儲指令

        3)SWP

        -寄存器和存儲器交換指令

        4.ARM

        數(shù)據(jù)處理指令

        1)數(shù)據(jù)傳送指令

        a)MOV

        -數(shù)據(jù)傳送指令

        b)MVN

        -數(shù)據(jù)非傳送指令

        2)算術(shù)邏輯運算指令

        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

        -負數(shù)比較指令

        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

        -帶狀態(tài)切換的分支指令

        6.ARM

        協(xié)處理器指令

        1)CDP

        -協(xié)處理器數(shù)據(jù)操作指令

        2)LDC

        -協(xié)處理器數(shù)據(jù)讀取指令

        3)STC

        -協(xié)處理器數(shù)據(jù)寫入指令

        4)MCR

        -ARM處理器到協(xié)處理器的數(shù)據(jù)傳送指令

        5)MRC

        -協(xié)處理器到ARM處理器的數(shù)據(jù)傳送指令

        7.ARM

        雜項指令

        1)SWI

        -軟中斷指令

        2)MRS

        -讀狀態(tài)寄存器指令

        3)MSR

        -寫狀態(tài)寄存器指令

        8.ARM

        偽指令

        1)ADR

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

        2)ADRL

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

        3)LDR

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

        4)NOP

        -空操作偽指令

        (二)Thumb

        指令集

        1.Thumb

        指令集和ARM指令集的區(qū)別

        2.Thumb

        存儲器訪問指令

        1)LDR/ STR

        -加載/存儲指令

        2)PUSH/ POP

        -寄存器入棧/出棧指令

        3)LDMIA/ STMIA

        -多寄存器加載/存儲指令

        3.Thumb

        數(shù)據(jù)處理指令

        1)數(shù)據(jù)傳送指令

        a)MOV

        -數(shù)據(jù)傳送指令

        b)MVN

        -數(shù)據(jù)非傳送指令

        c)NEG

        -數(shù)據(jù)取負指令

        2)算術(shù)邏輯運算指令

        a)ADD

        -加法運算指令

        b)SUB

        -減法運算指令

        c)ADC

        -帶進位加法指令

        d)SBC

        -帶進位減法指令

        e)MUL

        -乘法運算指令

        f)AND

        -邏輯“與”

        g)ORR

        -邏輯“或”

        h)EOR

        -邏輯“異或”

        i)BIC

        -位清除指令

        j)ASR

        -算術(shù)右移指令

        k)LSL

        -邏輯左移指令

        l)LSR

        -邏輯右移指令

        m)ROR

        -循環(huán)右移指令

        3)比較指令

        a)CMP

        -比較指令

        b)CMN

        -負數(shù)比較指令

        c)TST

        -位測試指令

        4.Thumb

        分支指令

        1)B

        -分支指令

        2)BL

        -帶連接的分支指令

        3)BX

        -帶狀態(tài)切換的分支指令

        5.Thumb

        雜項指令

        1)SWI

        -軟中斷指令

        6.Thumb

        偽指令

        1)ADR

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

        2)LDR

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

        3)NOP-空操作偽指令



        關(guān)鍵詞: ARM匯編指

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 襄城县| 沈阳市| 龙川县| 出国| 福泉市| 泸州市| 香河县| 始兴县| 札达县| 军事| 陇川县| 固原市| 海阳市| 睢宁县| 淮南市| 天台县| 鱼台县| 望城县| 宜阳县| 杭锦旗| 大名县| 宣汉县| 开平市| 舒城县| 航空| 碌曲县| 瓮安县| 太康县| 大兴区| 宁乡县| 林口县| 六安市| 乐都县| 江西省| 同德县| 连山| 岱山县| 泰和县| 正阳县| 浦北县| 韶关市|