0
私は次の問題をあなたの助けが欲しいと思います。アセンブリ:次のコードおよび一般的なメモリスタックに値を保存する必要があります
私は引数としてnを受け取り、それがMIPSアセンブリの立方体であるかどうかを調べる関数is_cubeを実装するように頼まれました。たとえば、8(2^3)と1000(10^3)はキューブです。 $sp
と、このプロセスのすべてによってスタック内$s0
を保存せずに、
# UNTITLED PROGRAM
.data
str: .asciiz "Please enter your number >"
str1: .asciiz "The number is a cube"
str2: .asciiz "The number is not a cube"
.text
main:
li $v0 4
la $a0 str
syscall
li $v0 5
syscall
move $t0 , $v0
li $t1, 0
blt $t0, $zero, negative
negative:
sub $t5, $zero, 1
mul $t0, $t0, $t5
is_cube:
addi $t1, $t1, 1
sgt $t2, $t1, $t0
bne $t2, $zero, There_is_not
mul $t3, $t1, $t1
mul $t4 ,$t3, $t1
beq $t4, $t0, There_is
jal is_cube
There_is:
li $v0 4
la $a0 str1
syscall
jal end
There_is_not:
li $v0 4
la $a0 str2
syscall
jal end
end:
、それが動作します:
は、私は、次のコードを書きました。私の質問です:それはそれを保存していないですか?もしそうなら、私はそれをいつ使うべきですか?ありがとうございます。
質問が分かりません。あなたはどこにでも$ s0を使用していません...なぜあなたはそれを保存しますか? – m0skit0