Thumb指令集之: 单寄存器数据传送指令
11.5.5字节加载指令LDRB(1)
(1)编码格式
字节加载指令LDRB(1)的编码格式如图11.46所示。
图11.46LDRB(1)指令的编码格式
LDRB(1)字节数据加载指令用于从内存中将一个8位的字节数据读取到指令中的目标寄存器中,并将寄存器的高24位清零。常用于结构体的数据访问。域的基地址放在Rn寄存器中。
(2)指令的语法格式
LDRBRd>,[Rn>,#immed_5>]
①Rd>
目的寄存器。
②Rn>
指令的基址寄存器。
③immed_5>
5位立即数。用于与Rn>寄存器中的数值相加,形成内存访问地址。
(3)指令操作的伪代码
address=Rn+immed_5
Rd=memory[address,1]
(4)对应的ARM指令
LDRBRd>,[Rn>,#immed_5>]
11.5.6字节加载指令LDRB(2)
(1)编码格式
字节加载指令LDRB(2)的编码格式如图11.47所示。
图11.47LDRB(2)指令的编码格式
LDRB(2)字节数据加载指令用于从内存中将一个8位的字节数据读取到指令中的目标寄存器中,并将寄存器的高24位清零。此种形式的LDRB(2)指令常用于数组元素的访问。
(2)指令的语法格式
LDRBRd>,[Rn>,Rm>]
①Rd>
目的寄存器。
②Rn>
存放形成内存访问地址的第一个寄存器。
③Rm>
存放形成内存访问地址的第二个寄存器。
(3)指令操作的伪代码
address=Rn+Rm
Rd=Memory[address,1]
(4)对应的ARM指令
LDRBRd>,[Rn>,Rm>]
评论