0

大きな数 (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 未満の数に対してのみ機能します。修正方法がわかりません。誰かが私を助けることができますか?

PS私の悪い言語で申し訳ありません。

4

1 に答える 1