在ARM的汇编中,如何移动字节串

给出字节串开始地址r1和目的地开始地址r2,是以字节为单位的移动哦。也就是单个byte。
其实是不是串无所谓,主要是想知道,如何移动单个字节。
谢谢!

第1个回答  2011-03-07
用ldrb和strb指令
给你一个例子,使用内嵌汇编实现的内存拷贝,把变量换在寄存器就行了。
void my_strcpy(const char *src, char *dst)
{
int ch;
__asm
{
loop:
#ifndef __thumb
// ARM version
ldrb ch, [src], #1
strb ch, [dst], #1
#else
// Thumb version
ldrb ch, [src]
add src, #1
strb ch, [dst]
add dst, #1
#endif
cmp ch, #0
bne loop
}
}
第2个回答  2011-03-07
移动单个字节:
ldrb r0,[r1]
strb r0,[r2]本回答被提问者和网友采纳
相似回答