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

从F到0 - From F to 0

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

超简单动态内存分配回收擦除管理机制算法V1.0易语言实现

[复制链接]
发表于 2018-11-12 18:11:19 | 显示全部楼层 |阅读模式


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

  3. .程序集 程序集1
  4. .程序集变量 内存池, 字节型, , "65536"
  5. .程序集变量 已占用块, 逻辑型, , "256", 每个块256字节

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


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

  9. .子程序 _临时子程序
  10. .局部变量 块地址, 整数型

  11. 申请块内存 ()
  12. 块地址 = 申请块内存 ()


  13. 写内存字节 (块地址, 123)
  14. 写内存字节 (块地址 + 1, 234)

  15. 调试输出 (读内存字节 (块地址))
  16. 调试输出 (读内存字节 (块地址 + 1))
  17. 释放块内存 (块地址)

  18. 调试输出 (读内存字节 (块地址))
  19. 调试输出 (读内存字节 (块地址 + 1))


  20. .子程序 申请块内存, 整数型, , 每个块256字节,成功返回地址(0~65535) 失败返回-1
  21. .局部变量 块地址, 整数型
  22. .局部变量 字节地址, 整数型

  23. .如果真 (是否有可用块 () = 假)
  24.     返回 (-1)
  25. .如果真结束
  26. 块地址 = 取未占用块地址 ()
  27. 字节地址 = 左移 (块地址, 8)
  28. 已占用块 [块地址 + 1] = 真
  29. 擦除块内存 (块地址)

  30. 返回 (字节地址)


  31. .子程序 释放块内存, 逻辑型
  32. .参数 地址, 整数型
  33. .局部变量 块地址, 整数型

  34. 块地址 = 右移 (地址, 8)
  35. .如果真 (已占用块 [块地址 + 1] = 假)
  36.     返回 (假)
  37. .如果真结束
  38. 已占用块 [块地址 + 1] = 假
  39. 地址 = 左移 (块地址, 8)
  40. 擦除块内存 (块地址)
  41. 返回 (真)

  42. .子程序 取未占用块地址, 字节型
  43. .局部变量 地址, 整数型

  44. .循环判断首 ()
  45.     地址 = 地址 + 1
  46. .循环判断尾 (已占用块 [地址])
  47. 返回 (地址 - 1)

  48. .子程序 是否有可用块, 逻辑型
  49. .局部变量 计数, 整数型

  50. .计次循环首 (256, 计数)
  51.     .如果真 (已占用块 [计数] = 假)
  52.         返回 (真)
  53.     .如果真结束

  54. .计次循环尾 ()
  55. 返回 (假)


  56. .子程序 擦除块内存
  57. .参数 块地址, 字节型
  58. .局部变量 字节地址, 整数型
  59. .局部变量 地址, 整数型

  60. 字节地址 = 左移 (块地址, 8)
  61. .变量循环首 (字节地址, 字节地址 + 255, 1, 地址)
  62.     内存池 [地址 + 1] = 0
  63. .变量循环尾 ()


  64. .子程序 读内存字节, 字节型
  65. .参数 地址, 整数型

  66. 返回 (内存池 [地址 + 1])

  67. .子程序 写内存字节
  68. .参数 地址, 整数型
  69. .参数 值, 字节型

  70. 内存池 [地址 + 1] = 值



复制代码

相关帖子

发表于 2018-11-12 19:20:20 | 显示全部楼层
这个方法不错谢谢分享
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-3-29 18:11 , Processed in 0.511029 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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