MIPS循环条件,这会有效吗?

时间:2015-04-18 22:09:44

标签: 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

我的教授曾经说过这个循环条件会起作用,对不起,这个c代码只是一个for循环,条件为i< = 1024和mult操作。

但是我不知道这是如何工作的,关于相对位置,我认为r5需要预先加载一些值才能使条件起作用。同样在c中我们增加一个,但是在mips中我们增加8,这是字节可寻址的内存,8个字节,2个字用于浮点数。但是我仍然没有得到如何转换为1024次迭代。

0 个答案:

没有答案