【发布时间】: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 字符串文字中。