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

shine

  • 帖子

    8803
  • 精华

    39
  • 被关注

    157

论坛等级:至圣

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2012-09-04 10:42:11

19楼

quote:以下是引用流星fly在2012-09-03 09:54:04的发言:
难道是这样的?
1.每级深度的程序都用的同一片L区,不同深度之间是不同的?
2.中断程序用的单独的L区,之所以不能再子程序中再使用子程序,是因为中断程序只有两块L区?

第一点,确实是这样的,早上做了个例子
SBR0
LD SM0.0
MOVW 1, LW0
MOVW 2, LW2
MOVW 3, LW4
MOVW 4, LW6
MOVW 5, LW8
MOVW 6, LW10
MOVW 7, LW12
MOVW 8, LW14
MOVW 9, LW16
MOVW 10, LW18

SBR1
LD SM0.0
MOVW 11, LW0
MOVW 12, LW2
MOVW 13, LW4
MOVW 14, LW6
MOVW 15, LW8

SUB2
LD SM0.0
MOVW LW0, VW0
MOVW LW2, VW2
MOVW LW4, VW4
MOVW LW6, VW6
MOVW LW8, VW8
MOVW LW10, VW10
MOVW LW12, VW12
MOVW LW14, VW14
MOVW LW16, VW16
MOVW LW18, VW18

如果在OB1中执行如下程序

LD SM0.0
CALL SBR_0:SBR0
CALL SBR_1:SBR1
CALL SBR_2:SBR2
那么VW0到VW18分别是11~15,6~10
如果调用SBR0和1的顺序,那么VW0~18就是1~10 。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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