Проблема с макросами MIPS в SPIM

#assembly #macros #mips #spim

#сборка #макросы #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/compsci/cs24/MIPS_code/name_swap.s

      .macro printchar($arg)
  

Есть ли заметная проблема с тем, как я написал макрос?

Комментарии:

1. SPIM не поддерживает макросы AFAIK. Вам либо придется использовать какой-то предварительный процессор перед передачей кода в SPIM, либо вы можете попробовать использовать MARS вместо SPIM.

2. @Michael Спасибо, я был в замешательстве, потому что в моем учебнике преподавались макросы, а наш класс использует QtSpim.

Ответ №1:

На случай, если кто-нибудь найдет этот пост, @Michael прав в комментариях: макросы — это функция MARS, а не SPIM.