问题标签 [lc3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - LC3 汇编语言程序
如何将用户输入的任何字符转换为其相应的十进制值?我只是在开始时遇到了麻烦。
该计划必须实现以下目标:
该程序接受来自键盘的字符。
如果字符是数字('0' 到 '9'): a) 将字符转换为其对应的十进制值。换句话说,'0' 变为 0,'1' 变为 1,......'9' 变为 9。我们称该值为 R(表示“运行长度”)。b) 等待另一个字符(使用 GETC)。c) 将该字符的 R 个副本打印到控制台。) d) 返回步骤 1。
否则,如果字符是 Enter/Return (ASCII #10):将换行符 (ASCII #10) 打印到控制台,然后返回步骤 1。
- 否则,如果字符是其他字符,请停止程序。
string - 字符串反转 LC3 汇编语言
我正在编写一个基于 LC-3 汇编语言的 .asm 程序,该程序将遍历字符串列表,反转每个字符串,并将其存储回列表中的位置。
例如:
该程序会将该列表翻转为“ bbbaa
”、“ avcbb
”和“ edcba
”——因此,颠倒字符串但保持列表顺序。
我目前正在研究一个嵌套循环的想法,其中外循环将从一个字符串转到另一个字符串,而内循环将翻转它们,它正在踢我的屁股!我用 Java 编写了代码来做同样的事情,我花了 5 分钟,但出于某种原因,汇编只是在我的脑海里大便。有关如何执行此操作的任何指示?
到目前为止,这是我所拥有的,混合了伪和汇编:
而且我一点也不知道如何在字符串之间进行外循环。
TL;DR - 用于反转内存中字符串的汇编程序,请帮助。
assembly - LC3 汇编语言程序
如何将用户输入的任何字符转换为其相应的十进制值?我只是在开始时遇到了麻烦。
该程序必须实现以下目标:
该程序接受来自键盘的字符。
如果字符是数字('0' 到 '9'): a) 将字符转换为其对应的十进制值。换句话说,'0' 变为 0,'1' 变为 1,......'9' 变为 9。我们称该值为 R(表示“运行长度”)。b) 等待另一个字符(使用 GETC)。c) 将该字符的 R 个副本打印到控制台。) d) 返回步骤 1。
否则,如果字符是 Enter/Return (ASCII #10):将换行符 (ASCII #10) 打印到控制台,然后返回步骤 1。
否则,如果字符是其他字符,请停止程序。
assembly - 陷入无限循环(LC3 汇编语言)
我目前正在从事 LC-3 汇编语言的作业。该分配使用 LC3 汇编语言实现了一个程序,该程序接受用户输入的字符串,将它们回显给用户,然后打包字符串。该程序已经完成,除了我们应该完成的 2 个子程序。我正在研究 Get String 子例程,但我的代码陷入了无限循环,我不知道为什么。如果不是太麻烦,任何人都可以看看我的代码,看看他们是否发现了问题?我认为这与我使用 GETSTR 子例程的分支有关,但我不确定。到目前为止,这是我的代码。
integer - lc-3 如何将整数值添加到寄存器
我是 LC-3 的新手,正在尝试编写简单的程序。我正在尝试将两个整数 2、3 加载到 2 个不同的寄存器中并打印出总和。这是我的程序,而不是添加 2 和 3,而是添加 32 和 33,并为我提供 65 的相应 ascii 字符。如何修复程序以使其打印 5?另外,我知道 OUT 打印 R0 的值,但我将如何打印 R1 和 R2 的值?除了使用 LD 之外,还有其他方法可以将整数值加载到寄存器中吗?
.ORIG x3000
两个 .FILL x32 三个 .FILL x33
任何帮助,将不胜感激!
assembly - 存储在 LC-3 问题中
因此,我正在使用 LC-3 汇编语言进行作业,但遇到了问题。因此程序设计为使用子程序 GETDEC 从键盘接收一些输入作为字符串,然后解释输入字符串以构造整数值。我想我已经接近完成任务了,但我似乎被困住了。我们打算为输入缓冲区使用一个 8 个字的块,我的问题是,我似乎无法让我的程序将输入字符串值保存在块中,这反过来又阻止了我能够退出我的主要方法中的循环。
这里是主要方法
这是我的 GETSTR 子例程,它将输入作为字符串值
这是我的 GETDEC 子例程,它接受输入字符串并将其解释为相应的整数值。
因此,重申一下,主要方法循环 GETDEC 直到在输入处输入 0,但我的代码中的某些内容阻止我在输入 0 时跳出循环。我想我可能在 GETDEC 子例程中使用了错误的 Load 方法,但我不确定,如果有人可以提供帮助,将不胜感激。
lc3 - 在 LC-3 中显示寄存器的值
我想知道如何在寄存器中显示/输出值。
例如:R3 中存储了值 2。我想在屏幕上显示那个数字。
下面的代码不起作用,因为它告诉我我需要一个标签。我也尝试将 R3 的值存储到 R0 中,但是当我显示它时,我得到了一些时髦的符号
LEA R0, R3
推杆
lc3 - 如何在 LC-3 中进行划分?
有人可以向我解释如何在lc3中划分。我真的不明白该怎么做。例如,如果我将 int 250 存储在随机内存位置,并且它显示为 x0102,我该如何划分才能将其拆分,以便 250 变为 2、5、0?
lc3 - LC-3 从用户输入打印字符串
我正在做一项任务,我目前卡住了。这是问题的一部分:
正好接受 7 个字符并将它们回显到控制台。在 7 个字符后移动到下一行,无需等待返回/输入。
所以我做了一个循环 7 次的循环,获取输入并在屏幕上显示并存储字符(我认为)。但我无法在下一行打印保存的字符串。
这是我当前的代码:
我所能做的就是查看我输入的字符。我想将下一行的字符打印为 1 个字符串。
variables - 如何用汇编语言打印出一个值
我正在尝试从 LC3 中的变量打印 int "1"
我有:
计数器 .FILL #1
LD R1,计数器
PUTC
但这会打印“'0”(撇号零)