2.5.3 常量预计算
下面这种代码很常见:
lab: db 0 ... mov rax, lab + 1 + 2*3
NASM 支持带括号的算术表达式以及位操作。表达式中可以包含编译器已知的常量。这样编译器可以直接计算出表达式的值,并把计算结果以常量的形式插入可执行代码。因此,这样的表达式不是在运行期计算的。
运行期计算的话,就需要类似 add 或者 mul 之类的指令了。