Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly MIPS程序!需要帮助-我不确定我是否做对了_Assembly_Mips - Fatal编程技术网

Assembly MIPS程序!需要帮助-我不确定我是否做对了

Assembly MIPS程序!需要帮助-我不确定我是否做对了,assembly,mips,Assembly,Mips,我正在尝试编写一个MIPS程序,它将检查一组十个一位数的数字 (正、零或负)可从终端输入。在检查了 数字,只需输出负数(带适当符号)及其计数 到终点站 下面是我的MIPS程序 .data prompt: .asciiz "Input Score: " .align 2 HR_Neg: .asciiz "\n negative Scores: " .align 2 HR_Pos: .asciiz "\n positive

我正在尝试编写一个MIPS程序,它将检查一组十个一位数的数字 (正、零或负)可从终端输入。在检查了 数字,只需输出负数(带适当符号)及其计数 到终点站

下面是我的MIPS程序

        .data
prompt: .asciiz "Input Score: "
        .align 2
HR_Neg:        .asciiz "\n negative Scores: "
        .align 2
HR_Pos:        .asciiz "\n positive Scores: "
        .align 2
HR_Negsc:        .asciiz "\n Number of Negative Scores: "
        .align 2
HR_Posc: .asciiz "\n Number of positive Scores: "
        .align 2
HR_coma: .asciiz ", "
        .align 2
HR_brk:         .asciiz "\n\n"
        .align 2
NEg:        .space 10
        .align 2
Pos:        .space 10
        .align 2

        .globl main
        .text
main:
        li $t0, 0
        la $t1, Neg
        li $t2, 0
        la $t3, pos
        li $t4, 0
        li $t5, 0
        li $t6, 0

loop:
        li $v0, 4
        la $a0, prompt
        syscall

        li $v0, 5
        syscall

        bltu $v0, 50, else
        sw $v0, 0($t1)
        addi $t1, $t1, 4
        addi $t0, $t0, 1
        b l_end

else:
        sw $v0, 0($t3)
        addi $t3, $t3, 4
        addi $t2, $t2, 1

l_end:
        addi $t4, $t4, 1
        bltu $t4, 15, loop

#output counts
        li $v0, 4
        la $a0, HR_negc
        syscall

        la $v0, 1
        add $a0, $t0, 0
        syscall

        li $v0, 4
        la $a0, HR_posc
        syscall

        la $v0, 1
        add $a0, $t2, 0
        syscall

#output neg scores
        li $v0, 4
        la $a0, HR_neg
        syscall

        la $t1, Neg
        lw $a0, 0($t1)
        li $v0, 1

请在您的代码中添加一些注释,以便我们感兴趣的人能够尝试理解它试图做什么

此外,上面的代码有一个输入错误,因为您有一个标签HR_Negsc和一个对HR_negc的引用,这让我觉得当您说“它没有运行”时,实际上意味着它无法运行,因为它没有链接

第1步-输入一些注释,特别是关于系统调用的注释

第2步-让它实际执行

步骤3-现在可以开始调试了

您可以查看以下几个方面:

有多少空间。空间给你,够吗

您用于评估+ve和-ve的bltu说明是否正确

你的程序是如何结束的-看起来有些东西不见了

后来的评论:

嘿,从问题描述中,我怀疑您当时编写的一些代码已经保存到了这个项目中。我指的是数字15和50


你知道,当我们不得不猜测你知道多少和不知道多少的时候,很难提供有用的帮助。问题越详细,答案就越直接。回答另一个问题的一些建议显然仍然适用。

请在您的代码中添加一些注释,以便我们感兴趣的人可以尝试了解它试图做什么

此外,上面的代码有一个输入错误,因为您有一个标签HR_Negsc和一个对HR_negc的引用,这让我觉得当您说“它没有运行”时,实际上意味着它无法运行,因为它没有链接

第1步-输入一些注释,特别是关于系统调用的注释

第2步-让它实际执行

步骤3-现在可以开始调试了

您可以查看以下几个方面:

有多少空间。空间给你,够吗

您用于评估+ve和-ve的bltu说明是否正确

你的程序是如何结束的-看起来有些东西不见了

后来的评论:

嘿,从问题描述中,我怀疑您当时编写的一些代码已经保存到了这个项目中。我指的是数字15和50


你知道,当我们不得不猜测你知道多少和不知道多少的时候,很难提供有用的帮助。问题越详细,答案就越直接。回答另一个问题的一些建议显然仍然适用。

…问题出在哪里?它跑吗?它是否给出了预期的输出?如果没有,会发生什么?它会输出什么错误消息?你们运行的哪个测试用例并没有产生预期的结果?我在大学里为一门课程学习了MIPS,令人惊讶的是我几乎记不起来它并没有运行。看来我做错了什么。我需要有人检查一下,让我知道我的程序有什么问题……有什么问题吗?它跑吗?它是否给出了预期的输出?如果没有,会发生什么?它会输出什么错误消息?你们运行的哪个测试用例并没有产生预期的结果?我在大学里为一门课程学习了MIPS,令人惊讶的是我几乎记不起来它并没有运行。看来我做错了什么。我需要有人看看它,让我知道我的程序有什么问题。。。