LC3堆栈实现
LC3 Stack Implementation
我有一个问题正在努力解决:
编写一个LC-3汇编语言程序,要求用户输入一个字符串(输入字符串的末尾是回车键),并逆序打印出这个字符串的各个单词。例如,如果输入字符串是“Hello, my name is Joe”,你的程序输出应该是“Joe is name my Hello,” 用 LC-3 模拟器测试你的程序。您的代码必须有详细的文档记录。提示:考虑使用堆栈更容易实现。
我知道如何使用堆栈来 return 完全相反的东西 例如:输入 "AB CD EF" 输出 "FE DC BA"
但是我怎么才能只颠倒段的顺序呢?
例如:输入 "AB CD EF" 输出 "EF CD AB"
谢谢
最好的办法是增加一次压入堆栈的内存块的数量。例如,如果您只希望用户输入等于或少于 5 个字符的单词,那么堆栈中的一个 "push" 将占用 5 个内存块。
这样您就可以 "pop" 从堆栈中取出单词,而不必重新排列每个字母的顺序。
我有一个问题正在努力解决:
编写一个LC-3汇编语言程序,要求用户输入一个字符串(输入字符串的末尾是回车键),并逆序打印出这个字符串的各个单词。例如,如果输入字符串是“Hello, my name is Joe”,你的程序输出应该是“Joe is name my Hello,” 用 LC-3 模拟器测试你的程序。您的代码必须有详细的文档记录。提示:考虑使用堆栈更容易实现。
我知道如何使用堆栈来 return 完全相反的东西 例如:输入 "AB CD EF" 输出 "FE DC BA" 但是我怎么才能只颠倒段的顺序呢? 例如:输入 "AB CD EF" 输出 "EF CD AB"
谢谢
最好的办法是增加一次压入堆栈的内存块的数量。例如,如果您只希望用户输入等于或少于 5 个字符的单词,那么堆栈中的一个 "push" 将占用 5 个内存块。
这样您就可以 "pop" 从堆栈中取出单词,而不必重新排列每个字母的顺序。