新聞中心

        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指令尋址方

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 澳门| 微山县| 鄂尔多斯市| 疏附县| 临桂县| 广平县| 柳州市| 和平县| 满洲里市| 卫辉市| 潮州市| 罗定市| 营口市| 武夷山市| 郴州市| 万载县| 龙南县| 阜新市| 农安县| 涿州市| 西宁市| 广河县| 大荔县| 靖安县| 佛坪县| 红河县| 夏津县| 拉孜县| 怀集县| 中西区| 江达县| 江源县| 揭东县| 隆德县| 鹤岗市| 通山县| 双牌县| 松潘县| 曲松县| 武隆县| 周口市|