多个数值累加结果为什么不对? 点击:406 | 回复:5



leedow

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 23回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2018年3月06日
发表于:2018-03-06 17:45:47
楼主

如下代码程序代码,请高手帮忙看看有什么问题.谢谢!

本人新手,刚刚开始了解学习. 我的意图是想把 VW0~VW4 五个数累加起来, 

做为计时器 T63 的值. 按数学计算, 很简单, 最后得到的 T63 计时器的值 VW0 

应该等于 680 . 但实际在仿真模拟器中运行监测到的值不对. 请教以下程序写法

有什么问题. 谢谢!


MOVW 280,VW0

MOVW 100,VW1

MOVW 100,VW2

MOVW 100,VW3

MOVW 100,VW4

NETWORK  1

LD  I0.0

+I     VW1, VW0

AENO

+I     VW2, VW0

AENO

+I     VW3, VW0

AENO

+I     VW3, VW0

NETWORK 2

LD I0.0

AN     T63

TON    T63, VW0





yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2018-03-07 08:41:35
1楼

MOVW 280,VW0

MOVW 100,VW1

MOVW 100,VW2

MOVW 100,VW3

MOVW 100,VW4

VW0包含了VB0,VB1

VW1包含了VB1,VB2

VW2包含了VB2,VB3

vW3包含了VB3,VB4……


发生了地址重叠,小朋友!!!!

leedow

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 23回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2018年3月06日
发表于:2018-03-07 09:20:23
2楼

哦! 明白了. VW占两个Bit位. 所以在定义使用VW 地址时, 序号间隔应该为 2  . 如: VW0 , VW2 ,VW4 这样.  谢谢! 


leedow

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 23回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2018年3月06日
发表于:2018-03-07 09:20:49
3楼


回复内容:

对: yuanle MOVW 280,VW0MOVW 100,VW1MOV... 内容的回复!


哦! 明白了. VW占两个Bit位. 所以在定义使用VW 地址时, 序号间隔应该为 2  . 如: VW0 , VW2 ,VW4 这样.  谢谢! 


leedow

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 23回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2018年3月06日
发表于:2018-03-07 09:42:38
4楼


回复内容:

对: yuanle MOVW 280,VW0MOVW 100,VW1MOV... 内容的回复!

非常感谢. 把定地址序号间隔改为2后程序正常了. 

刚注册, 还没搞通论坛的打赏. 实在抱歉.  


koka

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2018年1月31日
发表于:2018-03-07 13:17:56
5楼

谢谢楼主分享,难得的资料,值得学习


热门招聘
相关主题

官方公众号

智造工程师