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

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

11.5.12寄存器存储指令STR(2)

(1)编码格式

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

图11.53STR(2)指令的编码格式

寄存器装载指令STR(2)将一个32位通用寄存器数据存储到内存单元中。此种形式的STR指令常被用于访问数组中的元素。

(2)指令的语法格式

LDRRd>,[Rn>,Rm>]

①Rd>

目的寄存器。

②Rn>

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

③Rm>

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

(3)指令操作的伪代码

address=Rn+Rm

ifaddress[1:0]==0b00

Memory[address,4]==Rd

Else

Memory[address,4]==UNPREDICTABLE

(4)对应的ARM指令

STRRd>,[Rn>,Rm>]

11.5.13寄存器存储指令STR(3)

(1)编码格式

寄存器存储指令STR(3)的编码格式如图11.54所示。

图11.54STR(3)指令的编码格式

寄存器存储指令STR(3)允许将一个32位通用寄存器的值存储到内存。此种形式的STR指令常被用于访问堆栈数据。

(2)指令的语法格式

STRRd>,[SP,#immed_8>*4]

①Rd>

目的寄存器。

②SP

堆栈指针寄存器,用于计算内存访问的地址。

③immed_8>

8位立即数。该立即数的4倍将和堆栈指针寄存器SP的值相加,形成内存访问地址。

(3)指令操作的伪代码

address=SP+(immed_8*4)

ifaddress[1:0]==0b00

Memory[address,4]=Rd

Else

Memory[address,4]=UNPREDICTABLE

(4)对应的ARM指令

STRRd>,[SP,#immed_8>*4]

1 2 3 4 5 6 7 8 9 10

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

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

或用微信扫描左侧二维码

相关文章

查看电脑版