Je suis en train d'écrire un programme Mips factoriel. J'ai écrit l'exemple factoriel dans Java, et j'ai aussi le programme MIPS sous le code java. J'ai la majorité du MIPS écrit, mais je suis confus pourquoi il ne traite pas correctement. Tous les conseils seraient grandement appréciés.MIPS programmation de base pour boucle
Java code for the iteratve factorial algorithm:
import java.util.Scanner;
public class FactorMachine {
public static void main(String[] args) {
int input;
Scanner in = new Scanner(System.in);
System.out.println("Enter an integer to be factored: ");
input = in.nextInt();
{
int x, factorial = 1;
for (x = input; x > 1; x--)
factorial *= x;
System.out.println("Factorial #" + input + " is " + factorial);
}
}
}
CODE MIPS:
.data
p1: .asciiz "Enter an integer to be factored: "
ans1: .asciiz "Factorial # "
ans2: .asciiz " is "
ans3: .asciiz "\n\n"
.text
.globl main
main: li $v0, 4
la $a0, p1
syscall
li $v0, 5
syscall
move $t0, $v0 #this is input
li $t1, 1 #initilize factorial
move $t2, $t0 #initilize x
loop:
blt $t2, 1, done
sub $t2, $t2, 1
mul $t3, $t1, $t0
j loop
done:
li $v0, 4
la $a0, ans1
syscall
li $v0, 1
move $a0, $t3
syscall
jr $ra
Va certainement dans les langues en perspective. –