如何在MIPS程序集中添加参数?
问题描述:
所以我写了一个简单的程序在MIPS程序集中用于我的comp arch类。我们现在需要增强这个程序,以便它有两个参数。如果参数都相同,那么答案应该与只有一个参数的原始程序的答案相同。如果它们不同,那么你应该根据上述内容来确定你的程序应该做什么。尽量做出尽可能少的改变。增强程序以允许它从键盘接收两个参数并将结果显示在SPIM的控制台窗口中。如果任何输入参数是负数(小于零),则增强的程序应该在控制台中显示一个零。如何在MIPS程序集中添加参数?
这里是未增强的部分我的代码:
.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
+0
谢谢!所以我现在得到如何读写整数到控制台,但我很困惑如何将该实现添加到现有的程序。任何指针或建议? – 2015-03-05 06:03:30
好的,如果任何人都可以帮助那会很棒。我知道如何创建一个论点。我只是这样做:arg1:.word 5和arg2:.word 5.但我怎样才能得到这个键盘输入? – 2015-03-02 21:58:26
https://www.doc.ic.ac.uk/lab/secondyear/spim/node8.html。 – markgz 2015-03-02 22:28:18
mark gz我还是输了,你能帮忙还是找个类似的例子? – 2015-03-03 03:41:00