新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > arm 匯編指令--LDR

        arm 匯編指令--LDR

        作者: 時間:2016-11-21 來源:網絡 收藏
        LDR指令的格式:

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

        LDR{條件} 目的寄存器 <存儲器地址>

        作用:將 存儲器地址 所指地址處連續的4個字節(1個字)的數據傳送到目的寄存器中。

        LDR指令的尋址方式比較靈活,實例如下:

        LDR R0,[R1];將存儲器地址為R1的字數據讀入寄存器R0。

        LDR R0,[R1,R2] ;將存儲器地址為R1+R2的字數據讀入寄存器R0。

        LDR R0,[R1,#8] ;將存儲器地址為R1+8的字數據讀入寄存器R0。

        LDR R0,[R1],R2 ;將存儲器地址為R1的字數據讀入寄存器R0,并將R1+R2的值存入R1。

        LDR R0,[R1],#8;將存儲器地址為R1的字數據讀入寄存器R0,并將R1+8的值存入R1。

        LDR R0,[R1,R2]! ;將存儲器地址為R1+R2的字數據讀入寄存器R0,并將R1+R2的值存入R1。

        LDR R0,[R1,LSL #3];將存儲器地址為R1*8的字數據讀入寄存器R0。

        LDR R0,[R1,R2,LSL #2] ;將存儲器地址為R1+R2*4的字數據讀入寄存器R0。

        LDR R0,[R1,,R2,LSL #2]! ;將存儲器地址為R1+R2*4的字數據讀入寄存器R0,并將R1+R2*4的值存入R1。

        LDR R0,[R1],R2,LSL #2 ;將存儲器地址為R1的字數據讀入寄存器R0,并將R1+R2*4的值存入R1。

        LDR R0,Label ;Label為程序標號,Label必須是當前指令的-4~4KB范圍內。

        要注意的是

        LDR Rd,[Rn],#0x04 ;這里Rd不允許是R15。

        另外LDRB 的指令格式與LDR相似,只不過它是將存儲器地址中的8位(1個字節)讀到目的寄存器中。

        LDRH的指令格式也與LDR相似,它是將內存中的16位(半字)讀到目的寄存器中。

        LDR R0,=0xff

        這里的LDR不是arm指令,而是偽指令。這個時候與MOVE很相似,只不過MOV指令后的立即數是有限制的。這個立即數必須是0X00-OXFF范圍內的數經過偶數次右移得到的數,所以MOV用起來比較麻煩,因為有些數不那么容易看出來是否合法。



        關鍵詞: arm匯編指令LD

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 手游| 恩平市| 平武县| 司法| 大足县| 乐都县| 武定县| 乌鲁木齐县| 和政县| 垣曲县| 明溪县| 贵港市| 晴隆县| 松桃| 宜兰县| 辽中县| 溧水县| 宜都市| 江西省| 牙克石市| 博乐市| 喀喇| 湘阴县| 瓦房店市| 清水县| 兰州市| 海丰县| 阿合奇县| 商河县| 庐江县| 贵南县| 海伦市| 万山特区| 鄢陵县| 墨竹工卡县| 武冈市| 汉阴县| 舟曲县| 银川市| 扶风县| 深水埗区|