新聞中心

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

        Thumb指令集之: 單寄存器數(shù)據(jù)傳送指令

        作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

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

        11.5.9有符號(hào)字節(jié)數(shù)據(jù)加載指令LDRSB

        (1)編碼格式

        有符號(hào)字節(jié)數(shù)據(jù)加載指令LDRSB的編碼格式如圖11.50所示。

        圖11.50LDRSB指令的編碼格式

        LDRSB指令用于從內(nèi)存中將一個(gè)8位的字節(jié)數(shù)據(jù)讀取到指令中的目標(biāo)寄存器中,并將寄存器的高24位設(shè)置成該字節(jié)數(shù)據(jù)的符號(hào)位的值(即將該8位字節(jié)數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展,生成32位字?jǐn)?shù)據(jù))。

        (2)指令的語(yǔ)法格式

        LDRSBRd>,[Rn>,Rm>]

        ①Rd>

        目的寄存器。

        ②Rn>

        此寄存器存放內(nèi)存訪(fǎng)問(wèn)基地址。

        ③Rm>

        此寄存器存放內(nèi)存訪(fǎng)問(wèn)偏移地址。

        (3)指令操作的偽代碼

        address=Rn+Rm

        Rd=SignExtend(Memory[address,1])

        (4)對(duì)應(yīng)的指令

        LDRSBRd>,[Rn>,Rm>]

        11.5.10有符號(hào)半字?jǐn)?shù)據(jù)加載指令LDRSH

        (1)編碼格式

        有符號(hào)字節(jié)數(shù)據(jù)加載指令LDRSH的編碼格式如圖11.51所示。

        圖11.51LDRSH指令的編碼格式

        LDRSH指令用于從內(nèi)存中將一個(gè)16位的半字?jǐn)?shù)據(jù)讀取到指令中的目標(biāo)寄存器中,并將寄存器的高16位設(shè)置成該半字?jǐn)?shù)據(jù)的符號(hào)位的值(即將該16位半字?jǐn)?shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展,生成32位字?jǐn)?shù)據(jù))。

        (2)指令的語(yǔ)法格式

        LDRBHRd>,[Rn>,Rm>]

        ①Rd>

        目的寄存器。

        ②Rn>

        此寄存器存放內(nèi)存訪(fǎng)問(wèn)基地址。

        ③Rm>

        此寄存器存放內(nèi)存訪(fǎng)問(wèn)偏移地址。

        (3)指令操作的偽代碼

        address=Rn+Rm

        ifaddress[0]==0

        data=memory[address,2]

        else

        data=UNPREDICTABLE

        Rd=SignExtend[data]

        (4)對(duì)應(yīng)的指令

        LDRSHRd>,[Rn>,Rm>]



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 龙泉市| 临洮县| 塔城市| 高雄县| 石台县| 麻栗坡县| 梨树县| 东平县| 汪清县| 洛宁县| 改则县| 怀安县| 浦江县| 宁化县| 平顶山市| 阳谷县| 昌邑市| 上栗县| 大余县| 湘西| 祁连县| 麦盖提县| 周至县| 黄梅县| 永年县| 天等县| 枣庄市| 阳曲县| 信阳市| 青浦区| 望谟县| 天全县| 二连浩特市| 淮滨县| 麻栗坡县| 西贡区| 丰镇市| 龙岩市| 临沂市| 克山县| 杭锦后旗|