打印

关于51汇编子程序的PUSH命令的使用问题

[复制链接]
3452|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovelyegle|  楼主 | 2010-1-22 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机,使用汇编语言,如果是中断操作肯定需要进堆栈(PUSH)和出堆栈(POP)命令操作。但是子程序却未必,那么什么时候子程序用(PUSH,POP )命令?请各位高手指点!这个问题实在是好笑,但对于初学单片机的我来说,还挺麻烦!
沙发
David_ming| | 2010-1-22 16:26 | 只看该作者
当你需要保存一些数据的时候可以考虑用PUSH,还有传递参数的时候也可以考虑用PUSH,这样写程序会比较方便,但是要注意,一定要成对的使用PUSH POP,不然,当你返回的时候PC被装载的数据就会出错,程序就飞了

使用特权

评论回复
板凳
god_like| | 2010-1-22 21:31 | 只看该作者
“这个问题实在是好笑,但对于初学单片机的我来说,还挺麻烦!”
这个问题有什么好笑的,没看出来

使用特权

评论回复
地板
jerkoh| | 2010-1-23 22:52 | 只看该作者
如 某过程执行到  mov r0,#33h
                        ;被中断
                 mov  a,@r0

而 高休先级中断 进入
   需要执行 mov r0,#22h
                  那必须压栈

使用特权

评论回复
5
linhai1986| | 2010-1-23 23:27 | 只看该作者
楼上两位说的都是挺好的

使用特权

评论回复
6
suoma| | 2010-1-24 16:20 | 只看该作者
大概楼主还很害羞

使用特权

评论回复
7
sz_n053| | 2010-1-24 17:00 | 只看该作者
一般在中断里用较好...

使用特权

评论回复
8
Karlshen| | 2010-1-24 18:14 | 只看该作者
7# sz_n053
貌似没仔细看人家问啥吧?

使用特权

评论回复
9
sz_n053| | 2010-1-24 20:54 | 只看该作者
喔.....若要提供别人使用函式时, 可用....

使用特权

评论回复
10
xiaoxin1986| | 2010-1-24 22:13 | 只看该作者
发现楼主的专家等级很到

使用特权

评论回复
11
lovelyegle|  楼主 | 2010-1-26 12:37 | 只看该作者
不知道,专家级别是咋评的,我只是很认真地论坛里逛罢了

使用特权

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

本版积分规则

77

主题

640

帖子

1

粉丝