免扫码快速登录设为首页收藏本站帮助中心
查看: 39|回复: 0
收起左侧

易语言MASM置入代码计算指定内存指针地址、长度的校验和 所有字节值相加 (返回字节型)

[复制链接]
发表于 2019-11-24 22:07:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

  1. .版本 2
  2. .支持库 spec

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 字节集, 字节集

  9. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  10. 字节集 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }

  11. 输出调试文本 (指针_取校验和 (取变量数据地址 (字节集), 10))

  12. .子程序 指针_取校验和, 字节型, 公开
  13. .参数 指针, 整数型
  14. .参数 长度, 整数型

  15. 置入代码 ({ 83, 81, 82, 139, 69, 8, 139, 93, 12, 51, 201, 50, 210, 235, 4, 2, 20, 8, 65, 59, 203, 114, 248, 15, 182, 194, 90, 89, 91, 201, 194, 4, 0 })
  16. ' push ebx
  17. ' push ecx
  18. ' push edx
  19. ' mov eax,[ebp+8]
  20. ' mov ebx,[ebp+12]
  21. ' xor ecx,ecx
  22. ' xor dl,dl
  23. ' .while ecx < ebx
  24. ' add dl,[ecx+eax]
  25. ' inc ecx
  26. ' .endw
  27. ' movzx eax,dl
  28. ' pop edx
  29. ' pop ecx
  30. ' pop ebx
  31. ' leave
  32. ' retn 4
  33. 返回 (0)
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则