MIPS功课,大数量的阶乘

时间:2013-06-08 10:13:04

标签: mips factorial

我必须编写计算大数(例如200)的阶乘的程序。这对我来说非常重要。这是我的代码:

  .text
    main:
    li $v0, 4
    la $a0, prompt
    syscall

    li $v0, 5
    syscall
    move $s0, $v0
    move $t1, $v0
    li $t0, 1
    loop:
    mul $t0, $t0, $s0

    addi $s0, $s0, -1
    bgtz $s0, loop

    li $v0, 1
    move $a0, $t0
    syscall

    li $v0, 10
    syscall

    .data
    prompt: .asciiz "\nGive a number: "

此程序仅适用于少于31的数字。我不知道如何修复它。有人可以帮帮我吗?

P.S抱歉我的语言不好。

1 个答案:

答案 0 :(得分:1)

这个家庭作业的重点是学生在MIPS中实现任意精度整数加法和乘法,然后用它来实现因子算法。 Here是伪代码中任意精度阶乘的示例。