新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)據(jù)傳送指令之:?jiǎn)渭拇嫫鞯腖oad/Store指令

數(shù)據(jù)傳送指令之:?jiǎn)渭拇嫫鞯腖oad/Store指令

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

本文引用地址:http://butianyuan.cn/article/257080.htm

5.3.6 有符號(hào)的字節(jié)/半字(LDRBT/STRBT)

1.LDRSB指令

(1)指令編碼格式

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

注意

LDRSB與LDRB指令的不同之處在于它將寄存器的高24位設(shè)置成該字節(jié)數(shù)據(jù)的符號(hào)位的值(即將該8位字節(jié)數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展,生成32位字?jǐn)?shù)據(jù))。

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

圖5.13 LDRSB指令編碼格式

(2)指令的語法格式

LDR{cond>}SB Rd>,addr_mode>

① cond>

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

② Rd>

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

③ addr_mode>

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

(3)指令操作的偽代碼

If ConditionPassed{cond} then

data=Memory[address,1]

Rd=SignExtend{data}

2.LDRSH指令

(1)指令編碼格式

LDRSH指令根據(jù)addr_mode>所確定的地址模式將一個(gè)16位半字讀取到指令中的目標(biāo)寄存器Rd>。

注意

LDRSH與LDRH指令的不同之處在于它將寄存器的高16位設(shè)置成該字節(jié)數(shù)據(jù)的符號(hào)位的值(即將該16位字節(jié)數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展,生成32位字?jǐn)?shù)據(jù))。

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

圖5.14 LDRSH指令編碼格式

(2)指令的語法格式

LDR{cond>}SH Rd>,addr_mode>

① cond>

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

② Rd>

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

③ addr_mode>

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

(3)指令操作的偽代碼

If ConditionPassed{cond} then

if address[0]==0

data=Memory[address,2]

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

data=UNPREDICTABLE

Rd=SignExtend{data}

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



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

評(píng)論


相關(guān)推薦

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

關(guān)閉