我可以制作一个方法并在数组上使用它吗?例如像这样在java:bubbleSort(a)
,或者它只能跳转到标签的东西?如何实现MIPS方法
0
A
回答
1
看一看jal
和jr
,$fp
,$sp
和MIPS调用约定(S)
是的,你就无法摆脱的标签东西
0
的问题是,你不能以你用高级语言思考的方式思考汇编。这是一个完全不同的世界。
你没有方法,你没有循环。有条件的分支和跳跃是你所有的。忘记语言施加的执行控制 - 你已经回到了GOTO为王的土地。所以就像@deviantfan说的那样,你将不得不习惯jal
(跳转和“链接”,也就是保存电脑$ra
)和jr $ra
。
而你没有阵列。你甚至没有变数,而不像HLL那样。范围的想法是完全陌生的。你所拥有的全部是寄存器,属于谁把东西放进去。和内存位置,可以由任何人写。如果你想考虑像变量那样的东西,记住它们都是全局变量。这就是MIPS调用约定@deviantfan提到的地方。如果你写了一个函数(也就是说,用jal
调用的一段代码以jr $ra
结尾,那么要遵循这些约定,所以你不要把垃圾放到你的调用者的寄存器,并且完全取决于你确定你正在写入的数据在你的意思之内,并且不会覆盖别人正在使用的内存位置,因为没有“字符串”的概念,或者 - 只是一堆可能包含从ASCII任何形式的数据,以浮点数字字节
这就是电脑如何真正工作其他一切的HLL给你只是抽象(又名糖衣)进行。编程更简单,更可靠。
相关问题
- 1. 以mips实现LRU
- 2. 如何在MIPS中实现NOT操作?
- 3. 排序算法实现在MIPS
- 4. 如何实现自方法
- 5. 如何实现readinto()方法
- 6. 如何实现IDispatch方法?
- 7. 如何实现GestureListener.onFling()方法
- 8. 如何实现containsAll方法
- 9. 如何实现方法isMyDeviceATablet()?
- 10. 如何实现can()方法?
- 11. 如何实现ICollection.CopyTo方法?
- 12. 如何实现onShowCustomView方法?
- 13. 实现方法
- 14. C#如何实现“单身”的方法
- 15. JavaScript核心方法如何实现?
- 16. 如何实现返回Stream的方法?
- 17. 内部如何实现扩展方法
- 18. 如何正确实现onDestroy方法?
- 19. 如何返回实现从方法
- 20. 如何实现Linq OrderBy方法?
- 21. 如何在WPF中实现System.currentTimeMillis()方法?
- 22. 如何查看Type.InvokeMember方法的实现?
- 23. 如何实现从子类方法
- 24. 如何使用futex实现此方法?
- 25. 如何在XStream中实现omitType方法?
- 26. 如何在IBAction中实现NSArray方法?
- 27. 我该如何实现onActivityResult方法
- 28. 如何实现钻石平方算法?
- 29. 如何实现方法覆盖接口
- 30. 如何实现UIApplicationDelegate的协议方法?