1

在这个 MIPS 程序中

当这段代码片段运行时,一共会执行多少条指令?

i1: ori $t0, $0, 1000
i2: ori $t1, $0, 2000
i3: addi $t2, $t0, 100
i4: lw $t3, 0($t1)
i5: lw $t4, 0($t0)
i6: add $t3, $t3, $t4
i7: sra $t3, $t3, 1
i8: sw $t3, 0($t0)
i9: sw $t3, 0($t1)
i10: addi $t0, $t0, 4
i11: addi $t1, $t1, 4
i12: slt $t3, $t0, $t2
i13: bne $0, $t3, i4
4

1 回答 1

0

在每个循环中,它将 $t0 加 4,初始化为 1000。在循环结束时,它检查 $t0 是否大于 $t2,初始化为 1100。如果是,则循环中断。所以,它是最初的 13 条指令,每个周期加上 10 条指令,直到它中断。它会额外循环 25 次。而且我可能添加了错误,但如果没有,那就是 263 指令。

于 2012-04-30T17:09:59.090 回答