打印

请教有关51堆栈的问题

[复制链接]
1901|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cgkdxx|  楼主 | 2007-1-17 08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
awey| | 2007-1-17 08:46 | 只看该作者

可以,子程序调用和中断也要用到

使用特权

评论回复
板凳
cgkdxx|  楼主 | 2007-1-17 08:55 | 只看该作者

调子程序是机器里自动压站吗?

到ret的时候自己弹出来?

使用特权

评论回复
地板
zhichengdz| | 2007-1-17 20:01 | 只看该作者

可以

使用特权

评论回复
5
computer00| | 2007-1-18 16:30 | 只看该作者

是的。

使用特权

评论回复
6
cgkdxx|  楼主 | 2007-1-19 15:51 | 只看该作者

哥们,好像说过吧

别这样跟贴,行不?!

使用特权

评论回复
7
twz8858877| | 2007-1-20 13:54 | 只看该作者

执行调子程序或中断服务程序时

cpu都会先将当前PC值压栈,执行ret或reti时将堆栈保存的弹回PC,返回原处继续执行下一条语句。

使用特权

评论回复
8
zhangwr| | 2007-1-20 15:00 | 只看该作者

关键在于使用的芯片

52系列内存到FFH,无论60H还是70H都无所谓。
如果使用51系列,内存只到7FH,如果设为70H,压栈只能有16次,那么子程序嵌套调用次数和压栈次数就要十分谨慎了。

使用特权

评论回复
9
nertz| | 2007-1-20 19:46 | 只看该作者

7楼正解

一般的汇编书都有讲

使用特权

评论回复
10
cgkdxx|  楼主 | 2007-1-22 08:15 | 只看该作者

twz8858877:如果不加

push的话在调子程序时只会用到一个内存?那还是可以嵌套调很多层的嘛
另外,有个新问题:cjne a, #xxh, bbb 一条指令用几十遍有没有关系?

使用特权

评论回复
11
zhangwr| | 2007-1-24 18:12 | 只看该作者

多用几次没有关系

关键是几十遍的长度会超过一个页,就必须改变转移的代号了

使用特权

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

本版积分规则

192

主题

1126

帖子

0

粉丝