签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:至圣
注册时间:2007-08-03
钻石 如何晋级?
发布于 2021-11-25 19:37:13
32楼
参见下面图片说明吧
引用30楼详细内容:
芳季的程序在对每个子程序调用时分配的过程数据区前四个字节存储的是数据区首址指针,接着才存储真正的过程数据,所以要+4.且需要程序全扫描才能保证数据不会混乱。这种机制对中断程序中调用的子程序是有问题的。
-----------------
我分析的是每个子程序最后4bytes存储的都是VB1000的地址,开始时VD1000指向自己,随着其他子程序的执行VD1000指向各自的开始地址。但无论如何LD56都指向VB1000。SBR0开始的空闲需要LD56+4指向VB1004,但是常规子程序的LD56指向的VD1000所指向的V区已经时本身所需要的V区开始地址了,也+4就不明白了。
程序中没有对LD56进行过修改呀,所以LD56还是存储初始化时的&VB1000.
不是八,是四,告诉下家,你从那里开始使用。
指针指的地方放着一个指针。这事情我也想了很久。很绕。
请填写推广理由:
AI 小西智伴登场,7×24 小时权威支援,让技术支持告别等待!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有8942条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!