$a0 の $a1 乗を見つけるために使用される次のサブルーチンがあります。小さな整数では問題なく動作しますが、1000^6 のような値でも動作するようにしたいと考えています。$v1 に乗算用の hi レジスタを格納すればよいと考えていました。
だから私の主な質問は、「1 つが 32 ビットより大きい 2 つの整数をどのように乗算するのですか?」ということだと思います。
pow:
li $v0, 1
pow_loop:
ble $a1, $zero, pow_conclude
mult $v0, $a0
mflo $v0
addi $a1, $a1, -1
j pow_loop
pow_conclude:
jr $ra