登录 后可观看高清视频

在 Yul 中使用内存 (mstore & mstore8)

Reanblock Reanblock
33次播放
2025-04-16

该视频主要讲解了在Yul(Solidity的底层语言)中如何管理和使用内存,重点介绍了 mstoremstore8 这两个关键的内存操作指令。

关键论据/信息:

  • 内存使用的必要性: 智能合约需要内存来返回值、设置参数、获取外部调用值、回退特定字符串、记录日志、部署新合约以及使用 keccak256 函数。
  • 内存组织: Solidity中的内存以32字节为增量进行组织,没有垃圾回收机制。
  • 关键指令: 内存管理的关键指令包括 mloadmstoremstore8mSize
  • mstore 的工作方式: mstore 指令将32字节的数据写入指定的内存地址。视频演示了如何使用 mstore 将一个32字节的全1值(0xFF...FF)写入内存的特定位置,以及如何通过偏移量改变写入的位置。
  • mstore8 的工作方式: mstore8 指令仅修改单个字节。视频演示了 mstore8 如何只修改内存地址的第一个字节,以及 mstore 如何覆盖 mstore8 的结果,因为它操作的是整个32字节的字。
  • 内存指针: 视频提到了空闲内存指针(free memory pointer),并指出后续会深入探讨。
Yul  mStore  mstore8  memory management  free memory pointer