ARM批量Load/Store指令的寻址方式与操作过程

本文详细介绍了ARM架构中LDM和STM指令用于批量加载和存储数据的原理,包括不同寻址方式和操作过程。通过具体例子展示了LDMDA、LDMIA、LDMDB、LDMIB指令如何在内存和寄存器之间传输数据,并解释了Full栈、Empty栈、Descending栈和Ascending栈的概念及其在数据操作中的应用。
摘要由CSDN通过智能技术生成
 

实现一组寄存器和一块连续的内存单元之间传输数据。

主要的指令有2个:LDM:将内存中一块连续的单元中的数据传到一组寄存器中;STM:将一组寄存器中的数据传递到内存中一块连续的存储单元中。

LDM|STM{<cond>}<addressing_mode> <Rn>{!}, <registers>{^}

编号低的寄存器对应低地址,编号高的寄存器对应高地址。Rn存放地址块的低地址。R15永远在最高地址,且最后一个进行数据转移。

LDM指令的寻址方式

通常寻址方式

数据栈寻址方式

L位

P位

U位

LDMDA

LDMFA

1

0

0

LDMIA

LDMFD

1

0

1

LDMDB

LDMEA

1

1

0

LDMIB

LDMED

1

1

1

STM指令寻址方式<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值