内联汇编
介绍
本文档介绍Wave语言的内联汇编。 内联汇编是Wave提供的功能之一,它是一种极端语法,保持高级语言的便利性,同时能直接访问低级硬件控制。
即,可以实现一般Wave代码难以处理的寄存器操作、直接内存访问、特殊指令执行等,当需要性能优化或硬件依赖任务时使用。
基本语法
asm {
"汇编指令" // 实际汇编代码 (每行一条指令)
...
in("寄存器") 值 // 输入寄存器映射
out("寄存器") 变量 // 输出寄存器映射
}
语法元素
-
汇编指令
- 以
"..."
字符串形式编写,为实际在CPU上执行的低级汇编指令。 - 可以写多行,每行写一个指令。
- 例子:
"mov rax, 1"
"syscall"
- 以
-
in("寄存器") 值
- 将变量(或表达式)的值加载到指定寄存器。
- 例子:
in("rdi") s