在 Sway 中,Assembly 是可选的,但当你需要挤出每一分性能并直接控制 FuelVM 时,它就在那儿。 让我们来详细分析一下 🧵
🔧 为什么使用 Assembly? → 燃气优化:直接在 asm 块中编写逻辑可以通过避免高层抽象来降低燃气成本 → 低级控制:直接访问 FuelVM 指令集,适合需要自定义内存管理或操作码级行为的库作者或高级用户
✅ 就像 Solidity 一样,Sway 也有 `assembly` 块: 但主要面向用户的形式是 `asm {}`。
在 Sway 中,它看起来是这样的:
🔍 理解 asm 块: 这简单地使用 add 指令将 1 加到寄存器 r1,并将结果存储在寄存器 r2 中,然后返回它。 返回寄存器在所有汇编指令之后指定。它由寄存器名称和可选的返回类型(r2: u32)组成。如果省略返回类型,则默认为 u64。
想要返回多个值吗?您可以在汇编块中修改元组:
426