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

易语言MASM置入代码16位短整数型数组所有成员的 倒序/翻转/反转/颠倒处理 (无返回值)

[复制链接]
发表于 2020-4-5 17:06:06 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
111.png

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

  3. .程序集 程序集1

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


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

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

  9. 数组 = { 0, 1, 2, 3, 4, -5, 12345, -23456 }
  10. 短整数型数组_倒序 (数组)
  11. 调试输出 (数组)



  12. .子程序 短整数型数组_倒序, , 公开, 提供短整数型数组变量,输入:{1,2,3,4,5} 输出:{5,4,3,2,1}
  13. .参数 数组变量, 短整数型, 参考 数组

  14. 置入代码 ({ 80, 83, 81, 82, 86, 87, 139, 69, 8, 11, 192, 117, 2, 235, 51, 139, 0, 11, 192, 117, 2, 235, 43, 139, 120, 4, 11, 192, 117, 2, 235, 34, 131, 192, 8, 139, 215, 209, 234, 51, 246, 79, 235, 18, 102, 139, 28, 112, 102, 139, 12, 120, 102, 137, 12, 112, 102, 137, 28, 120, 79, 70, 59, 242, 114, 234, 95, 94, 90, 89, 91, 88 })
  15. ' push eax
  16. ' push ebx
  17. ' push ecx
  18. ' push edx
  19. ' push esi
  20. ' push edi
  21. ' mov eax,[ebp+8]
  22. ' .if !eax
  23. ' jmp ASM_END
  24. ' .endif
  25. ' mov eax,[eax]
  26. ' .if !eax
  27. ' jmp ASM_END
  28. ' .endif
  29. ' mov edi,[eax+4]
  30. ' .if !eax
  31. ' jmp ASM_END
  32. ' .endif
  33. ' add eax,8
  34. ' mov edx,edi
  35. ' shr edx,1
  36. ' xor esi,esi
  37. ' dec edi
  38. ' .while esi < edx
  39. ' mov bx,[eax+esi*2]
  40. ' mov cx,[eax+edi*2]
  41. ' mov [eax+esi*2],cx
  42. ' mov [eax+edi*2],bx
  43. ' dec edi
  44. ' inc esi
  45. ' .endw
  46. ' ASM_END:
  47. ' pop edi
  48. ' pop esi
  49. ' pop edx
  50. ' pop ecx
  51. ' pop ebx
  52. ' pop eax

复制代码

相关帖子

这个小可爱很神秘,什么都没留下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则