MIPS / UP16分支指令

时间:2017-04-19 04:58:54

标签: assembly mips

我有我的学校项目,并在其写的纸上

AVAudioSession

所以在第3行,指令SET中的BEQ是

1 nop
2 add $1, $2;    //RF[1]=RF[1]=RF[2]
3 beq $1, $3, #1 //if (RF[1]==RF[3]) skip inst 5
4 nop
5 add $4, $1     //RF[4]=RF[4]+RF[1]
6 add $5, $1     //RF[5]=RF[5]+RF[1]

所以不会,PC在(3 + 1 + 1)= 5而不是跳过指令5?

1 个答案:

答案 0 :(得分:0)

nop之后有一个可疑的beq,所以你应该在手册中查看MIPS是否有延迟分支,这意味着在分支之前,下一条指令将总是被执行。然后,此指令可能会计入pc

(只是猜测,因为我不知道MIPS,但是Wikipedia does。)