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

从F到0 - From F to 0

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

易语言MASM置入代码实现快速比较文本型字符串是否为指定长度 (返回逻辑型)

[复制链接]
发表于 2020-8-16 21:54:39 | 显示全部楼层 |阅读模式
本帖最后由 EAX 于 2020-8-16 21:57 编辑

1.png
正在编译现行程序
正在检查重复名称...
正在预处理现行程序
正在进行名称连接...
正在统计需要编译的子程序
正在编译...
正在生成主程序入口代码
程序代码编译成功
正在封装易格式目的代码
开始运行被调试程序
* “汇编耗时(毫秒)” | 5226.000000
* “传统耗时(毫秒)” | 364383984.000000
被调试易程序运行完毕


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

  3. .程序集 程序集1

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


  5. _临时子程序 ()
  6. 返回 (0)

  7. .子程序 _临时子程序
  8. .局部变量 文本, 文本型
  9. .局部变量 计数, 整数型
  10. .局部变量 时间, 整数型

  11. 文本 = 取空白文本 (1048576)
  12. 时间 = 取启动时间 ()
  13. .计次循环首 (100000000, 计数)
  14.     检查 (文本型_是否为指定长度 (文本, 1048576))
  15. .计次循环尾 ()
  16. 调试输出 (“汇编耗时(毫秒)”, 取启动时间 () - 时间)
  17. 时间 = 取启动时间 ()
  18. .计次循环首 (100000000, 计数)
  19.     检查 (取文本长度 (文本) = 1048576)
  20. .计次循环尾 ()
  21. 调试输出 (“传统耗时(毫秒)”, 取启动时间 () - 时间)

  22. .子程序 文本型_是否为指定长度, 逻辑型, 公开, 汇编版:返回(取文本长度 (文本型)=长度)
  23. .参数 文本型, 文本型, , 不能为空文本
  24. .参数 长度, 整数型, , 大于0小于等于文本长度的值,大于文本长度可能会出错或崩溃(慎用)

  25. 置入代码 ({ 83, 139, 69, 8, 139, 0, 3, 69, 12, 138, 24, 138, 120, 255, 10, 219, 117, 11, 10, 255, 116, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 91, 201, 194, 8, 0 })
  26. ' push ebx
  27. ' mov eax,[ebp+8]
  28. ' mov eax,[eax]
  29. ' add eax,[ebp+12]
  30. ' mov bl,[eax]
  31. ' mov bh,[eax-1]
  32. ' .if !bl && bh
  33. ' mov eax,1
  34. ' .elseif
  35. ' xor eax,eax
  36. ' .endif
  37. ' ASM_END:
  38. ' pop ebx
  39. ' leave
  40. ' retn 8

  41. 返回 (假)
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-25 17:51 , Processed in 0.808047 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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