假设从 main 中的第一行开始计算代码中 R、I 和 J 指令的数量。我已将代码更新为所有建议,但结果似乎仍然不正确。:(
编辑:添加了这些语法更改,变量似乎工作得更好,但循环似乎根本没有正确运行。任何人都看到任何明显的问题?
EDIT2:如何更改循环以使 $t1 一次通过 1 个指令集旋转?除了新 mips 用户的愚蠢语法之外,这是我现在的关键问题。
EDIT3:我已将代码更新为所有建议,但结果似乎仍然不正确。:(
.text
Main:
la $t1, 0x400000
li $t5, 0
li $t3, 2
li $t4, 3
li $t2, 0
la $s0, 0x400000
loop:
lw $t1, 0($s0)
addi $s0, 4
addi $t5, 1
beq $t5, 20 exit
srl $s4, $t1, 26
beq $s4, $t2 R
beq $s4, $t3 J
beq $s4, $t4 J
addi $s3, 1
j loop
R:
addi $s1, 1
j loop
J:
addi $s2, 1
j loop
exit:
sw $s1, RType
sw $s2, JType
sw $s3, IType
jr $ra