更改用户名CRC32解密回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行
查看: 142|回复: 2
收起左侧

易语言汇编置入代码实现极速比较两个整数型数组内容/成员数是否一致相同 (返回逻辑型)

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

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

您需要 登录 才可以下载或查看,没有帐号?注册有礼

x

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

  4. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  5. 返回 (0)  ' 可以根据您的需要返回任意数值
  6. .子程序 _临时子程序
  7. .局部变量 A, 整数型, , "0"
  8. .局部变量 B, 整数型, , "0"
  9. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  10. A = { 1, 2, 3, 4, 5 }
  11. B = { 1, 2, 3, 4, 5 }
  12. 输出调试文本 (整数型数组等于 (A, B))
  13. A = { 1, 2, 3, 4, 5 }
  14. B = { 1, 2, 3, 4, 6 }
  15. 输出调试文本 (整数型数组等于 (A, B))
  16. A = { 1, 2, 3, 4, 5 }
  17. B = { 1, 2, 3, 4, 5, 6 }
  18. 输出调试文本 (整数型数组等于 (A, B))
  19. A = {  }
  20. B = {  }
  21. 输出调试文本 (整数型数组等于 (A, B))

  22. .子程序 整数型数组等于, 逻辑型, 公开, 被比较数组与比较数组的成员数、值相同时返回真,否则返回假 (解决易语言不支持数组比较)
  23. .参数 被比较值, 整数型, 数组
  24. .参数 比较值, 整数型, 数组
  25. 置入代码 ({ 83, 81, 82, 86, 139, 69, 8, 139, 77, 12, 139, 0, 139, 9, 139, 88, 4, 139, 81, 4, 59, 218, 117, 10, 131, 251, 0, 114, 5, 131, 250, 0, 115, 7, 184, 0, 0, 0, 0, 235, 38, 131, 192, 8, 131, 193, 8, 186, 0, 0, 0, 0, 235, 16, 139, 52, 144, 59, 52, 145, 116, 7, 184, 0, 0, 0, 0, 235, 10, 66, 59, 211, 114, 236, 184, 1, 0, 0, 0, 94, 90, 89, 91, 201, 194, 8, 0 })
  26. ' push ebx
  27. ' push ecx
  28. ' push edx
  29. ' push esi
  30. ' mov eax,[ebp+8]
  31. ' mov ecx,[ebp+12]
  32. ' mov eax,[eax]
  33. ' mov ecx,[ecx]
  34. ' mov ebx,[eax+4]
  35. ' mov edx,[ecx+4]
  36. ' .if ebx != edx || ebx < 0 || edx < 0
  37. ' mov eax,0
  38. ' jmp ASM_END
  39. ' .endif
  40. ' add eax,8
  41. ' add ecx,8
  42. ' mov edx,0
  43. ' .while edx < ebx
  44. ' mov esi,[eax+edx*4]
  45. ' .if esi != [ecx+edx*4]
  46. ' mov eax,0
  47. ' jmp ASM_END
  48. ' .endif
  49. ' inc edx
  50. ' .endw
  51. ' mov eax,1
  52. ' ASM_END:
  53. ' pop esi
  54. ' pop edx
  55. ' pop ecx
  56. ' pop ebx
  57. ' leave
  58. ' retn 8
  59. 返回 (假)
复制代码


相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册有礼

本版积分规则