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