2.5.3 常量预计算

下面这种代码很常见:

lab: db 0 ...
   mov rax, lab + 1 + 2*3

NASM 支持带括号的算术表达式以及位操作。表达式中可以包含编译器已知的常量。这样编译器可以直接计算出表达式的值,并把计算结果以常量的形式插入可执行代码。因此,这样的表达式不是在运行期计算的。

运行期计算的话,就需要类似 add 或者 mul 之类的指令了。

results matching ""

    No results matching ""