免费邀请码更改用户名CRC32解密2.0回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行
搜索
查看: 38|回复: 1
收起左侧

易语言汇编置入代码写内存指针地址截断文本型字符串 取文本左边() 的增强极速优化版

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

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

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

x

  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序
  7. .局部变量 A, 文本型

  8. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  9. A = “Hello World!”
  10. 取文本左边2 (A, 5)
  11. 输出调试文本 (A)



  12. .子程序 取文本左边2, , 公开, 相当于 取文本左边() 的增强版,不扫描文本长度,一旦出错将会影响到其他变量、常量以及其他指令造成不可预料的结果
  13. .参数 欲截断的文本, 文本型, 参考, 修改结果将直接写入字符串,将在指定位置内存直接写入字符(0)(空字符),必须为变量,严禁提供文本常量否则会出错。
  14. .参数 保留字符数, 整数型, , 本参数 最小值为0,最大值为 取文本长度 () 的返回值,严禁越界或负数否则将会出错。

  15. 置入代码 ({ 96, 139, 69, 8, 139, 0, 139, 93, 12, 177, 0, 136, 12, 3, 97, 201, 194, 8, 0 })
  16. ' pushad
  17. ' mov eax,[ebp+8]  ;文本地址
  18. ' mov eax,[eax]  ;文本数据地址
  19. ' mov ebx,[ebp+12] ;截断长度
  20. ' mov cl,0
  21. ' mov [eax+ebx],cl
  22. ' popad
  23. ' leave
  24. ' retn 8
复制代码

相关帖子

回复

使用道具 举报

腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|官方QQ群|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备 15010402000325号 腾讯云安全认证

GMT+8, 2019-8-25 15:15, 34.236.190.216 , Processed in 0.079102 second(s), 30 queries .

Powered by Discuz! X3.4 © 2001-2017 Comsenz Inc.

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