Ассемблер MARS MIPS выдает ошибку: Расширенная (псевдо) инструкция или формат не разрешены

В Mars (IDE для MIPS) я обнаружил действительно странные ошибки. Пример кода выглядит так

.text
.globl main
  main : 
  la $a0, msg
  li $v0, 4
  syscall
.data
  msg: .asciiz "Hello World"

и сообщение об ошибке:

Расширенная (псевдо) инструкция или формат не разрешены. См. Настройки.


person user2340307    schedule 01.05.2013    source источник
comment
Какая-нибудь конкретная строка, дающая сообщение?   -  person Joachim Isaksson    schedule 01.05.2013


Ответы (3)


LA - это Псевдо-инструкция. Ассемблер переводит LA в две инструкции MIPS. Вероятно, вам нужно включить псевдо-инструкции в настройках Mars, поскольку очень утомительно писать ассемблер MIPS без использования псевдо-инструкций.

person markgz    schedule 01.05.2013

Можно ли ставить пробел после вашего ярлыка на main :? Это мое предположение. Кроме того, возможно, вы сохранили файл с разрывами строк DOS вместо UNIX - или, может быть, это Unicode vs ASCII для вашего формата файла. Я бы также поискал дополнительный «экзотический» символ в номере строки, который указывает ассемблер.

person Michael Dorgan    schedule 01.05.2013
comment
Большое спасибо, я не проверял использование псевдокода - person user2340307; 02.05.2013

Главное меню, Настройки -> Разрешить расширенные (псевдо) инструкции и форматы - необходимо установить этот флажок в Mars v4.3.

person grask0    schedule 06.07.2013