更改用户名CRC32解密回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行
查看: 170|回复: 0
收起左侧

易语言MASM置入代码实现多次循环间接内存地址寻址执行的 指针到整数() (返回整数型)

[复制链接]
发表于 2019-8-8 09:05:49 | 显示全部楼层 |阅读模式

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

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

x

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

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 A, 整数型

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


  10. A = 取变量数据地址 (A)

  11. 调试输出 (A)
  12. 调试输出 (指针到整数_循环 (A, 10))
  13. 调试输出 (易源码_指针到整数_循环 (A, 10))



  14. .子程序 指针到整数_循环, 整数型, 公开, 循环执行多次 指针到整数()
  15. .参数 内存数据指针, 整数型
  16. .参数 间接循环次数, 整数型, , 必须大于等于1,错误的循环次数将取出错误的指针或程序崩溃

  17. 置入代码 ({ 83, 139, 69, 8, 139, 93, 12, 232, 5, 0, 0, 0, 91, 201, 194, 8, 0, 81, 51, 201, 235, 3, 139, 0, 65, 59, 203, 114, 249, 89, 195 })
  18. ' push ebx
  19. ' mov eax,[ebp+8]
  20. ' mov ebx,[ebp+12]
  21. ' call p2int_while
  22. ' pop ebx
  23. ' leave
  24. ' retn 8
  25. ' p2int_while:
  26. ' push ecx
  27. ' xor ecx,ecx
  28. ' .while ecx < ebx
  29. ' mov eax,[eax]
  30. ' inc ecx
  31. ' .endw
  32. ' pop ecx
  33. ' ret

  34. 返回 (0)

  35. .子程序 易源码_指针到整数_循环, 整数型
  36. .参数 内存数据指针, 整数型
  37. .参数 间接循环次数, 整数型

  38. .计次循环首 (间接循环次数, )
  39.     内存数据指针 = 指针到整数 (内存数据指针)
  40. .计次循环尾 ()
  41. 返回 (内存数据指针)
复制代码

相关帖子

回复

使用道具 举报

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

本版积分规则