新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM指令尋址方式之: 內存訪問指令尋址

        ARM指令尋址方式之: 內存訪問指令尋址

        作者: 時間:2013-09-13 來源:網絡 收藏

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

        4.2 內存訪問

        根據內存訪問指令的分類,內存訪問指令的尋址方式可以分為以下幾種。

        ① 字及無符號字節的Load/Store指令的尋址方式。

        ② 雜類Load/Store指令的尋址方式。

        ③ 批量Load/Store指令的尋址方式。

        ④ 協處理器Load/Store指令的尋址方式。

        4.2.1 字及無符號字節的Load/Store指令的尋址方式

        字及無符號字節的Load/Store指令如下:

        LDR|STR{cond>}{B}{T} Rd>,addressing_mode>

        其中addressing_mode>共有9種尋址方式,如表4.2所示。

        表4.2 字及無符合字節的Load/Store指令的尋址方式

        格 式

        模 式

        1

        [Rn,#±offset_12>]

        立即數偏移尋址

        (Immediate offset)

        2

        [Rn,±Rm]

        寄存器偏移尋址

        (Register offset)

        3

        [Rn,Rm,shift># offset_12>]

        帶移位的寄存器偏移尋址

        (Scaled register offset)

        4

        [Rn,#± offset_12>]!

        立即數前索引尋址

        (Immediate pre-indexed)

        5

        [Rn,±Rm]!

        寄存器前索引尋址

        (Register post-indexed)

        6

        [Rn,Rm,shift># offset_12>]!

        帶移位的寄存器前索引尋址

        (Scaled register pre-indexed)

        7

        [Rn],#± offset_12>

        立即數后索引尋址

        (Immediate post-indeded)

        8

        [Rn],±Rm>

        寄存器后索引尋址

        (Register post-indexed)

        9

        [Rn],±Rm>,shift># offset_12>

        帶移位的寄存器后索引尋址

        (Scaled register post-indexed)

        字及無符號字節的Load/Store指令的解碼格式如圖4.13所示。

        圖4.13 字及無符號字節的Load/Store指令的解碼格式

        編碼格式中各位的含義如表4.3所示。

        表4.3 字和無符號半字Load/Store指令編碼格式各位含義

        位 標 識

        取 值

        含 義

        P

        P=0

        使用后索引尋址

        P=1

        使用偏移地址或前索引尋址(由W位決定)

        U

        U=0

        訪問的地址=基址寄存器的值-偏移量(offset)

        U=1

        訪問的地址=基址寄存器的值+偏移量(offset)

        B

        B=0

        字訪問Load/Store

        B=1

        無符號字節訪問Load/Store

        W

        W=0

        如果P=0,該指令為LDR、LDRB、STR或STRB指令,且內存訪問指令為正常訪問指令;如果P=1,指令執行不更新基地址

        W=1

        如果P=0,該指令為LDRBT、LDRT、STRBT或STRT,且指令為非特權(用戶模式)訪問指令;如果P=1,計算內存地址并更新基地址

        L

        L=0

        Store指令

        L=1

        Load指令


        上一頁 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 木兰县| 天峨县| 榕江县| 永和县| 海南省| 石家庄市| 都兰县| 宁明县| 榕江县| 阿城市| 沾化县| 盈江县| 新竹市| 尼勒克县| 长丰县| 上栗县| 文成县| 平阳县| 临西县| 昭苏县| 清镇市| 淮阳县| 平度市| 新巴尔虎右旗| 永兴县| 沈阳市| 保康县| 通辽市| 泸水县| 新巴尔虎右旗| 英超| 卢氏县| 收藏| 绥棱县| 贺州市| 留坝县| 唐山市| 齐齐哈尔市| 延津县| 兴国县| 来安县|