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

[复制链接]
查看11 | 回复2 | 2011-3-7 10:43:26 | 显示全部楼层 |阅读模式
给出字节串开始地址r1和目的地开始地址r2,是以字节为单位的移动哦。也就是单个byte。
其实是不是串无所谓,主要是想知道,如何移动单个字节。
谢谢!

回复

使用道具 举报

千问 | 2011-3-7 10:43:26 | 显示全部楼层
用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
回复

使用道具 举报

千问 | 2011-3-7 10:43:26 | 显示全部楼层
移动单个字节:ldrb r0,[r1]strb r0,[r2]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行