新聞中心

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

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

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

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

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

(1)編碼格式

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

圖11.50LDRSB指令的編碼格式

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

(2)指令的語法格式

LDRSBRd>,[Rn>,Rm>]

①Rd>

目的寄存器。

②Rn>

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

③Rm>

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

(3)指令操作的偽代碼

address=Rn+Rm

Rd=SignExtend(Memory[address,1])

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

LDRSBRd>,[Rn>,Rm>]

11.5.10有符號半字數(shù)據(jù)加載指令LDRSH

(1)編碼格式

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

圖11.51LDRSH指令的編碼格式

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

(2)指令的語法格式

LDRBHRd>,[Rn>,Rm>]

①Rd>

目的寄存器。

②Rn>

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

③Rm>

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

(3)指令操作的偽代碼

address=Rn+Rm

ifaddress[0]==0

data=memory[address,2]

else

data=UNPREDICTABLE

Rd=SignExtend[data]

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

LDRSHRd>,[Rn>,Rm>]



評論


相關(guān)推薦

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

關(guān)閉