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

易语言汇编置入代码实现字节集数据的字母到大写与到小写极速转换 (不影响其他字符)

[复制链接]
发表于 2019-7-1 19:21:13 | 显示全部楼层 |阅读模式

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

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

x

  1. .版本 2

  2. .程序集 程序集1, , , 参数必须为字节集变量、否则会有不可预料的结果

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


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

  6. .子程序 _临时子程序
  7. .局部变量 数据, 字节集

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

  12. 字节集_到小写 (数据)
  13. 输出调试文本 (到文本 (数据))



  14. .子程序 字节集_到大写
  15. .参数 数据, 字节集, 参考

  16. 置入代码 ({ 96, 139, 69, 8, 139, 0, 139, 88, 4, 131, 192, 8, 185, 0, 0, 0, 0, 235, 20, 138, 20, 1, 128, 250, 97, 114, 8, 128, 250, 122, 119, 3, 128, 234, 32, 136, 20, 1, 65, 59, 203, 114, 232, 97, 201, 194, 4, 0 })
  17. ' pushad
  18. ' mov eax,[ebp+8]
  19. ' mov eax,[eax]
  20. ' mov ebx,[eax+4]
  21. ' add eax,8
  22. ' mov ecx,0
  23. ' .while ecx < ebx
  24. ' mov dl,[eax+ecx]
  25. ' .if dl >= 97 && dl <=122
  26. ' sub dl,32
  27. ' .endif
  28. ' mov [eax+ecx],dl
  29. ' inc ecx
  30. ' .endw
  31. ' popad
  32. ' leave
  33. ' retn 4


  34. .子程序 字节集_到小写
  35. .参数 数据, 字节集, 参考

  36. 置入代码 ({ 96, 139, 69, 8, 139, 0, 139, 88, 4, 131, 192, 8, 185, 0, 0, 0, 0, 235, 20, 138, 20, 1, 128, 250, 65, 114, 8, 128, 250, 90, 119, 3, 128, 194, 32, 136, 20, 1, 65, 59, 203, 114, 232, 97, 201, 194, 4, 0 })
  37. ' pushad
  38. ' mov eax,[ebp+8]
  39. ' mov eax,[eax]
  40. ' mov ebx,[eax+4]
  41. ' add eax,8
  42. ' mov ecx,0
  43. ' .while ecx < ebx
  44. ' mov dl,[eax+ecx]
  45. ' .if dl >=65 && dl<=90
  46. ' add dl,32
  47. ' .endif
  48. ' mov [eax+ecx],dl
  49. ' inc ecx
  50. ' .endw
  51. ' popad
  52. ' leave
  53. ' retn 4

复制代码

相关帖子

回复

使用道具 举报

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

本版积分规则