标题:51单片机 如何在汇编语言中切换寄存器组
取消只看楼主
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
结帖率:81.82%
已结贴  问题点数:20 回复次数:2 
51单片机 如何在汇编语言中切换寄存器组
即主函数调用了一个有参数的子函数,子函数中有调用了一个有参数的子函数
如何用汇编实现对子函数的调用呢?
随便举个例子:
void delay(int i);
{}
void send(char j);
{
    int i;
    delay(i);
}
void main()
{    char a;
     send(a);   
}

大概就是这么个意思,求大神指点
搜索更多相关主题的帖子: 单片机 寄存器 如何 
2015-09-19 14:07
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
得分:0 
回复 2楼 hu9jj
就是将参数放到r0-r7中啊, 51单片机不是有4组嘛,在第一次调用函数的时候用了一组寄存器了,第二组
调用寄存器的时候第一组的数据不能被覆盖,要用第二组切换。就这么个意思
2015-09-25 08:33
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
得分:0 
回复 6楼 边小白
对。一组寄存器不够用
2015-09-25 08:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-457476-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.206368 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved