设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 2615|回复: 3
收起左侧

易语言带校验功能的字节集(内存加法校验和原理 写1字节实时改变)用于检查数据是否正确

[复制链接]
发表于 2019-4-4 22:52:02 | 显示全部楼层 |阅读模式

  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 校验和, 长整数型
  4. .程序集变量 数据, 字节集

  5. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  6. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  7. 返回 (0)  ' 可以根据您的需要返回任意数值

  8. .子程序 _临时子程序



  9. .子程序 创建, , 公开
  10. .参数 长度, 整数型

  11. 数据 = 取空白字节集 (长度)
  12. 校验和 = 0


  13. .子程序 读, 字节型, 公开
  14. .参数 地址, 整数型, , 1为首地址 2为第二地址,以此类推

  15. 返回 (数据 [地址])


  16. .子程序 写, , 公开
  17. .参数 地址, 整数型
  18. .参数 值, 字节型

  19. .如果真 (值 = 数据 [地址])
  20.     返回 ()
  21. .如果真结束
  22. .如果 (值 > 数据 [地址])
  23.     校验和 = 校验和 + 值 - 数据 [地址]
  24. .否则
  25.     校验和 = 校验和 - (数据 [地址] - 值)
  26. .如果结束
  27. 数据 [地址] = 值



  28. .子程序 导出, 字节集, 公开

  29. 返回 (数据)



  30. .子程序 导入, , 公开
  31. .参数 导入数据, 字节集
  32. .局部变量 位置, 整数型

  33. 数据 = 导入数据
  34. 校验和 = 0
  35. .计次循环首 (取字节集长度 (数据), 位置)
  36.     校验和 = 校验和 + 数据 [位置]
  37. .计次循环尾 ()



  38. .子程序 校验, 逻辑型, 公开
  39. .局部变量 校验和副本, 长整数型
  40. .局部变量 位置, 整数型

  41. 校验和副本 = 0
  42. .计次循环首 (取字节集长度 (数据), 位置)
  43.     校验和副本 = 校验和副本 + 数据 [位置]
  44. .计次循环尾 ()

  45. 返回 (校验和副本 = 校验和)


  46. .子程序 取校验和, 长整数型, 公开

  47. 返回 (校验和)

  48. .子程序 取长度, 整数型, 公开

  49. 返回 (取字节集长度 (数据))


复制代码

相关帖子

发表于 2019-4-5 23:55:10 | 显示全部楼层
这个主要原理是对校验和加减差值
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-19 05:29 , Processed in 0.540031 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表