0

次の QtSPIM/MIPS コードは何をしますか。コードのさまざまなブロック(Block1、Block2、…)の機能を参照して説明します。

特定の指示の前にある質問に答えます。

Block1:

.text

main:

li $s4, 0

la $a0, input

li $v0, 4

syscall

li $v0, 5

syscall

move $t0, $v0 #Why do we need this?

Block2:

la $a0, output

li $v0, 4

syscall

move $a0, $t0

li $v0, 1

syscall

la $a0, newline # How will the output change if newline is replaced by newspace defined as “ “?

li $v0, 4

syscall

Block3:

Do:

move $a0, $s4

li $v0, 1

syscall

la $a0, newline

li $v0, 4

syscall

slt $s1, $s4, $t0

addi $s4, $s4, 1

bgt $s1, $zero, Do # Why can’t we use “beq $s1, 1, Do “?

Block4:

Exit:

li $v0, 10

syscall



.data

input: .asciiz "Input a number: "

output: .asciiz "Let me count till "

newline: .asciiz "\n "

だから私はコードが何をするかを特定するのに助けが必要です...私はただ欲しいという概念を持っていますo私がこれを適切に理解していることを確認してください...だから私はこれまでのところこれを持っています:

move $t0, $v0 #Why do we need this?  --- to store number in t0

la $a0, newline # How will the output change if newline is replaced by newspace defined as “ “?
---  load address of string to be printed into $a0 and adds the space if replaced by newspace

最後がよくわからない…

4

0 に答える 0