Ошибка компиляции mips32

Я пытаюсь скомпилировать код MIPS32 на виртуальной машине. Остальная часть программы выполнена на C-коде.
Вот проблемный код:

"# include "ordenamiento.h"
"# a0 is the pointer to char **, a1 is the start (int), a2 is the end (int)
.overall stoogeSort

.Set noreorder

.cpload $t9

.September reorder

.cprestore

.ent stoogeSort

"#arming the stack
stoogeSort:
addiu $ sp, -32

sw $ fp, 28 ($ sp)
$ sw gp, 24 ($ sp)
move $ fp, $ sp
sw $ a0, 32 ($ sp)
sw $ a1, 36 ($ sp)
sw $ a2, 40 ($ sp)
b CMP
FinComp: bgt $ t0, $ zero, noswap
Swap: addu $ t2, $ a0, $ a1
----
----
----
. stoogeSort end

Проблема в том, что при компиляции следующим образом gcc-c-O0 stoogeSort.S выдает мне следующие ошибки:

stooge.s: 1: Warning: line numbers must be positive, line number 0 rejected
stooge.s: 9: Error: illegal operands `sw $ a0, 32 ($ sp) '
stooge.s: 10: Error: illegal operands `sw $ a1, 36 ($ sp) '
stooge.s: 11: Error: illegal operands `sw $ a2, 40 ($ sp) '
stooge.s: 12: Error: unrecognized opcode `ba CMP '
stooge.s: 13: Error: illegal operands `bgt $ t0, $ zero, noswap '
stooge.s: 14: Error: illegal operands `addu $ t2, $ a0, $ a1 '
stooge.s: 15: Error: illegal operands `addu $ t3, $ a0, $ a2 '

Что я делаю неправильно? Почему я получаю эти ошибки?

1

Решение

Поскольку у вас есть ответ на ваш вопрос, лучше разместить его здесь, чтобы он был полезен для тех, кто приезжает сюда с той же проблемой.

Я выкладываю здесь ответ для вас.

Проблема была в пропаже "# include <mips/regdef.h>"

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]