新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 数据传送指令之:单寄存器的Load/Store指令

数据传送指令之:单寄存器的Load/Store指令

作者:时间:2013-09-13来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257080.htm

5.3.2 字节(LDRB/STRB)

1.LDRB指令

(1)指令编码格式

LDRB指令根据addr_mode>所确定的地址模式将一个8位字节读取到指令中的目标寄存器Rd>。

指令的编码格式如图5.5所示。

图5.5 LDRB指令编码格式

注意

LDRB指令加载一个内存地址的8位字节到一个通用寄存器中。寄存器的高位数据补0。

(2)指令的语法格式

LDR{cond>}B Rd>,addr_mode>

① cond>

为指令编码中的条件域。它指示LDRB指令在什么条件下执行。当cond>忽略时,指令为无条件执行(cond=AL(Alway))。

② Rd>

确定使用哪个通用寄存器作为目标寄存器。

③ addr_mode>

它确定了指令编码中的I、P、U、W、Rn和addr_mode>位。所有的寻址模式中,都会确定一个基址寄存器Rn。

(3)指令操作的伪代码

if ConditionPassed{cond} then

Rd = Memory[address,1]

注意

当PC作为位基地址出现在指令中时,指令中将会使用PC相关地址,使用这种方法可以编写自己的位置无关(position-independ)指令。

2.STRB指令

(1)指令编码格式

STRB指令从寄存器中取出指定的8位字节放入寄存器的低8位,并将寄存器的高位补0。

指令的编码格式如图5.6所示。

图5.6 STRB指令编码格式

(2)指令的语法格式

STR{cond>}B Rd>,addr_mode>

① cond>

为指令编码中的条件域。它指示STRB指令在什么条件下执行。当cond>忽略时,指令为无条件执行(cond=AL(Alway))。

② Rd>

确定使用哪个通用寄存器作为目标寄存器。

注意

当PC作为目标寄存器Rd>出现在指令中时,指令的执行结果不可预知。

③ addr_mode>

它确定了指令编码中的I、P、U、W、Rn和addr_mode>位。所有的寻址模式中,都会确定一个基址寄存器Rn。

存储器相关文章:存储器原理




评论


相关推荐

技术专区

关闭