新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM 指令的尋址方式

        ARM 指令的尋址方式

        作者: 時間:2016-11-11 來源:網絡 收藏
        1、立即尋址操作數在指令中直接給出

        ADD R0,R0,#1;R0←R0+1
        ADD R0,R0,#0x3f;R0←R0+0x3f

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

        2、寄存器尋址操作數在寄存器

        ADD R0,R1,R2;R0←R1+R2

        3、寄存器間接尋址 操作數的地址在寄存器

        ADD R0,R1,[R2];R0←R1+[R2]
        LDR R0,[R1];R0←[R1]
        STR R0,[R1];[R1]←R0

        4、基址變址尋址操作數地址=基址寄存器+指令中給出的地址偏移

        LDR R0,[R1,#4];R0←[R1+4]
        LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4
        LDR R0,[R1],#4;R0←[R1]、R1←R1+4
        LDR R0,[R1,R2];R0←[R1+R2]

        5、多寄存器尋址類似寄存器尋址,此處是多個寄存器而已

        LDMIA R0,{R1,R2,R3,R4};R1←[R0]
        ;R2←[R0+4]
        ;R3←[R0+8]
        ;R4←[R0+12]

        6、相對尋址目標地址= pc當前值+指令給出的標號偏移地址

        BL NEXT;跳轉到子程序NEXT處執行
        ......
        NEXT
        ......
        MOV PC,LR;從子程序返回

        7、堆棧尋址
        ARM微處理器支持這四種類型的堆棧工作方式。

        -滿遞增堆棧:堆棧指針指向最后壓入的數據,且由低地址向高地址生成。
        -滿遞減堆棧:堆棧指針指向最后壓入的數據,且由高地址向低地址生成。
        -空遞增堆棧:堆棧指針指向下一個將要放入數據的空位置,且由低地址向高地址生成。
        -空遞減堆棧:堆棧指針指向下一個將要放入數據的空位置,且由高地址向低地址生成。


        關鍵詞: ARM指令尋址方

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 梁山县| 上杭县| 当雄县| 靖州| 阿鲁科尔沁旗| 双流县| 化州市| 磴口县| 新兴县| 大港区| 东乌珠穆沁旗| 左贡县| 鄂尔多斯市| 梁平县| 榆林市| 金昌市| 石柱| 洛浦县| 玉树县| 顺义区| 霍城县| 科技| 杭锦后旗| 贵德县| 越西县| 汝州市| 兴安盟| 民勤县| 廉江市| 江源县| 福贡县| 广德县| 华宁县| 临泉县| 屏边| 衡南县| 同德县| 长春市| 滁州市| 华蓥市| 宁安市|