0
在讲座中,我们的教授说,使用bne
分支而不是使用beq
(并让我们弄清楚)如下所示。MIPS - 分支会议与沟通
if (i == j)
i++ ;
j-- ;
其编译成
bne $r1, $r2, L1 # branch if ! (i == j)
addi $r1, $r1, 1 # i++
L1: addi $r2, $r2, -1 # j--
另外,in this link,它也被暗示,这是一个惯例在MIPS组件以实现否定方式条件分支。我最好的选择是,这是为了保持常见情况简单 - 因此速度很快 - 因为直观地说,如果我们检查平等,那么我们预计它更可能变得相等,并且因此PC在不是时分支等于。我想我只是努力使之合理,但我仍然无法区分在beq
或bne
中执行它的核心区别。如果有人解释为什么,我会很感激。
啊哈我认为这个问题不仅是把一个分支,而是写一个更多的指令来完成整体功能。 –
这可能不是首选,因为在指令存储器中占用大量空间。但是,我想知道,如果我们使用if-else会怎样?它再次使用相同的否定模式,即使我相信我们并不一定需要。 –