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

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

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。

1 2 3 4 5 6 7 8

关键词: 数据传送指令 单寄存器 Load/Store指令 微处理器 ARM

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

或用微信扫描左侧二维码

相关文章

查看电脑版