更改用户名CRC32解密回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行

易语言MASM置入代码长整数型数组与长整数型常数常量的位与/位或/位异或运算(无返回值)

[复制链接]
查看105 | 回复0 | 2019-10-14 21:00:00 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册有礼

x

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

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 长整数型数组, 长整数型, , "0"

  9. 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
  10. 长整数型数组_位与_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
  11. 调试输出 (长整数型数组)
  12. 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
  13. 长整数型数组_位或_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
  14. 调试输出 (长整数型数组)
  15. 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
  16. 长整数型数组_位异或_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
  17. 调试输出 (长整数型数组)


  18. .子程序 长整数型数组_位与_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
  19. .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
  20. .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算

  21. 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 131, 248, 255, 117, 7, 131, 250, 255, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 33, 4, 206, 33, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
  22. ' push eax
  23. ' push ecx
  24. ' push edx
  25. ' push esi
  26. ' push edi
  27. ' mov eax,[ebp+12]
  28. ' mov edx,[ebp+16]
  29. ' .if eax == -1 && edx == -1
  30. ' jmp ASM_END
  31. ' .endif
  32. ' mov esi,[ebp+8]
  33. ' .if esi == 0
  34. ' jmp ASM_END
  35. ' .endif
  36. ' mov esi,[esi]
  37. ' .if esi == 0
  38. ' jmp ASM_END
  39. ' .endif
  40. ' mov edi,[esi+4]
  41. ' add esi,8
  42. ' xor ecx,ecx
  43. ' .while ecx < edi
  44. ' and [esi+ecx*8],eax
  45. ' and [esi+ecx*8+4],edx
  46. ' inc ecx
  47. ' .endw
  48. ' ASM_END:
  49. ' pop edi
  50. ' pop esi
  51. ' pop edx
  52. ' pop ecx
  53. ' pop eax


  54. .子程序 长整数型数组_位或_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
  55. .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
  56. .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算

  57. 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 11, 192, 117, 6, 11, 210, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 9, 4, 206, 9, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
  58. ' push eax
  59. ' push ecx
  60. ' push edx
  61. ' push esi
  62. ' push edi
  63. ' mov eax,[ebp+12]
  64. ' mov edx,[ebp+16]
  65. ' .if eax == 0 && edx == 0
  66. ' jmp ASM_END
  67. ' .endif
  68. ' mov esi,[ebp+8]
  69. ' .if esi == 0
  70. ' jmp ASM_END
  71. ' .endif
  72. ' mov esi,[esi]
  73. ' .if esi == 0
  74. ' jmp ASM_END
  75. ' .endif
  76. ' mov edi,[esi+4]
  77. ' add esi,8
  78. ' xor ecx,ecx
  79. ' .while ecx < edi
  80. ' or [esi+ecx*8],eax
  81. ' or [esi+ecx*8+4],edx
  82. ' inc ecx
  83. ' .endw
  84. ' ASM_END:
  85. ' pop edi
  86. ' pop esi
  87. ' pop edx
  88. ' pop ecx
  89. ' pop eax


  90. .子程序 长整数型数组_位异或_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
  91. .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
  92. .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算

  93. 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 11, 192, 117, 6, 11, 210, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 49, 4, 206, 49, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
  94. ' push eax
  95. ' push ecx
  96. ' push edx
  97. ' push esi
  98. ' push edi
  99. ' mov eax,[ebp+12]
  100. ' mov edx,[ebp+16]
  101. ' .if eax == 0 && edx == 0
  102. ' jmp ASM_END
  103. ' .endif
  104. ' mov esi,[ebp+8]
  105. ' .if esi == 0
  106. ' jmp ASM_END
  107. ' .endif
  108. ' mov esi,[esi]
  109. ' .if esi == 0
  110. ' jmp ASM_END
  111. ' .endif
  112. ' mov edi,[esi+4]
  113. ' add esi,8
  114. ' xor ecx,ecx
  115. ' .while ecx < edi
  116. ' xor [esi+ecx*8],eax
  117. ' xor [esi+ecx*8+4],edx
  118. ' inc ecx
  119. ' .endw
  120. ' ASM_END:
  121. ' pop edi
  122. ' pop esi
  123. ' pop edx
  124. ' pop ecx
  125. ' pop eax

复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册有礼

本版积分规则