回复:关于间接寻址及循环的疑惑

未尽

  • 帖子

    878
  • 精华

    6
  • 被关注

    7

论坛等级:侠士

注册时间:2006-04-11

普通 普通 如何晋级?

发布于 2011-01-06 10:21:41

8楼

不用说,楼主的语句肯定是错误的。其中 L DBW [MD 102]一句,就是要将DB100.DBW*中的数据装入累加器,在CPU执行这个语句时,先将MD 102内的值移到地址寄存器,然后再进行寻址,装载数据。我们来看,第一次执行时,MD102的值为16#1,移到地址寄存器后指的是第2个位(MD102的值为16#0时,移到地址寄存器后指的是第首位),而语句要求的是按字进行寻址,显然是错误的。
其实,发生这个错误的关键是对地址寄存器不理解。地址寄存器为32位,其中前三位为位地址,从第四位开始才是字节地址。因此,做为字寻址地址的MD102,必须确保前三位为0,这就是为什么在给MD102赋值时我们通常会执行SLD 3指令的原因。

好好生活,天天向上!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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