首先我想指出我不是母语人士,所以请不要介意我的错误:) 所以,事实上,我对一个简单的汇编命令确实有很大的问题,问题是,这个命令是与用户交互的“强大”方式。它来了:
我在 Logisim 中构建了一个 CPU(没什么特别的,我正在努力适应该程序,并且我正在努力提高我的“技能”)。有了这个,我正在用 Java 编写一个汇编翻译器(汇编输入、二进制和十六进制输出适合 CPU 的指令集)。但是我遇到了一个大问题...^^
我实际上计划添加一个 --PRINT "text"-- 命令,汇编翻译器将为每个字母生成一个 7 位 ASCII 数字并产生如下输出:
汇编输入:PRINT "hello world"
CPU 的输出
打印
打印
打印 l
打印 l
打印
打印(空格)
[...]
这是因为我的 CPU 一次只能打印一个字符 :( 好吧,在尝试执行 BRANCH 命令时会出现此问题。
例如,我的 Translator Program 中的行显示 Line: 2,在这一行中您将打印 5 个字符长的文本。因此,下一条命令将在第 3 行,但是 CPU 只打印了 5 个字符,这意味着 Programcounter 现在指向第 8 行,而 Translator 中的第 3 行实际上位于 Programcounter 的第 8 行。
我怎么能解决这个问题?添加一个特殊寄存器,在 CPU 实际执行的每个“PRINT”命令后递增,并将其添加到您要分支的行?还是有人有更好的方法将字符打印到屏幕上?
提前感谢所有答案,
销售