Loops MIPS循环条件下,这是否有效?

Loops MIPS循环条件下,这是否有效?,loops,assembly,mips,Loops,Assembly,Mips,假设我们有一个mips代码,如下所示 loop: ld f2, 0(r1) ;X[i] ld f3, 0(r2) ;Y[i] mult f4, f2, f3 sd f4, 0(r2) ;Y[i]=Y[i]*X[i] addi r1, r1, #8 ; addi r2, r2, #8 ; sub r3, r5, r2 ; bnz r3, loop ;this is what I don't get

假设我们有一个mips代码,如下所示

loop: ld f2, 0(r1)  ;X[i]
      ld f3, 0(r2)  ;Y[i]
      mult f4, f2, f3
      sd f4, 0(r2)  ;Y[i]=Y[i]*X[i]
      addi r1, r1, #8 ;
      addi r2, r2, #8 ;
      sub r3, r5, r2  ;
      bnz r3, loop    ;this is what I don't get

我的教授曾经说过这个循环条件会起作用,对不起,这个循环的c代码只是一个带有条件ir5的for循环,需要预加载是的,这是绝对正确的。因此,请看一下在前面的代码中是如何设置的。大概是结束指针,最初是r5=r2+1024*8或者类似的。是的,就是这样,他没有预加载任何东西。但我现在相信你的答案,对我来说是有意义的。