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

从F到0 - From F to 0

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

易语言MASM置入代码实现 取文本长度() 取文本型数据的长度,不包含结束0 (返回整数型)

[复制链接]
发表于 2023-6-15 17:00:19 | 显示全部楼层 |阅读模式
1.png
  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序
  7. .局部变量 长度, 整数型
  8. .局部变量 文本, 文本型
  9. .局部变量 时间, 整数型
  10. .局部变量 耗时A, 整数型
  11. .局部变量 耗时B, 整数型

  12. .变量循环首 (0, 10000, 1, 长度)
  13.     文本 = 取空白文本 (长度)
  14.     .如果真 (取文本长度_MASM (文本) ≠ 取文本长度 (文本))
  15.         输出调试文本 (“错误”)
  16.         结束 ()
  17.     .如果真结束

  18. .变量循环尾 ()
  19. 输出调试文本 (“完成”)

  20. .子程序 取文本长度_MASM, 整数型, 公开, 取文本型数据的长度,不包含结束0。
  21. .参数 文本数据, 文本型, , 参数值指定欲检查其长度的文本数据。

  22. 置入代码 ({ 83, 81, 139, 69, 8, 131, 248, 0, 127, 4, 51, 192, 235, 26, 139, 0, 131, 248, 0, 127, 4, 51, 192, 235, 15, 139, 200, 138, 24, 10, 219, 117, 2, 235, 3, 64, 235, 245, 43, 193, 89, 91, 201, 194, 4, 0 })
  23. ' push ebx
  24. ' push ecx
  25. ' mov eax,[ebp+8]
  26. ' .if sdword ptr eax <= 0
  27. ' xor eax,eax
  28. ' jmp ASM_END
  29. ' .endif
  30. ' mov eax,[eax]
  31. ' .if sdword ptr eax <= 0
  32. ' xor eax,eax
  33. ' jmp ASM_END
  34. ' .endif
  35. ' mov ecx,eax
  36. ' .while 1
  37. ' mov bl,[eax]
  38. ' .if !bl
  39. ' .break
  40. ' .endif
  41. ' inc eax
  42. ' .endw
  43. ' sub eax,ecx
  44. ' ASM_END:
  45. ' pop ecx
  46. ' pop ebx
  47. ' leave
  48. ' retn 4
  49. 返回 (0)

复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-27 14:21 , Processed in 0.710040 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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