问题描述
我编写了一个输出一些 ASCII ART 的 LC-3 程序。它拼写“COOL”这个词。但结果证明这张照片非常难看。
这就是我得到的:
这就是我想看到的:
_____ ____ ____ _
/ ____/ __ \ / __ \| |
| | | | | | | | | |
| | | | | | | | | |
| |___| |__| | |__| | |____
\_____\____/ \____/|______|
我的程序:
.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 个额外反斜杠。您需要像“\\”一样将它们加倍。
您可以在此 wikipedia article 中阅读有关转义字符的信息。
下面是我将五个反斜杠加倍的新字符串定义:
ART .stringz "\n _____ ____ ____ _ \n / ____/ __ \\ / __ \\| | \n | | | | | | | | | | \n | | | | | | | | | | \n | |___| |__| | |__| | |____ \n \\_____\\____/ \\____/|______|\n \n \n"