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

从F到0 - From F to 0

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

易语言置入代码指定长度比较两个不同内存地址指针的数据是否全部等于一致(返回逻辑型)

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

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

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 A, 字节集
  9. .局部变量 B, 字节集
  10. .局部变量 C, 双精度小数型

  11. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  12. A = { 1, 2, 3 }
  13. B = { 1, 2, 3 }

  14. 输出调试文本 (内存数据比较 (取变量数据地址 (A), 取变量数据地址 (B), 3))
  15. 输出调试文本 (内存数据比较_易源码 (取变量数据地址 (A), 取变量数据地址 (B), 3))

  16. 输出调试文本 (“--”)
  17. C = #pi
  18. A = { 68, 23, 65, 84, 251, 33, 9, 64 }
  19. 输出调试文本 (内存数据比较 (取变量数据地址 (C), 取变量数据地址 (A), 8))
  20. 输出调试文本 (内存数据比较_易源码 (取变量数据地址 (C), 取变量数据地址 (A), 8))
  21. C = 1
  22. A = { 0, 0, 0, 0, 0, 0, 0, 0 }
  23. 输出调试文本 (内存数据比较 (取变量数据地址 (C), 取变量数据地址 (A), 8))
  24. 输出调试文本 (内存数据比较_易源码 (取变量数据地址 (C), 取变量数据地址 (A), 8))


  25. .子程序 内存数据比较, 逻辑型, 公开, 比较两个不同地址指针的数据,一致返回真,不一致返回假
  26. .参数 内存数据指针A, 整数型
  27. .参数 内存数据指针B, 整数型
  28. .参数 数据比较长度, 整数型, , 必须大于等于1

  29. 置入代码 ({ 83, 81, 82, 86, 139, 69, 8, 139, 93, 12, 139, 77, 16, 139, 241, 129, 230, 0, 0, 0, 128, 11, 246, 117, 4, 11, 201, 117, 4, 51, 192, 235, 26, 51, 246, 235, 13, 138, 20, 6, 58, 20, 30, 116, 4, 51, 192, 235, 10, 70, 59, 241, 114, 239, 184, 1, 0, 0, 0, 94, 90, 89, 91, 201, 194, 12, 0 })
  30. ' push ebx
  31. ' push ecx
  32. ' push edx
  33. ' push esi
  34. ' mov eax,[ebp+8]
  35. ' mov ebx,[ebp+12]
  36. ' mov ecx,[ebp+16]
  37. ' mov esi,ecx
  38. ' and esi,80000000H
  39. ' .if esi != 0 || ecx == 0
  40. ' xor eax,eax
  41. ' jmp ASM_END
  42. ' .endif
  43. ' xor esi,esi
  44. ' .while esi < ecx
  45. ' mov dl,[eax+esi]
  46. ' .if dl != [ebx+esi]
  47. ' xor eax,eax
  48. ' jmp ASM_END
  49. ' .endif
  50. ' inc esi
  51. ' .endw
  52. ' mov eax,1
  53. ' ASM_END:
  54. ' pop esi
  55. ' pop edx
  56. ' pop ecx
  57. ' pop ebx
  58. ' leave
  59. ' retn 12

  60. 返回 (假)

  61. .子程序 内存数据比较_易源码, 逻辑型, , 与以上置入代码的功能相同
  62. .参数 内存数据指针A, 整数型
  63. .参数 内存数据指针B, 整数型
  64. .参数 数据比较长度, 整数型, , 必须大于等于1

  65. .如果真 (数据比较长度 < 1)
  66.     返回 (假)
  67. .如果真结束
  68. 返回 (指针到字节集 (内存数据指针A, 数据比较长度) = 指针到字节集 (内存数据指针B, 数据比较长度))
复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-19 21:05 , Processed in 0.686039 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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