LC-3分析给定的文本

时间:2019-03-20 05:55:59

标签: lc3

如何在内存中存储给定的文本?例如:

“昨晚我梦到一个男人要我吃饭。我说我不喜欢我们拥有的东西,但他不介意。”

我想将每个单词存储在单独的存储位置。

最终,我想输出每个单词中的字符数。

1 个答案:

答案 0 :(得分:0)

在LC3中(通常),您将希望将每个字母存储在单独的存储位置。

您的LC3程序需要在内存中的某个位置创建一个标签,并留有足够的空间来存储所有这些字符。将此称为FIRST_CHARACTER标签。

如果您在阅读任意句子后需要分别查找每个“单词”,则还可能还需要从FIRST_CHARACTER的开头存储字符中的偏移“距离”。您将为每个读取的单词在内存中存储一​​个偏移值。您将从其他标记开始将这些值存储在内存中,称为OFFSET_COUNTS。因此,第一个单词将始终以FIRST_CHARACTER位置开头。第二个单词将从FIRST_CHARACTER +(在OFFSET_COUNTS + 1处找到的值)处开始,依此类推。

还有其他方法,但是如果这是您需要做的,那么您将需要在事实之后找到某种方式在内存中查找每个单词。

另一种方法可能是只搜索存储在FIRST_CHARACTER中的整个字符串,然后对原始字符串中的空间进行计数,直到找到要查找的第一个单词的开头。

请查看lc3tutor.org“获取一行”代码示例,以获取有关在需要时如何将字符串存储在内存中的更简洁的示例。

祝你好运!

杰夫