新聞中心

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

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

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

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

11.5.16半字存儲指令STRH(1)

(1)編碼格式

半字存儲加載指令STRH(1)的編碼格式如圖11.57所示。

圖11.57STRH(1)指令的編碼格式

STRH(1)半字?jǐn)?shù)據(jù)存儲指令用于將一個(gè)16位的半字?jǐn)?shù)據(jù)寫入到指令中指定的內(nèi)存單元,該半字?jǐn)?shù)據(jù)為指令中存放源操作數(shù)寄存器的低16位。常用于結(jié)構(gòu)體的數(shù)據(jù)訪問。域的基地址放在Rn寄存器中。

(2)指令的語法格式

STRHRd>,[Rn>,#immed_5>*2]

①Rd>

目的寄存器。

②Rn>

指令的基址寄存器。

③immed_5>

5位立即數(shù)。該立即數(shù)的2倍與Rn>寄存器中的數(shù)值相加,形成內(nèi)存訪問地址。

(3)指令操作的偽代碼

address=Rn+(immed_5*2)

ifaddress[1:0]==0

Memory[address,2]=Rd[15:0]

Else

Memory[address,2]=UNPREDICTABLE

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

STRHRd>,[Rn>,#immed_5>*2]

11.5.17寄存器存儲指令STRH(2)

(1)編碼格式

寄存器存儲指令STRH(2)的編碼格式如圖11.58所示。

圖11.58STRH(2)指令的編碼格式

寄存器存儲指令STRH(2)用于將一個(gè)8位的半字?jǐn)?shù)據(jù)寫入到指令中指定的內(nèi)存單元。此種形式的STRH指令常被用于訪問數(shù)組中的元素。

(2)指令的語法格式

STRHRd>,[Rn>,Rm>]

①Rd>

目的寄存器。

②Rn>

存放形成內(nèi)存訪問地址的第一個(gè)寄存器。

③Rm>

存放形成內(nèi)存訪問地址的第二個(gè)寄存器。

(3)指令操作的偽代碼

address=Rn+Rm

ifaddress[1:0]==0

Memory[address,2]=Rd[15:0]

Else

Memory[address,2]=UNPREDICTABLE

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

STRHRd>,[Rn>,Rm>]



評論


相關(guān)推薦

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

關(guān)閉