设为首页收藏本站帮助中心
查看: 309|回复: 0
收起左侧

易语言MASM置入代码子程序指针的大于/小于/大于等于/小于等于/等于比较(返回逻辑型)

[复制链接]
发表于 2022-4-7 22:03:55 | 显示全部楼层 |阅读模式
1.png
  1. .版本 2

  2. .程序集 程序集1

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

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

  7. .子程序 _临时子程序
  8. .局部变量 A, 子程序指针
  9. .局部变量 B, 子程序指针
  10. .局部变量 大于, 逻辑型
  11. .局部变量 小于, 逻辑型
  12. .局部变量 大于等于, 逻辑型
  13. .局部变量 小于等于, 逻辑型
  14. .局部变量 等于, 逻辑型
  15. .局部变量 C, 整数型

  16. .判断循环首 (真)
  17.     A = 取随机指针 ()
  18.     B = 取随机指针 ()
  19.     大于 = 到整数 (A) > 到整数 (B)
  20.     小于 = 到整数 (A) < 到整数 (B)
  21.     大于等于 = 到整数 (A) ≥ 到整数 (B)
  22.     小于等于 = 到整数 (A) ≤ 到整数 (B)
  23.     等于 = A = B
  24.     .判断开始 (子程序指针_大于 (A, B) ≠ 大于)
  25.         暂停 ()
  26.     .判断 (子程序指针_小于 (A, B) ≠ 小于)
  27.         暂停 ()
  28.     .判断 (子程序指针_大于等于 (A, B) ≠ 大于等于)
  29.         暂停 ()
  30.     .判断 (子程序指针_小于等于 (A, B) ≠ 小于等于)
  31.         暂停 ()
  32.     .判断 (子程序指针_等于 (A, B) ≠ 等于)
  33.         暂停 ()
  34.     .默认

  35.     .判断结束
  36.     C = C + 1
  37.     .如果真 (C ≥ 1000000)
  38.         C = 0
  39.         输出调试文本 (取现行时间 ())
  40.     .如果真结束

  41. .判断循环尾 ()





  42. .子程序 取随机指针, 子程序指针
  43. .局部变量 字节集, 字节集, 静态
  44. .局部变量 计数, 整数型

  45. .如果真 (取字节集长度 (字节集) ≠ 4)
  46.     字节集 = 取空白字节集 (4)
  47. .如果真结束
  48. .计次循环首 (4, 计数)
  49.     字节集 [计数] = 取随机数 (, )
  50. .计次循环尾 ()

  51. 返回 (取字节集数据 (字节集, #子程序指针型, ))


  52. .子程序 子程序指针_大于, 逻辑型, 公开
  53. .参数 被比较值, 子程序指针
  54. .参数 比较值, 子程序指针

  55. 置入代码 ({ 139, 69, 8, 59, 69, 12, 126, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 201, 194, 8, 0 })
  56. ' mov eax,[ebp+8]
  57. ' .if sdword ptr eax > [ebp+12]
  58. ' mov eax,1
  59. ' .else
  60. ' xor eax,eax
  61. ' .endif
  62. ' leave
  63. ' retn 8
  64. 返回 (假)

  65. .子程序 子程序指针_小于, 逻辑型, 公开
  66. .参数 被比较值, 子程序指针
  67. .参数 比较值, 子程序指针

  68. 置入代码 ({ 139, 69, 8, 59, 69, 12, 125, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 201, 194, 8, 0 })
  69. ' mov eax,[ebp+8]
  70. ' .if sdword ptr eax < [ebp+12]
  71. ' mov eax,1
  72. ' .else
  73. ' xor eax,eax
  74. ' .endif
  75. ' leave
  76. ' retn 8
  77. 返回 (假)

  78. .子程序 子程序指针_大于等于, 逻辑型, 公开
  79. .参数 被比较值, 子程序指针
  80. .参数 比较值, 子程序指针

  81. 置入代码 ({ 139, 69, 8, 59, 69, 12, 124, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 201, 194, 8, 0 })
  82. ' mov eax,[ebp+8]
  83. ' .if sdword ptr eax >= [ebp+12]
  84. ' mov eax,1
  85. ' .else
  86. ' xor eax,eax
  87. ' .endif
  88. ' leave
  89. ' retn 8
  90. 返回 (假)

  91. .子程序 子程序指针_小于等于, 逻辑型, 公开
  92. .参数 被比较值, 子程序指针
  93. .参数 比较值, 子程序指针

  94. 置入代码 ({ 139, 69, 8, 59, 69, 12, 127, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 201, 194, 8, 0 })
  95. ' mov eax,[ebp+8]
  96. ' .if sdword ptr eax <= [ebp+12]
  97. ' mov eax,1
  98. ' .else
  99. ' xor eax,eax
  100. ' .endif
  101. ' leave
  102. ' retn 8
  103. 返回 (假)

  104. .子程序 子程序指针_等于, 逻辑型, 公开
  105. .参数 被比较值, 子程序指针
  106. .参数 比较值, 子程序指针

  107. 置入代码 ({ 139, 69, 8, 59, 69, 12, 117, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 201, 194, 8, 0 })
  108. ' mov eax,[ebp+8]
  109. ' .if eax == [ebp+12]
  110. ' mov eax,1
  111. ' .else
  112. ' xor eax,eax
  113. ' .endif
  114. ' leave
  115. ' retn 8
  116. 返回 (假)
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则