汇编中带引号的字符串

strings with quotation marks in assembly

我用的是emu8086。我正在尝试定义一个字符串,例如“我不‘听’收音机”。
当我使用以下任一选项时:

mystr db "I don't ""listen"" to radio"

mystr db 'I don"t "listen" to radio'

并尝试打印 mystr,它分别打印以下任一内容:

I don't ""listen"" to radio

I don"t "listen" to radio

这不是我想要的(我不“听”收音机)。那么,我该如何定义这样一个字符串呢?

汇编程序在处理引号等嵌入的特殊字符的方式上有所不同,但 ASCII 码可以解决问题。

当您需要定义的字符串中有一些困难的字符时,您总是可以用它们的ASCII码替换它们。双引号的 ASCII 码是 34。

mystr db "I don't ", 34, "listen", 34, " to radio"

这将输出:

I don't "listen" to radio

在 NASM 中,您可以对嵌入双引号的字符串使用单引号(反之亦然):

mystr db "I don't ", '"listen" to radio'