当前位置: 首页 > 知识库问答 >
问题:

如何使用LC-3程序添加数字,并使其正确显示在寄存器中?

戚晨
2023-03-14

使用LC-3汇编,我试图将R0到R5的值设置为0。然后,我试图通过将5设置为R5,将1分配给R1,2分配给R2,依此类推。最后,我尝试计算总和并将结果存储在R0中。

到目前为止,我的代码如下:

.ORIG x3000
AND R0,R0,#0
AND R1,R1,#0
AND R2,R2,#0
AND R3,R3,#0
AND R4,R4,#0
AND R5,R5,#0
ADD R1,R1,#1
ADD R2,R2,#2
ADD R3,R3,#3
ADD R4,R4,#4
ADD R5,R5,#5
ADD R0,R0,R1
ADD R0,R0,R2
ADD R0,R0,R3
ADD R0,R0,R4
ADD R0,R0,R5
TRAP    x25
.END

问题是当我运行程序时,寄存器最终具有以下值:R0是32767,R1是-1,R2是2,R3是3,R4是4,R5是5。寄存器2到5是正确的,但R0和R1是错误的,我不知道如何解决这个问题。

共有1个答案

东方方伟
2023-03-14

鉴于这些评论,您正在使用书中的官方LC-3模拟器。

该模拟器将进入陷阱服务例程。您看到的是R0/R1被处理陷阱x25指令的代码破坏。

您的代码是正确的。只需在TRAP x25指令上放置一个断点,并在该点检查寄存器。

 类似资料:
  • 问题内容: 我有一个使用ncurses用C编写的程序。它让用户输入并显示它。如果用户输入utf8字符,它将无法正确显示。 我将输入的字符用户保存到文件中。而且我直接在Shell中将此文件正确显示。 我搜索了stackoverflow和google,并尝试了几种方法(例如与ncursesw链接)显示不正确。 我: 可以正确显示用户输入的内容。 如何使ncurses正确显示UTF-8字符? 使用ncu

  • 我有以下代码: 基本上,当我运行上述代码时,总金额的总和应该是,但取而代之的是'1.60E 4。请告知我在这里错过了什么,以获得正确的金额?

  • 我需要只使用%RAX、%RBX、%RCX、%RDX、%RSI和%RDI(还有%RSP和%RBP)编写像素化汇编代码 GCC编写的程序集代码: 已将%dl更改为%rdx:

  • 问题内容: 我在某个地方需要显示孟加拉文字,例如: বাংলাদেশ 但是我只能看到矩形盒子。如何正确显示孟加拉语字符? 问题答案: 首先采用孟加拉unicode支持的字体,例如: 然后使用setFont将其附加到您的JTextArea对象 现在您应该能够正确查看孟加拉语,请尝试一下。 注意: Java使用系统中的字体,因此,如果系统不包含特定字体,则可以使用Font.createFont()在应

  • 如何在按钮标题中使用小字母?我正在res/values/strings中创建字符串。带有注册表的xml,但仍有上限。

  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j