在以前的MIPS机器里,都需要进行如下处理:
1.
加载或保存到内存.
2. lw $9, 0($8) ;
从内存里加载一个值到$9
3. nop ; $9
在这里还没有准备好,所以要跑多一条空指令来解决。
4. addiu $10, $9 ; $9
在这里已经从内存取值回来,可以使用了。
5.
分支和跳转.
6. jal myfunc ;
调用函数
7. move a0, s0 ;
这条指令在跳转前执行
8. addiu s0,s0,v0 ;
这条指令在跳转后执行。
不知道龙芯是否也需要这样编程吗?现在的龙芯2E是不需要再在加载和保存指令后面加NOP指令了。跳转连接指令后面,除了跳转指令外其它指令都可以加入去。