Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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_Spim_Qtspim - Fatal编程技术网

Assembly 如何在MIPS程序集中添加参数?

Assembly 如何在MIPS程序集中添加参数?,assembly,mips,spim,qtspim,Assembly,Mips,Spim,Qtspim,因此,我在MIPS assembly中为我的comp-arch类编写了一个简单的程序。我们现在需要增强这个程序,使它包含两个参数。如果两个参数都相同,那么答案应该与只接受一个参数的原始程序的答案相同。如果它们是不同的,那么你应该根据上面的内容找出你的程序应该做什么。尽量少做改动。增强程序,使其能够从键盘接收两个参数,并在SPIM的控制台窗口中显示结果。如果任何输入参数为负数(小于零),则增强型程序应在控制台中显示零 以下是我在un增强部分的代码: .data arg: .word

因此,我在MIPS assembly中为我的comp-arch类编写了一个简单的程序。我们现在需要增强这个程序,使它包含两个参数。如果两个参数都相同,那么答案应该与只接受一个参数的原始程序的答案相同。如果它们是不同的,那么你应该根据上面的内容找出你的程序应该做什么。尽量少做改动。增强程序,使其能够从键盘接收两个参数,并在SPIM的控制台窗口中显示结果。如果任何输入参数为负数(小于零),则增强型程序应在控制台中显示零

以下是我在un增强部分的代码:

.data   
arg:    .word   5

.text
.globl main
main:

la  $t3, arg    
lw  $t2, 0($t3) 
lw  $t3, 0($t3)

addi    $t1, $zero, 0
beqz    $t2, fin        
fori:

add $t1, $t1, $t2   
addi    $t3, $t3, -1

bnez    $t3, fori       

fin:

li  $v0, 10
syscall 

下面是从键盘读取整数并将其存储在
arg1
中的代码

        .data
  arg1: .word 0
        .text
        li $v0, 5        # system call code for read int
        syscall          # read the int
        la $t0, arg1
        sw $v0, 0($t0)   # store the integer at location arg1

好的,如果有人能帮忙,那就太好了。我知道如何创建一个论点。我只需要:arg1:.word 5和arg2:.word 5。但是我怎样才能把它作为键盘输入呢?mark gz我还是迷路了。你能帮我找一个类似的例子吗?谢谢!现在我了解了如何在控制台中读取和写入整数,但是我对如何将该指令添加到现有程序中感到困惑。有什么建议吗?