新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > arm匯編adrl以及l(fā)dr與adr的區(qū)別

        arm匯編adrl以及l(fā)dr與adr的區(qū)別

        作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
        看《嵌入式linux應(yīng)用開發(fā)》第六章實(shí)例中看到個(gè)句:

        adrl r2,men_cfg_val

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

        最初對(duì)adr1相當(dāng)不解,后來發(fā)現(xiàn),那個(gè)不是數(shù)字1,而是字母l(認(rèn)真看頭部,有點(diǎn)區(qū)別的)

        這里記錄下ADRL的用法:

        功能:將相對(duì)于程序或相對(duì)于寄存器的地址載入寄存器中。與ADR指令相似。ADRL生成兩個(gè)數(shù)據(jù)處理指令,因此它比ADR加載的地址范圍要寬。

        語法
        ADRL{cond} Rd,label

        其中:

        cond:是一個(gè)可選的條件代碼。Rd:是要加載的寄存器。label:是相對(duì)于程序或寄存器的表達(dá)式。
        上面給出的范圍是相對(duì)于位于當(dāng)前指令地址后的、距離當(dāng)前指令四個(gè)字節(jié)(在 Thumb 代碼中)或兩個(gè)字(在 ARM 代碼中)遠(yuǎn)的點(diǎn)而言的。如果對(duì)齊為 16 字節(jié),或與此點(diǎn)的相關(guān)性更高,則遠(yuǎn)程地址的范圍可更大。

        查看ADRL的同時(shí),看到篇講述ldr與adr的區(qū)別的博文,感覺寫的很好,摘錄下來。

        http://coon.blogbus.com/logs/2738861.html

        看此文最大的收獲不在于說懂了這幾個(gè)命令的用法,關(guān)鍵卻在于反匯編的運(yùn)用,有反匯編看出不同用法的具體差別。

        注:反匯編用arm—linux_objdump就可以實(shí)現(xiàn)了。




        關(guān)鍵詞: arm匯編adrlldrad

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 邢台市| 凤冈县| 宜城市| 惠东县| 色达县| 济宁市| 阜城县| 江陵县| 松江区| 华容县| 麻城市| 新建县| 柳州市| 株洲县| 梅河口市| 鄢陵县| 田林县| 庐江县| 岳西县| 太湖县| 肃宁县| 疏附县| 新兴县| 高邮市| 贵南县| 左贡县| 长春市| 仁怀市| 辉南县| 雷山县| 鸡泽县| 吉安县| 精河县| 南平市| 望城县| 宜阳县| 布拖县| 龙川县| 和平县| 衡阳县| 桐城市|