MIPS с плавающей точкой добавить
Я пытаюсь сделать простую функцию, которая добавляет к плавающим аргументам, передаваемым в MIPS. Ранее я сделал простой код для добавления целых:
move v0,a0
add v0,v0,a1
j ra
Копируя его, я сделал что-то похожее для поплавков
l.d $f0,0($a0)
l.d $f2,0($a1)
add.d $f0,$f0,$f2
j ra
Что приводит к ошибке компиляции:
Error: illegal operands `l.d'
Я думаю, это из-за того, что я пытаюсь получить аргументы от a0. Как я должен получать двойные аргументы с плавающей запятой, добавляя их и возвращая их.
заранее спасибо
2 ответа
Решение
Я видел свою ошибку. Пришлось передать их по ссылке и уважать ABI:) Спасибо
Пытаться ldc1
вместо l.d
, l.d
скорее всего, макрос и по какой-то причине он не определен / недоступен.