這是一個更簡單的解決方案。我不保存用戶輸入,而是保存到另一個寄存器。您可以將值保存到一個變量,然后再次獲取它,但這樣做沒有任何意義。 .data prom1: .asciiz "How many Hello World want to be printed: " out_string: .asciiz "\nHello World\n".textmain: li $v0, 4 la $a0, prom1 # Load address of first prompt syscall li $v0, 5 # Read int from user syscall li $t1, 0 # Load 0 into $t1 for comparison move $t0, $v0 # Move the user input to $t0loop: beq $t1, $t0, end # Break If Equal: branch to 'end' when $t1 == $t2 li $v0, 4 la $a0, out_string # Load address of output string syscall add $t1, $t1, 1 # Increment $t1 j loop # Jump back up to loop end: li $v0, 10 # Load sysca