NASM中符号名称定义后使用或不使用冒号有区别吗?

时间:2011-11-04 08:01:17

标签: assembly x86 nasm

持续声明中的两种形式:

len equ 2
len: equ 2

它们是一样的吗?

如果没有,那么每份申报表的优缺点是什么?

1 个答案:

答案 0 :(得分:5)

这两者之间的功能差异:

len  equ 2
len: equ 2

完全没有区别。正如NASM doc page所述:

  

NASM对行内的空白区域没有任何限制:标签可能在它们之前有空格,或者指令可能没有空格,或者任何东西。 标签后的冒号也是可选的。

     

(注意,这意味着如果你打算在一行上单独编写lodsb,并且意外地输入lodab,那么这仍然是一个有效的源代码行,除了定义标签之外什么都不做。使用命令行选项运行NASM - 如果在没有尾部冒号的行上单独定义标签,w +孤立标签会使它发出警告。)