新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)據(jù)傳送指令之:單寄存器的Load/Store指令

        數(shù)據(jù)傳送指令之:單寄存器的Load/Store指令

        作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

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

        5.3.2 字節(jié)(LDRB/STRB)

        1.LDRB指令

        (1)指令編碼格式

        LDRB指令根據(jù)addr_mode>所確定的地址模式將一個8位字節(jié)讀取到指令中的目標(biāo)寄存器Rd>。

        指令的編碼格式如圖5.5所示。

        圖5.5 LDRB指令編碼格式

        注意

        LDRB指令加載一個內(nèi)存地址的8位字節(jié)到一個通用寄存器中。寄存器的高位數(shù)據(jù)補0。

        (2)指令的語法格式

        LDR{cond>}B Rd>,addr_mode>

        ① cond>

        為指令編碼中的條件域。它指示LDRB指令在什么條件下執(zhí)行。當(dāng)cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。

        ② Rd>

        確定使用哪個通用寄存器作為目標(biāo)寄存器。

        ③ addr_mode>

        它確定了指令編碼中的I、P、U、W、Rn和addr_mode>位。所有的尋址模式中,都會確定一個基址寄存器Rn。

        (3)指令操作的偽代碼

        if ConditionPassed{cond} then

        Rd = Memory[address,1]

        注意

        當(dāng)PC作為位基地址出現(xiàn)在指令中時,指令中將會使用PC相關(guān)地址,使用這種方法可以編寫自己的位置無關(guān)(position-independ)指令。

        2.STRB指令

        (1)指令編碼格式

        STRB指令從寄存器中取出指定的8位字節(jié)放入寄存器的低8位,并將寄存器的高位補0。

        指令的編碼格式如圖5.6所示。

        圖5.6 STRB指令編碼格式

        (2)指令的語法格式

        STR{cond>}B Rd>,addr_mode>

        ① cond>

        為指令編碼中的條件域。它指示STRB指令在什么條件下執(zhí)行。當(dāng)cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。

        ② Rd>

        確定使用哪個通用寄存器作為目標(biāo)寄存器。

        注意

        當(dāng)PC作為目標(biāo)寄存器Rd>出現(xiàn)在指令中時,指令的執(zhí)行結(jié)果不可預(yù)知。

        ③ addr_mode>

        它確定了指令編碼中的I、P、U、W、Rn和addr_mode>位。所有的尋址模式中,都會確定一個基址寄存器Rn。

        存儲器相關(guān)文章:存儲器原理




        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 长葛市| 黎城县| 泌阳县| 兰考县| 凌源市| 古丈县| 皋兰县| 屯留县| 托克逊县| 望谟县| 色达县| 永安市| 化德县| 咸阳市| 丹江口市| 贡山| 定结县| 平阴县| 贺兰县| 灵璧县| 台江县| 巨鹿县| 邵东县| 马尔康县| 浑源县| 牡丹江市| 新宁县| 阿合奇县| 曲麻莱县| 固阳县| 曲沃县| 海伦市| 烟台市| 沂水县| 安义县| 临安市| 松原市| 涿州市| 千阳县| 修水县| 辽阳市|