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

易语言汇编置入代码实现极速比较两个文本型字符串是否一致、等于的方法 (返回逻辑型)

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

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

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

x

  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序

  7. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  8. 输出调试文本 (文本等于 (“123”, “123”))
  9. 输出调试文本 (文本等于 (“A”, “A”))
  10. 输出调试文本 (文本等于 (“”, “”))
  11. 输出调试文本 (文本等于 (“100”, “200”))
  12. 输出调试文本 (文本等于 (“001”, “002”))
  13. 输出调试文本 (文本等于 (“中文测试”, “中文测试”))
  14. 输出调试文本 (文本等于 (“1中文测试”, “2中文测试”))
  15. 输出调试文本 (文本等于 (“中文测试1”, “中文测试2”))
  16. 输出调试文本 (文本等于 (“中文测试1”, “中文测试1”))







  17. .子程序 文本等于, 逻辑型, 公开
  18. .参数 被比较文本, 文本型
  19. .参数 比较文本, 文本型

  20. 置入代码 ({ 81, 82, 139, 69, 8, 139, 85, 12, 139, 0, 139, 18, 232, 23, 0, 0, 0, 128, 249, 1, 117, 7, 184, 1, 0, 0, 0, 235, 5, 184, 0, 0, 0, 0, 90, 89, 201, 194, 8, 0, 80, 82, 83, 138, 24, 58, 26, 116, 6, 177, 0, 235, 14, 235, 8, 10, 219, 117, 4, 177, 1, 235, 4, 64, 66, 235, 232, 91, 90, 88, 195 })
  21. ' push ecx
  22. ' push edx
  23. ' mov eax,[ebp+8]  ;文本1地址
  24. ' mov edx,[ebp+12] ;文本2地址
  25. ' mov eax,[eax]  ;文本1数据地址
  26. ' mov edx,[edx]  ;文本2数据地址
  27. ' CALL TEXT_EQU  ;执行文本比较程序
  28. ' .if CL == 1  ;CL为1返回真,0为假
  29. ' mov eax,1
  30. ' .else
  31. ' mov eax,0
  32. ' .endif
  33. ' pop edx
  34. ' pop ecx
  35. ' leave
  36. ' retn 8
  37. ' TEXT_EQU: ;EAX:文本指针1 EDX:文本指针2 比较等于CL为1,否则为0
  38. ' push eax
  39. ' push edx
  40. ' push ebx
  41. ' TEXT_EQU_LOOP:
  42. ' mov bl,[eax]
  43. ' .if bl != [edx]
  44. ' mov cl,0
  45. ' jmp TEXT_EQU_END
  46. ' .elseif bl == 0
  47. ' mov cl,1
  48. ' jmp TEXT_EQU_END
  49. ' .endif
  50. ' inc eax
  51. ' inc edx
  52. ' JMP TEXT_EQU_LOOP
  53. ' TEXT_EQU_END:
  54. ' pop ebx
  55. ' pop edx
  56. ' pop eax
  57. ' ret

  58. 返回 (假)


复制代码

相关帖子

回复

使用道具 举报

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

本版积分规则