代码之家  ›  专栏  ›  技术社区  ›  onurcanak

emu8086抱怨DB中的长字符串“未终止字符串”

  •  4
  • onurcanak  · 技术社区  · 7 年前

    我是8086汇编编程新手,我有个问题。

    我有一个字符串,大小约为1400个字符。当我试图这样定义它时:

    .data
    mystring DB '(string with 1400 characters)'
    

    我出错了

    “未终止字符串”。

    我使用的是emu8086模拟器。我觉得我的绳子不合适 DB 。有没有办法将巨大的字符串保存在字节中?

    1 回复  |  直到 7 年前
        1
  •  8
  •   Fifoernik    7 年前

    我已经手动检查过了,看起来最大长度是1010。

    此外,在有关emu8086的一个链接上可以找到:

    DUP操作数的扩展不应超过1020个字符!(上一个示例的扩展是13个字符),如果需要声明大数组,请将声明分为两行(内存中会有一个大数组)- source

    但正如评论中所建议的那样,您可以将两行或更多行彼此相邻,并且在内存中它们将是连续的,布局相同,就像您使用了一条大行一样。

    mystring      DB '<1010>*A'
    mystring_cont DB 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAA'