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 "

所以我需要帮助来确定代码的作用......我有一个我只想确保我正确地弄清楚这一点的概念......所以到目前为止我有这个:

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