回复:s7-200变址问题求助

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2008-05-09 09:04:31

0楼

不是这么解释的。
AC0超出255并不能造成MOV_DW指令的*AC1溢出。
问题在于:
MOVB VB14, AC0
MUL 4, AC0
前一条4指令把VB14装入到AC0的低8位,第二条指令把AC0当作16位数来用,那么AC0的第8-15位是什么值?未知!所以第二条指令MUL实际上是用4乘一个未知数,后续生成的指针,就可能指到天国去了。
那么楼主在这两条指令前加了一句movw 0,ac0,实际是把AC0的第0-15位均清零,所以当AC0由8位的VB14值升到MUL的16位值时,第8-15位有了确的值(0),你后续的指针值才是可预知的。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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