恭喜,你发布的帖子
发布于 2018-07-06 11:01:01
10楼
同一级子程序会共享同一片L。你不相信,可以这样:
做一个子程序,没有参数的。里面只写movb 99 LB0。
又做一个子程序,没有参数,里面只写movb LB0 vb0。
然后在主程序随意次序用sm0.0调用这两个子程序。结果vb0就是99。
你没有做到先赋值后调用。L区数值对于你的程序来说,在同一次调用中,如果你没给它赋值,你就要把其中的数据当作是不确定值。如果你的数据要保存到下一次调用再次使用,你就需要用InOut类型,或者另外想办法,比如引入指针,把不同调用的数据写入到不同的V区中。(300/400/1200/1500没有这个问题,因为可以用FB的static数据区保存数据)
请填写推广理由:
分享
只看
楼主