Logo  
企业邮局QQ快速登录
浏览文档 当前位置:广州若恒 >> 支持中心 >> 找答案 >> 浏览文档
AC0做求和校验,循环时如何确定求和是否正确 求解释,麻烦各位师傅了
AC0做求和校验,循环时如何确定求和是否正确 求解释,麻烦各位师傅了
核心提示:LD     SM0.0MOVD   +0, AC0MOVB   *#参数:*LD0, AC0//字节相加求和FOR    #循环计数:LW7, +2, #循环:LW4+I     *#参数:*LD0,&

LD     SM0.0
MOVD   +0, AC0
MOVB   *#参数:*LD0, AC0
//字节相加求和
FOR    #循环计数:LW7, +2, #循环:LW4
+I     *#参数:*LD0, AC0            //+22 计数值VW10从1增加到26
INCD   #参数:LD0
LD     SM0.0
//取校验和的最低字节作为校验和
MOVB   AC0, #输出:LB6
//校验完毕

问题补充:
MOVB   *#参数:*LD0, AC0 在AC0中保存的是传过来的数,还是地址? +I     *#参数:*LD0, AC0为什么要这样加?我是在公司实习的学生,对求和校验,CRC校验,奇校验,偶校验看的不明白,不知道这种算法的编程步骤,谢谢您的回答,可以打扰问一下吗,


 

最佳答案

可以很肯定的告诉你,你的程序计算校验和,肯定是错误的

因为你做的是16位的加法指令,如第一次做的是VW0+AC0=AC0 
第二次是VW1+AC0=AC0
注意西门子VW0和VW1是共用了VB1这个存储空间的
你的本来要做的是VB0+VB1+VBx=AC0
但西门子没有8位的加法指令,
那么你可以在加法之前用逻辑于指令,就是把16位寄存器的高8位屏蔽为0
就是16#00FF AND  *LD0 =AC1
然后再用AC1+AC0 =AC0
INC LD0
这样就OK了

更多


Tags:AC0做求和校验,循环时如何确定求和是否正确 求解释,麻烦各位师傅了

0% (0)
0% (10)
相关文档
发表评论
用户评论
最新文档
·S7-200 PID 手写程序与利用自带模 
·AC0做求和校验,循环时如何确定求 
·起重机用西门子变频电机悬停 
·DI回路电流计算 
·一个触摸屏接三个PLC,是否可行? 
推荐文档
视觉焦点
S7-200 PID 手写程序与利用自带模块、向导生成PID方法的区别
AC0做求和校验,循环时如何确定求和是否正确   求解释,麻烦各位师傅了
  2880306702
  sales@gzrh.com   在线发送
微信扫一扫
  技术支持
  技术论坛
  Support@gzrh.com   在线发送
  项目洽谈
  Support@gzrh.com   在线发送
  投诉与建议
  gzrh@gzrh.com   在线发送
  订阅精彩内容
  填写您的邮件地址,订阅我们的精彩内容:
  联系我们
销售热线:020-85520027/85520287
项目洽谈:020-85533142/85533145
联系传真:020-85520030/85536394
技术热线:020-61087040
咨询邮箱:gzrh@gzrh.com
公司地址:广州市天河区黄埔大道中662号金融城绿地中心509室