lc3

    -1热度

    1回答

    我不知道如何输入两位数字并且实际上可以使用它(加,减,AND等)。到目前为止,我可以输入我的开始和结束数字作为字符串,并使用LEA输出字符串,但我需要它们在寄存器中,以便我们可以将它们从ASCII转换为整数并计算总和。我认为我对总和计算的逻辑很好,但我可能是错的。到目前为止,我有这个: .ORIG x3000 AND R0, R0, #0 ; clear R0

    0热度

    1回答

    数字的2的补数可以通过补充数字并加1获得。因此,假设值A和B在R0和R1中,三条指令的顺序执行“A减B”并将结果写入R2 ? 这是一本书用于概述LC-3 ISA的示例。 第一行只是为了更好地解释二进制数。 NOT(操作码= 1001),ADD(操作码= 0001)。操作码位于[15:12]。位[11:9]指定目标寄存器。位[8:6]指定源寄存器。位[5]指定指令是使用立即寻址模式(如果位[5] =

    0热度

    1回答

    我试图在一个字符串的同一行输入单个字符,然后用一个字符串在一行上输出该字符。我已经尝试过GETC和PUTC,但是我得到了'0我对这个LC-3的东西真的很陌生,并且非常感谢一些帮助在路上克服这个碰撞。 这是我到目前为止。 .ORIG x3000 ;start assembly directive MyMain lea r0, input ;point to input st

    0热度

    1回答

    我想在LC3中制作2D阵列。到目前为止,我正在考虑使用.BLKW初始化一块内存,然后将其加载到每个条目的另一个数组中。这似乎并不会让我走上正轨。有什么建议么?

    0热度

    1回答

    我正在创建一个代码来计算矩形的面积。我已经完成了乘法,但它只显示数字0-9。我的教授说,为了显示2位数字,我需要在一个循环中减去10,并计算循环发生的次数。我试了一下,它不起作用有人可以帮助我。 .ORIG x3000 AND R3, R3, #0 ;r3 stores the sum, set r3 to zero AND R4, R4, #0 ;r4 is the counter LD

    0热度

    1回答

    我的下面的代码应该只是打印一个提示,但是它会打印一堆y字符。任何想法我做错了什么? CODE: startPrompt .STRINGZ "Enter 'E' to encrpyt, 'D' to decrpyt, X to quit\n" startPromptAddress .FILL startPrompt LDI R0, startPromptAddress PUTS

    0热度

    1回答

    编辑:原来的问题是 假设以下LC-3程序被加载到存储器中,起始 位置x30FF: x30FF 1110 0010 0000 0001 X3100 0110 0100 0100 0010 x3101 1111 0000 0010 0101 x3102 0001 0100 0100 0001 x3103 0001 0100 1000 0010 如果执行该程序,什么是 执行结束R2中的值? x30FF

    0热度

    1回答

    我需要能够接受两个用户输入并将它们存储在LC3程序集中的相同内存位置。例如,如果用户键入GO,我需要将G存储在一个寄存器中,将O存储在另一个寄存器中,但将它们组合在同一个存储单元中。实质上,与PUTSP功能相反。我不明白你如何在0-8位置1,并指定另一位进入9-15位,这样PUTSP函数就会运行,它们将被打印为GO。

    0热度

    1回答

    我正在写一个LC-3文件,该文件应该能够:获取字符串的长度,复制字符串,连接两个字符串,并比较两个字符串。 我相信我有正确的字符串长度和字符串复制子程序,但最后两个给我很多麻烦。我认为我应该工作,但它不是,我曾尝试改变事物和测试,但不幸的是我没有做的工作。 我只是将我的代码发布到GitHub Gist中,并提供详细说明我认为应该发生的事情的注释,如果任何人有时间检查并提供关于出现问题和如何解决问题

    1热度

    1回答

    嗨Stackoverflow我正在回顾一些我们的教授留给我们研究的示例代码,并且我在理解代码的一些含义时遇到了一些问题,并且它无助于他的一些评论模糊。第一个是R3,R1,0;检查行结束,我没有得到的第二件事实际上是placeolnul开始背后的逻辑,最后是negeol的.fill值,这似乎奇怪的具体,但我不知道为什么。如果你真的可以帮助我解决这些问题,它会帮助我更好地理解代码。 .orig x30