当您在 NASM中 对字符串使用双引号或双引号时,它不接受 C 样式转义序列。在Linux上,您可以这样编码
n为ASCII 10:
fmt db "Number of parameters: %d", 10, 0
还有一种选择。 NASM 支持反引号(反引号),这允许 NASM 将它们之间的字符作为 C 样式转义序列进行处理。这也应该工作:
fmt db `Number of parameters: %d n`, 0
请注意:这些不是单引号,而是 反引号
。NASM文档中对此进行了描述:
3.4.2字符串
字符串最多由八个字符组成,这些字符包含在单引号(’…’),双引号(“
…”)或反引号(...)中。单引号或双引号等效于NASM(当然,用单引号引起来的常量可以使双引号出现在反引号中,反之亦然);这些内容按原样表示。
用反引号引起来的字符串支持C样式的特殊字符转义 。



