Assembly SPIM中的MIPS宏出现问题

Assembly SPIM中的MIPS宏出现问题,assembly,macros,mips,spim,Assembly,Macros,Mips,Spim,我正在努力让宏在我的实验室代码中工作。我就是这样写的: .macro print_char($arg) li $v0, 11 add $a0, $zero, $arg syscall .end_macro 我认为它相对于其他标签的位置并不重要,但它在.data之后和.text之前。SPIM给了我以下语法错误: spim: (parser) syntax error on line 11 of file /Users/charliecooper/Cabrillo/comp

我正在努力让宏在我的实验室代码中工作。我就是这样写的:

.macro print_char($arg)
    li $v0, 11
    add $a0, $zero, $arg
    syscall
.end_macro
我认为它相对于其他标签的位置并不重要,但它在.data之后和.text之前。SPIM给了我以下语法错误:

spim: (parser) syntax error on line 11 of file /Users/charliecooper/Cabrillo/compsci/cs24/MIPS_code/name_swap.s

      .macro printchar($arg)

我写宏的方式有明显的问题吗?

如果有人发现@Michael的这篇文章在评论中是正确的:宏是MARS中的一项功能,而不是SPIM。

SPIM不支持宏AFAIK。在将代码传递给SPIM之前,您必须使用某种预处理器,或者您可以尝试使用MARS而不是SPIM。@Michael谢谢,我很困惑,因为我的教科书教宏,而我们班使用QtSpim。