Thumb指令集之: 单寄存器数据传送指令

时间:2013-09-30来源:网络

11.5.16半字存储指令STRH(1)

(1)编码格式

半字存储加载指令STRH(1)的编码格式如图11.57所示。

图11.57STRH(1)指令的编码格式

STRH(1)半字数据存储指令用于将一个16位的半字数据写入到指令中指定的内存单元,该半字数据为指令中存放源操作数寄存器的低16位。常用于结构体的数据访问。域的基地址放在Rn寄存器中。

(2)指令的语法格式

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

①Rd>

目的寄存器。

②Rn>

指令的基址寄存器。

③immed_5>

5位立即数。该立即数的2倍与Rn>寄存器中的数值相加,形成内存访问地址。

(3)指令操作的伪代码

address=Rn+(immed_5*2)

ifaddress[1:0]==0

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

Else

Memory[address,2]=UNPREDICTABLE

(4)对应的ARM指令

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

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

(1)编码格式

寄存器存储指令STRH(2)的编码格式如图11.58所示。

图11.58STRH(2)指令的编码格式

寄存器存储指令STRH(2)用于将一个8位的半字数据写入到指令中指定的内存单元。此种形式的STRH指令常被用于访问数组中的元素。

(2)指令的语法格式

STRHRd>,[Rn>,Rm>]

①Rd>

目的寄存器。

②Rn>

存放形成内存访问地址的第一个寄存器。

③Rm>

存放形成内存访问地址的第二个寄存器。

(3)指令操作的伪代码

address=Rn+Rm

ifaddress[1:0]==0

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

Else

Memory[address,2]=UNPREDICTABLE

(4)对应的ARM指令

STRHRd>,[Rn>,Rm>]

1 2 3 4 5 6 7 8 9 10

关键词: Thumb指令集 单寄存器数据传送指令 ARM 寄存器装载指令 LDR(1)

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版