【问题标题】:Why does my ASCII ART in LC-3 look so ugly?为什么我的 LC-3 中的 ASCII ART 看起来这么难看?
【发布时间】:2021-04-21 09:28:38
【问题描述】:

我编写了一个输出一些 ASCII ART 的 LC-3 程序。它拼写了“酷”这个词。但是这张照片结果很丑。
这是我得到的:

这是我希望看到的:

   _____ ____   ____  _      
  / ____/ __ \ / __ \| |     
 | |   | |  | | |  | | |     
 | |   | |  | | |  | | |     
 | |___| |__| | |__| | |____ 
  \_____\____/ \____/|______|
                             
                             

我的程序:

.ORIG x3000
ADD R0, R0, #0
LEA R0, ART
LOOP TRAP x22;
ADD R1, R1, #-1;
BRp LOOP;

ART .stringz "\n   _____ ____   ____  _      \n  / ____/ __ \ / __ \| |     \n | |   | |  | | |  | | |     \n | |   | |  | | |  | | |     \n | |___| |__| | |__| | |____ \n  \_____\____/ \____/|______|\n                             \n                             \n"
COUNTER .fill #1;
.END

我尝试通过添加空格来修复我的代码,但它仍然不起作用。
谁能告诉我我做错了什么。

【问题讨论】:

  • 你希望它是什么样子的?
  • 发生这种情况是因为反斜杠“\”被用作转义字符!您已经将它用于换行符“\n”,但您的徽标设计包含 5 个您希望在屏幕上显示的附加反斜杠。你需要像“\\”一样将它们加倍。
  • @SepRoland:如果您想在解决问题后将其发布为答案,则现在重新打开。
  • @PeterCordes 那是我的主意。
  • @SepRoland:我在.ascii.string 中查找了反斜杠的重复项,但没有找到。只有几件事似乎与内联汇编有关,其中汇编本身必须位于 C 字符串文字中。

标签: assembly lc3 ascii-art


【解决方案1】:

因为反斜杠字符“\”被用作转义字符,所以图片变形了!您已经将它用于换行符“\n”,但您的徽标设计包含 5 个您希望在屏幕上显示的附加反斜杠。您需要像在“\\”中一样将它们加倍。

您可以在此wikipedia article 中了解转义字符。

下面是我将五个反斜杠加倍的新字符串定义:

ART .stringz "\n   _____ ____   ____  _      \n  / ____/ __ \\ / __ \\| |     \n | |   | |  | | |  | | |     \n | |   | |  | | |  | | |     \n | |___| |__| | |__| | |____ \n  \\_____\\____/ \\____/|______|\n                             \n                             \n"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 2011-04-29
    • 2015-09-25
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多