龙芯软件开发(9)--理解龙芯2E几个汇编问题
在以前的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指令了。跳转连接指令后面,除了跳转指令外其它指令都可以加入去。