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

从F到0 - From F to 0

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

易语言MASM置入代码 置字节集长度() 快速取字节集左边 截断为指定长度 (返回逻辑型)

[复制链接]
发表于 2023-10-15 07:56:40 | 显示全部楼层 |阅读模式
1.png
  1. .版本 2
  2. .支持库 spec

  3. .程序集 程序集1

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


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

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

  9. 字节集变量 = { 1, 123, 234, 255, 170, 5 }
  10. 输出调试文本 (置字节集长度 (字节集变量, 3))
  11. 调试输出 (字节集变量)

  12. .子程序 置字节集长度, 逻辑型, 公开, 快速截断字节集变量到指定字节数 快速取字节集左边 成功返回真,失败返回假
  13. .参数 字节集变量, 字节集, 参考, 必须是字节集变量 通过变量传出修改结果
  14. .参数 字节集长度, 整数型, , 大于等于0且小于等于字节集长度的值

  15. 置入代码 ({ 83, 81, 139, 69, 8, 131, 248, 0, 127, 4, 51, 192, 235, 43, 139, 0, 131, 248, 0, 127, 4, 51, 192, 235, 32, 139, 88, 4, 139, 77, 12, 59, 203, 127, 10, 131, 251, 0, 124, 5, 131, 249, 0, 125, 4, 51, 192, 235, 8, 137, 72, 4, 184, 1, 0, 0, 0, 89, 91, 201, 194, 8, 0 })
  16. ' push ebx
  17. ' push ecx
  18. ' mov eax,[ebp+8]
  19. ' .if sdword ptr eax <= 0
  20. ' xor eax,eax
  21. ' jmp ASM_END
  22. ' .endif
  23. ' mov eax,[eax]
  24. ' .if sdword ptr eax <= 0
  25. ' xor eax,eax
  26. ' jmp ASM_END
  27. ' .endif
  28. ' mov ebx,[eax+4]
  29. ' mov ecx,[ebp+12]
  30. ' .if sdword ptr ecx > ebx || sdword ptr ebx < 0 || sdword ptr ecx < 0
  31. ' xor eax,eax
  32. ' jmp ASM_END
  33. ' .endif
  34. ' mov [eax+4],ecx
  35. ' mov eax,1
  36. ' ASM_END:
  37. ' pop ecx
  38. ' pop ebx
  39. ' leave
  40. ' retn 8
  41. 返回 (假)
复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-27 17:26 , Processed in 0.657037 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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