打印

关于嵌入式汇编函数

[复制链接]
1347|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HSunrays|  楼主 | 2010-4-27 20:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问,嵌入式汇编函数中用到寄存器变量若不是传入参数的寄存器,函数会自动入栈保存吗?如:
__asm void my_strcpy(const char *src, char *dst)
{
loop
        LDRB r2, [r0], #1
        STRB r2, [r1], #1
        CMP r2, #0
        BNE loop
        BX lr
}
其中使用的R2,编译器有没有自动堆栈,在函数返回前没有出栈哦!
沙发
ShakaLeo| | 2010-4-27 21:18 | 只看该作者
编译器应该不会生成入栈和出栈的代码,这个函数写的应该是有问题的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

44

帖子

1

粉丝