【问题标题】:strings with quotation marks in assembly汇编中带引号的字符串
【发布时间】:2017-05-21 20:41:48
【问题描述】:

我正在使用emu8086。我正在尝试定义一个字符串,例如“我不“听”广播”。
当我使用以下任何一种时:

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

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

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

我不“听”收音机

我不“听”广播

这不是我想要的(我不“听”广播)。那么,如何定义这样的字符串呢?

【问题讨论】:

  • mystr db "I don't "listen" to radio"
  • @MichaelPetch 这在emu8086中特别有效吗?
  • @SepRoland 它特别适用于emu8086。我在将其作为评论之前对其进行了测试。

标签: string assembly emu8086


【解决方案1】:

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

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

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

这将输出:

我不“听”广播

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2021-11-20
      • 2022-06-11
      • 2022-01-19
      相关资源
      最近更新 更多