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

从F到0 - From F to 0

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

易语言MASM置入代码实现子程序指针/小数型/长整数型的逻辑取反 (0返回真,非0返回假)

[复制链接]
发表于 2020-9-2 21:29:46 | 显示全部楼层 |阅读模式
本帖最后由 EAX 于 2020-9-2 21:29 编辑

1.png

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

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 A, 子程序指针

  9. 输出调试文本 (逻辑取反_子程序指针 (A))
  10. A = &逻辑取反_子程序指针
  11. 输出调试文本 (逻辑取反_子程序指针 (A))
  12. 调试输出 (逻辑取反_小数型 (0), 逻辑取反_小数型 (-1.1), 逻辑取反_小数型 (#pi))
  13. 调试输出 (逻辑取反_长整数型 (0), 逻辑取反_小数型 (-1), 逻辑取反_小数型 (123))



  14. .子程序 逻辑取反_子程序指针, 逻辑型, 公开, 0返回真,非0返回假
  15. .参数 值, 子程序指针

  16. 置入代码 ({ 139, 69, 8, 11, 192, 116, 5, 184, 1, 0, 0, 0, 131, 240, 1, 201, 194, 4, 0 })
  17. ' mov eax,[ebp+8]
  18. ' .if eax
  19. ' mov eax,1
  20. ' .endif
  21. ' xor eax,1
  22. ' leave
  23. ' retn 4

  24. 返回 (假)

  25. .子程序 逻辑取反_小数型, 逻辑型, 公开, 0返回真,非0返回假
  26. .参数 值, 小数型

  27. 置入代码 ({ 139, 69, 8, 11, 192, 116, 5, 184, 1, 0, 0, 0, 131, 240, 1, 201, 194, 4, 0 })
  28. ' mov eax,[ebp+8]
  29. ' .if eax
  30. ' mov eax,1
  31. ' .endif
  32. ' xor eax,1
  33. ' leave
  34. ' retn 4

  35. 返回 (假)

  36. .子程序 逻辑取反_长整数型, 逻辑型, 公开, 0返回真,非0返回假
  37. .参数 值, 长整数型

  38. 置入代码 ({ 82, 139, 69, 8, 139, 85, 12, 11, 192, 117, 4, 11, 210, 116, 4, 51, 192, 235, 5, 184, 1, 0, 0, 0, 90, 201, 194, 8, 0 })
  39. ' push edx
  40. ' mov eax,[ebp+8]
  41. ' mov edx,[ebp+12]
  42. ' .if eax || edx
  43. ' xor eax,eax
  44. ' .elseif
  45. ' mov eax,1
  46. ' .endif
  47. ' pop edx
  48. ' leave
  49. ' retn 8

  50. 返回 (假)

复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-21 00:38 , Processed in 0.622035 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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