如何在使用MIPS
(QtSpim
模拟器)编译的MIPS
汇编程序中使用库(用c / c ++制作)?使用这个论坛,我可以在一个非常有才华的人@rkhb的帮助下使用英特尔汇编程序来做到这一点。这是他提供的解决方案:
how to use a library in masm or more specifcally a .lib file?
现在我想在MIPS
汇编中做同样的事情。既然我使用英特尔处理器并使用QtSpim
运行MIPS
汇编程序,那么在使用QtSpim
时如何才能执行此操作?
答案 0 :(得分:0)
要从汇编程序调用C编译函数(反之亦然),寄存器必须具有以下内容:
如果SPIM不支持加载可执行文件但只支持源代码,则可以创建静态链接的可执行文件并执行反汇编。
您可以将反汇编传递给SPIM模拟器。
请注意,“系统调用”指令(“syscall”或“syscall #n”)在不同的操作系统中具有不同的含义。如果库包含系统调用,则不能使用在SPIM中为Linux编写的库,反之亦然。
---编辑---
使用“-pic”开关编译的库函数必须使用“JALR $ t9”调用,因此寄存器25(“t9”)保存被调用函数的地址。