导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→回答错误!

* 36881: 帮帮忙,关于子程序

   Lichunfu 
Lichunfu发表的帖子 

 回答错误!
当程序执行到M1结束的RET时,CPU会把当时栈顶的两字节数据弹出到PC(针对51系列),如果在进入子程序JSXL后到M1的RET指令时没有做过压栈,或者压入的数据已经弹出,那么此时栈顶内容应该是指令LCALL JSXL后面将要执行的指令地址,也就是说程序执行了RET语句后,PC已经指向LCALL JSXL后面的语句,故LCALL JSXL已经结束。不信你可以用仿真软件执行一下就知道了。

发表时间:2003年7月12日8:42:38

  
回复该帖

本主题共有 9 帖,分页:>>>>>该主题的所有内容[9]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  37013.[详细]同意,小鱼同学搞错嘞。不过这样很容易出错哦,其他进栈的东东都出不来了。..
摘要:同意, 小鱼同学搞错嘞。 不过这样很容易出错哦,其他进栈的东东都出不来了。......(74字)
- [luz][1034次] 2003年7月14日

  37108.[详细]能告诉我在什么情况下会出错吗?
摘要:......(无内容)
- [xdkjason][1005次] 2003年7月15日

  37073.[详细]我真的搞错了
摘要:不好意思,我错了,我对  LCALL  指令过程中的堆栈和压栈不是很明白,所以出错了。谢谢大家批评指正。......(95字)
- [我是一条鱼][940次] 2003年7月15日

[上一篇帖子]:可以用DC-DC变换器,想省钱又不怕麻烦的话可以用NE555做一个!
[下一篇帖子]:只是借用了telnet的命令