回复:再论L区的变量留值问题

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2012-12-16 00:57:41

32楼

“同一嵌套级别的程序的L区是公用的,后调用的同一级子程序的局部数据会覆盖上一次调用的子程序的局部数据。”这一句手册上有吗?我没找到。目前试下来,这一句是事实。
手册稍后(P31/45)关于L区的进一步描述:



所以,很多人看到这一段的描述,都以为L区是在相关的程序实体运行时动态分配的。从前面为11个程序实体保留L区,只保证了数量,没有保证分配机制。
实际测试下来,这种分配是静态的。也就是说,不管相关的程序实体(比如子程序)是否被调用,与各级程序实体“绑定”的L区已经存在了,只是不能象V区那样可在程序的任何地方可访问(所以手册说“不存在”也是等效的)。这种分配机制可以让程序的调用高效率。
另有一贴有关累加器AC的,手册描述,当进中断服务前,AC会被保存,等中断服务结束,再恢复AC。实际试下来,AC有两套,一套是中断专用,另一套是非中断程序专用。所谓的AC保存和恢复,只是一种等效的说法。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。