如何在ARM组件中将可变数量的存储器字加载到寄存器中?

时间:2014-04-15 13:41:08

标签: assembly arm

我想在ARM程序集中使用LDM命令将多个内存字加载到寄存器中,如

 LDMFA    r9!, {r0-r5}  ; 

其中r9具有要加载的起始存储器字节的地址,并且从r0到r5将6个存储器字加载到寄存器。如何修改此指令以加载可变数量的内存字?它应该支持将1到12个存储字加载到一组寄存器中。

我正在尝试将值从一个内存位置复制到另一个内存位置。用户可以给出源起始地址目标起始地址和要复制的字节数。

1 个答案:

答案 0 :(得分:2)

所有这些寄存器编号都会在编译/汇编时嵌入到指令中,因此您无法做任何事情来使该行为从外部变化。

enter image description here