新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 數據傳送指令之:單寄存器的Load/Store指令

        數據傳送指令之:單寄存器的Load/Store指令

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

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

        5.3.6 有符號的字節/半字(LDRBT/STRBT)

        1.LDRSB指令

        (1)指令編碼格式

        LDRSB指令根據addr_mode>所確定的地址模式將一個8位字節讀取到指令中的目標寄存器Rd>。

        注意

        LDRSB與LDRB指令的不同之處在于它將寄存器的高24位設置成該字節數據的符號位的值(即將該8位字節數據進行符號位擴展,生成32位字數據)。

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

        圖5.13 LDRSB指令編碼格式

        (2)指令的語法格式

        LDR{cond>}SB Rd>,addr_mode>

        ① cond>

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

        ② Rd>

        確定使用哪個通用寄存器作為目標寄存器。

        ③ addr_mode>

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

        (3)指令操作的偽代碼

        If ConditionPassed{cond} then

        data=Memory[address,1]

        Rd=SignExtend{data}

        2.LDRSH指令

        (1)指令編碼格式

        LDRSH指令根據addr_mode>所確定的地址模式將一個16位半字讀取到指令中的目標寄存器Rd>。

        注意

        LDRSH與LDRH指令的不同之處在于它將寄存器的高16位設置成該字節數據的符號位的值(即將該16位字節數據進行符號位擴展,生成32位字數據)。

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

        圖5.14 LDRSH指令編碼格式

        (2)指令的語法格式

        LDR{cond>}SH Rd>,addr_mode>

        ① cond>

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

        ② Rd>

        確定使用哪個通用寄存器作為目標寄存器。

        ③ addr_mode>

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

        (3)指令操作的偽代碼

        If ConditionPassed{cond} then

        if address[0]==0

        data=Memory[address,2]

        else /*address[0] ==1*/

        data=UNPREDICTABLE

        Rd=SignExtend{data}

        存儲器相關文章:存儲器原理



        上一頁 1 2 3 4 5 6 7 8 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泽普县| 共和县| 高州市| 定结县| 沛县| 绿春县| 西乌珠穆沁旗| 思南县| 永康市| 宣城市| 乐陵市| 凤台县| 泰州市| 镇平县| 信丰县| 逊克县| 和龙市| 崇礼县| 宁陕县| 新龙县| 上高县| 西盟| 东源县| 丽水市| 体育| 德安县| 奇台县| 玉山县| 临西县| 宁明县| 禄劝| 厦门市| 通海县| 中阳县| 芜湖县| 桂林市| 绵竹市| 晴隆县| 平利县| 丹凤县| 永靖县|