好的,这是问题所在.我不得不写一个MIPS程序,它从用户那里获得了2个输入数字.然后,我必须编写一个代码,输出用户输入的2个数字的乘积,商和余数.
现在,这非常直截了当.但是,我没有意识到我们不能在程序中使用乘法和除法操作数.现在我不知道该怎么做因为我对如何在没有乘法和除法操作数的情况下这样做感到困惑.我只在整个程序中使用它两次,它工作正常,但我的教授不接受它,现在我很伤心.任何帮助,将不胜感激.谢谢
这是我的代码
# Given positive integers a and b, output a/b and a%b.
.data
str1: .asciiz "Enter a: "
str2: .asciiz "Enter b: "
str3: .asciiz "a/b = "
str4: .asciiz "a%b = "
str5: .asciiz "a*b = "
newline: .asciiz "\n"
.text
main: li $v0, 4 # system call code for print_string
la $a0, str1 # address of str1
syscall # print str1
#get the first number from user, put it into $s0
li $v0, 5 # system …Run Code Online (Sandbox Code Playgroud) 我必须接受 2 个用户输入并找到乘积、商和余数。我也不能使用乘法或除法运算符。
我有乘法代码:
L1:
add $t2,$s1,$s0 #diving $s0 by $s1
bge $s1, $s0, EXIT # branch if ! ( i < k )
addi $s1, $s1, 1 # k++
add $t2, $s1, $s0 # i = i * 2
EXIT:
Run Code Online (Sandbox Code Playgroud)
我如何求商和余数?我尝试将所有adds 更改为subs 但没有成功。
mips ×2