x86汇编(NASM)中的双美元符号是什么意思?

12
表达式是:
times 512-($-$$) db 0

我知道美元符号的含义,但不知道它加倍后代表什么。

双重美元符号代表什么?


4
未来的读者:对于 $,请参见https://dev59.com/Amkv5IYBdhLWcg3wwjoI。 (其中一个答案也提到了“$$”) - Peter Cordes
2个回答

26
当一切都失败了,阅读精细手册(第3.5节“表达式”):

NASM在表达式中支持两个特殊符号,允许计算涉及当前汇编位置:$和$$符号。$评估包含表达式的行的开头的汇编位置;因此,您可以使用JMP $来编写无限循环。$$评估为当前部分的开头;因此,您可以通过使用($−$$)来确定已经进入该部分的距离。

所以你问题中的示例只是用零填充当前部分的大小为512。

你是否知道如何使用GAS完成这个任务?--看起来你可以。请参考这个问题。 - sherrellbc

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接