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

从F到0 - From F to 0

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

MASM置入代码2个字节集长度/字节型数组成员数互相等于比较(不含数据,返回逻辑型)

[复制链接]
发表于 2019-8-17 22:04:28 | 显示全部楼层 |阅读模式

  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序

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


  8. 输出调试文本 (字节集_长度比较 ({  }, {  }))
  9. 输出调试文本 (字节集_长度比较 ({ 1 }, { 2 }))
  10. 输出调试文本 (字节集_长度比较 ({ 3, 4 }, { 5, 6 }))
  11. 输出调试文本 (字节集_长度比较 ({  }, { 0 }))


  12. 输出调试文本 (字节型数组_成员数比较 ({  }, {  }))
  13. 输出调试文本 (字节型数组_成员数比较 ({ 1 }, { 2 }))
  14. 输出调试文本 (字节型数组_成员数比较 ({ 3, 4 }, { 5, 6 }))
  15. 输出调试文本 (字节型数组_成员数比较 ({  }, { 0 }))


  16. 输出调试文本 (字节集与字节型数组_长度比较 ({  }, {  }))
  17. 输出调试文本 (字节集与字节型数组_长度比较 ({ 1 }, { 2 }))
  18. 输出调试文本 (字节集与字节型数组_长度比较 ({ 3, 4 }, { 5, 6 }))
  19. 输出调试文本 (字节集与字节型数组_长度比较 ({  }, { 0 }))
  20. 输出调试文本 (“----”)
  21. 输出调试文本 (字节型数组_成员数比较_易源码 ({  }, {  }))
  22. 输出调试文本 (字节型数组_成员数比较_易源码 ({ 1 }, { 2 }))
  23. 输出调试文本 (字节型数组_成员数比较_易源码 ({ 3, 4 }, { 5, 6 }))
  24. 输出调试文本 (字节型数组_成员数比较_易源码 ({  }, { 0 }))


  25. 输出调试文本 (字节集与字节型数组_长度比较_易源码 ({  }, {  }))
  26. 输出调试文本 (字节集与字节型数组_长度比较_易源码 ({ 1 }, { 2 }))
  27. 输出调试文本 (字节集与字节型数组_长度比较_易源码 ({ 3, 4 }, { 5, 6 }))
  28. 输出调试文本 (字节集与字节型数组_长度比较_易源码 ({  }, { 0 }))


  29. .子程序 字节集_长度比较, 逻辑型, 公开, 字节集A与字节集B长度一致返回真,否则返回假
  30. .参数 字节集A, 字节集
  31. .参数 字节集B, 字节集

  32. 置入代码 ({ 83, 139, 69, 8, 139, 93, 12, 11, 192, 116, 15, 139, 0, 11, 192, 116, 5, 139, 64, 4, 235, 6, 51, 192, 235, 2, 51, 192, 11, 219, 116, 15, 139, 27, 11, 219, 116, 5, 139, 91, 4, 235, 6, 51, 219, 235, 2, 51, 219, 59, 195, 117, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 91, 201, 194, 8, 0 })
  33. ' push ebx
  34. ' mov eax,[ebp+8]
  35. ' mov ebx,[ebp+12]
  36. ' .if eax != 0
  37. ' mov eax,[eax]
  38. ' .if eax != 0
  39. ' mov eax,[eax+4]
  40. ' .elseif
  41. ' xor eax,eax
  42. ' .endif
  43. ' .elseif
  44. ' xor eax,eax
  45. ' .endif
  46. ' .if ebx != 0
  47. ' mov ebx,[ebx]
  48. ' .if ebx != 0
  49. ' mov ebx,[ebx+4]
  50. ' .elseif
  51. ' xor ebx,ebx
  52. ' .endif
  53. ' .elseif
  54. ' xor ebx,ebx
  55. ' .endif
  56. ' .if eax == ebx
  57. ' mov eax,1
  58. ' .elseif
  59. ' xor eax,eax
  60. ' .endif
  61. ' pop ebx
  62. ' leave
  63. ' retn 8

  64. 返回 (假)

  65. .子程序 字节型数组_成员数比较, 逻辑型, 公开, 字节型A与字节型B数组成员数一致返回真,否则返回假
  66. .参数 字节型A, 字节型, 数组
  67. .参数 字节型B, 字节型, 数组

  68. 置入代码 ({ 83, 139, 69, 8, 139, 93, 12, 11, 192, 116, 15, 139, 0, 11, 192, 116, 5, 139, 64, 4, 235, 6, 51, 192, 235, 2, 51, 192, 11, 219, 116, 15, 139, 27, 11, 219, 116, 5, 139, 91, 4, 235, 6, 51, 219, 235, 2, 51, 219, 59, 195, 117, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 91, 201, 194, 8, 0 })
  69. ' push ebx
  70. ' mov eax,[ebp+8]
  71. ' mov ebx,[ebp+12]
  72. ' .if eax != 0
  73. ' mov eax,[eax]
  74. ' .if eax != 0
  75. ' mov eax,[eax+4]
  76. ' .elseif
  77. ' xor eax,eax
  78. ' .endif
  79. ' .elseif
  80. ' xor eax,eax
  81. ' .endif
  82. ' .if ebx != 0
  83. ' mov ebx,[ebx]
  84. ' .if ebx != 0
  85. ' mov ebx,[ebx+4]
  86. ' .elseif
  87. ' xor ebx,ebx
  88. ' .endif
  89. ' .elseif
  90. ' xor ebx,ebx
  91. ' .endif
  92. ' .if eax == ebx
  93. ' mov eax,1
  94. ' .elseif
  95. ' xor eax,eax
  96. ' .endif
  97. ' pop ebx
  98. ' leave
  99. ' retn 8

  100. 返回 (假)

  101. .子程序 字节集与字节型数组_长度比较, 逻辑型, 公开, 字节集与字节型数组长度、成员数一致返回真,否则返回假
  102. .参数 字节集, 字节集
  103. .参数 字节型数组, 字节型, 数组

  104. 置入代码 ({ 83, 139, 69, 8, 139, 93, 12, 11, 192, 116, 15, 139, 0, 11, 192, 116, 5, 139, 64, 4, 235, 6, 51, 192, 235, 2, 51, 192, 11, 219, 116, 15, 139, 27, 11, 219, 116, 5, 139, 91, 4, 235, 6, 51, 219, 235, 2, 51, 219, 59, 195, 117, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 91, 201, 194, 8, 0 })
  105. ' push ebx
  106. ' mov eax,[ebp+8]
  107. ' mov ebx,[ebp+12]
  108. ' .if eax != 0
  109. ' mov eax,[eax]
  110. ' .if eax != 0
  111. ' mov eax,[eax+4]
  112. ' .elseif
  113. ' xor eax,eax
  114. ' .endif
  115. ' .elseif
  116. ' xor eax,eax
  117. ' .endif
  118. ' .if ebx != 0
  119. ' mov ebx,[ebx]
  120. ' .if ebx != 0
  121. ' mov ebx,[ebx+4]
  122. ' .elseif
  123. ' xor ebx,ebx
  124. ' .endif
  125. ' .elseif
  126. ' xor ebx,ebx
  127. ' .endif
  128. ' .if eax == ebx
  129. ' mov eax,1
  130. ' .elseif
  131. ' xor eax,eax
  132. ' .endif
  133. ' pop ebx
  134. ' leave
  135. ' retn 8

  136. 返回 (假)

  137. .子程序 字节集_长度比较_易源码, 逻辑型
  138. .参数 字节集A, 字节集
  139. .参数 字节集B, 字节集

  140. 返回 (取字节集长度 (字节集A) = 取字节集长度 (字节集B))

  141. .子程序 字节型数组_成员数比较_易源码, 逻辑型
  142. .参数 字节型A, 字节型, 数组
  143. .参数 字节型B, 字节型, 数组

  144. 返回 (取数组成员数 (字节型A) = 取数组成员数 (字节型B))

  145. .子程序 字节集与字节型数组_长度比较_易源码, 逻辑型
  146. .参数 字节集, 字节集
  147. .参数 字节型数组, 字节型, 数组

  148. 返回 (取字节集长度 (字节集) = 取数组成员数 (字节型数组))
复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-26 03:30 , Processed in 0.770044 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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