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

[复制链接]
3005|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
                  那必须压栈

使用特权

评论回复
linhai1986| | 2010-1-23 23:27 | 显示全部楼层
楼上两位说的都是挺好的

使用特权

评论回复
suoma| | 2010-1-24 16:20 | 显示全部楼层
大概楼主还很害羞

使用特权

评论回复
sz_n053| | 2010-1-24 17:00 | 显示全部楼层
一般在中断里用较好...

使用特权

评论回复
Karlshen| | 2010-1-24 18:14 | 显示全部楼层
7# sz_n053
貌似没仔细看人家问啥吧?

使用特权

评论回复
sz_n053| | 2010-1-24 20:54 | 显示全部楼层
喔.....若要提供别人使用函式时, 可用....

使用特权

评论回复
xiaoxin1986| | 2010-1-24 22:13 | 显示全部楼层
发现楼主的专家等级很到

使用特权

评论回复
lovelyegle|  楼主 | 2010-1-26 12:37 | 显示全部楼层
不知道,专家级别是咋评的,我只是很认真地论坛里逛罢了

使用特权

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

本版积分规则

77

主题

640

帖子

1

粉丝